> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS p12 sertifika oluşturma

> iOS veya macOS uygulamanızı OneSignal aracılığıyla Apple Push Notification service (APNs) ile bağlamak için bir .p12 push sertifikası oluşturun ve yükleyin.

iOS uygulamalarına push bildirimleri göndermek için Apple Push Notification service (APNs) ile kimliği doğrulanmış bir bağlantı gereklidir. **[Token tabanlı (.p8 anahtarı)](./ios-p8-token-based-connection-to-apns)** veya **sertifika tabanlı (.p12 dosyası)** yöntemini kullanarak kimlik doğrulayabilirsiniz — ancak yalnızca biri gereklidir.

<Warning>
  .p12 Sertifikalarının süresi bir yıl sonra dolar. Bu sertifikanın yenilenmesini yönetmek istemiyorsanız, bunun yerine süresi dolmayan bir [.p8 anahtarı oluşturabilirsiniz](./ios-p8-token-based-connection-to-apns).
</Warning>

Bu kılavuz, **sertifika tabanlı (.p12 dosyası)** yöntemini kapsar. Bu önerilmez çünkü her yıl yenilemeniz gerekir. Bu, her yıl yeni sertifikayı oluşturmak için Apple Developer Hesabınıza giriş yapmayı ve OneSignal kontrol panelinize yüklemeyi içerir.

***

## Gereksinimler

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

* Bir iOS veya macOS uygulaması.
* [**Yönetici** erişimi](https://appstoreconnect.apple.com/access/users) olan [**Ücretli Apple Developer Hesabı**](https://developer.apple.com/).
* Bir [**OneSignal Hesabı**](https://onesignal.com).
* Xcode 14+ ile bir Mac.
* Xcode'da ayarlandığı şekilde uygulama hedefiniz için **Bundle ID**.
* **Push Notification yetkisi etkin** bir Xcode projesi.

***

## Sertifika İmzalama İsteği (CSR) oluşturma

Önce macOS'ta bir `.certSigningRequest` dosyası oluşturmanız gerekir.

1. **Uygulamalar > Yardımcı Programlar > Anahtarlık Erişimi**'ni açın.

2. Menü çubuğundan **Anahtarlık Erişimi > Sertifika Asistanı > Bir Sertifika Yetkilisinden Sertifika İste...**'ye tıklayın.

<Frame caption="Mac anahtarlık erişimi">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0d53d2a7d0a7992bb646cda2c10b2e3f" alt="Sertifika Asistanı seçeneğini gösteren Anahtarlık Erişimi menüsü" width="709" height="314" data-path="images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png" />
</Frame>

3. Gerekli alanları doldurun:
   * **Kullanıcı E-posta Adresi**: `[email protected]`
   * **Genel Ad**: Adınız veya sertifika için ad
   * **CA E-posta Adresi**: Bunu boş bırakın
   * **İstek**: **Diske kaydedildi**'yi seçin

<Frame caption="Sertifika Asistanı penceresi">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=d78feadfda1f4a2c71806f8ab10edd04" alt="E-posta, genel ad ve Diske kaydedildi alanlarını gösteren Sertifika Asistanı penceresi" width="728" height="554" data-path="images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png" />
</Frame>

4. **Devam Et**'e tıklayın, `.certSigningRequest` dosyasını kaydetmek için bir konum seçin ve **Kaydet**'e tıklayın.

***

## Uygulama için push yeteneklerini etkinleştirme

<Note>
  Xcode'da **Otomatik imza yönetimi** kullanıyorsanız bu bölümü atlayın.
</Note>

1. Apple Developer portalının [Tanımlayıcılar](https://developer.apple.com/account/ios/identifier/bundle) bölümüne gidin, listeden uygulamanızın **App ID**'sini bulun ve seçin.

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=05b2003fb8c2fcd9131c44a793a0aba3" alt="App ID listesini gösteren Apple Developer Tanımlayıcılar bölümü" width="894" height="319" data-path="images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png" />
</Frame>

2. Kutuyu işaretleyerek **Push Notifications** yetkisini etkinleştirin.

<Warning>
  **"Configure"** üzerine **tıklamayın** — sadece geçişi etkinleştirin.
</Warning>

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=ba0781029d19036ddad3db3e45037d2b" alt="Push Notifications onay kutusu etkin App ID yetenekleri listesi" width="2008" height="142" data-path="images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png" />
</Frame>

***

## Push sertifikası oluşturma

Apple Push Notification service (APNs) SSL sertifikasını oluşturmak için şu adımları izleyin:

1. [Apple Certificates sayfasını](https://developer.apple.com/account/resources/certificates/add) ziyaret edin.

2. Yeni bir sertifika oluşturmak için **artı (+)** düğmesine tıklayın.

3. **Services** altında şunları seçin:

   * **Apple Push Notification service SSL (Sandbox & Production)**
   * Ardından **Continue**'ya tıklayın

   <Frame>
     <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=6e0d0bb4d73dab95c32a0dc96d740723" alt="Apple Push Notification service SSL Sandbox ve Production seçeneğini gösteren Apple Certificates sayfası" width="896" height="865" data-path="images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png" />
   </Frame>

4. Listeden **App ID**'nizi seçin ve **Continue**'ya tıklayın.

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=af9f0fb1fefed645b5ebefc6964d0d2d" alt="Push sertifikası için App ID seçim açılır menüsü" width="897" height="366" data-path="images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png" />
</Frame>

5. Daha önce oluşturduğunuz `.certSigningRequest` dosyasını yükleyin.

<Frame>
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=1ca586cee9190e53ea681b411e36a786" alt="Sertifika İmzalama İsteği dosyası yükleme iletişim kutusu" width="662" height="626" data-path="images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png" />
</Frame>

6. **Continue**'ya tıklayın, ardından ortaya çıkan `.cer` dosyasını bilgisayarınıza kaydetmek için **Download**'a tıklayın.

<Frame>
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=e81079a2a25e6e82ed0eb9f1204ab774" alt="Oluşturulan .cer sertifika dosyası için İndir düğmesi" width="924" height="368" data-path="images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png" />
</Frame>

`.p12` sertifikanızı oluşturmak için bu `.cer` dosyasını bir sonraki bölümde kullanacaksınız.

***

## Özel anahtar oluşturma ve .p12 sertifikasını dışa aktarma

1. İndirilen `.cer` dosyasını **Anahtarlık Erişimi**'ne aktarmak için **Çift tıklayın**.

2. Anahtarlık Erişimi'nde şuraya gidin:

   * **Anahtarlıklar > Giriş**
   * **Kategori > Sertifikalarım**

3. **Apple Push Services** adlı sertifikayı bulun.

4. Sertifikaya **Sağ tıklayın** ve **Dışa Aktar**'ı seçin.

<Frame caption="Dışa aktarma, istediğiniz dosya konumunda bir .p12 dosyası oluşturacaktır">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=ce1453c325f0ad6790754f25a7a1a506" alt="Apple Push Services sertifikası için Dışa Aktar seçeneğini gösteren Anahtarlık Erişimi sağ tıklama menüsü" width="960" height="720" data-path="images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png" />
</Frame>

5. Dosyayı kaydetmek için bir konum seçin ve dosya formatını **`.p12`** olarak seçin.

6. İstendiğinde, `.p12` dosyası için bir **şifre** belirleyin. OneSignal'e yüklerken bu şifreye ihtiyaç duyacaksınız.

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=58e96cbb675ff90014c37e7fd1852975" alt=".p12 dosya formatı seçimi ve şifre isteğini gösteren Kaydet iletişim kutusu" width="918" height="558" data-path="images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png" />
</Frame>

***

## .p12'yi OneSignal'e yükleme

1. [OneSignal kontrol panelinizde](https://onesignal.com), uygulamanıza gidin > **Ayarlar > Push & In-App > Apple iOS**.
2. `.p12` dosyasını yükleyin (ve bir şifre ayarladıysanız girin). **Kaydet**'e tıklayın.

<Check>
  OneSignal'de **bir .p12 sertifikası kullanarak APNs kimlik doğrulamayı** başarıyla kurdunuz.

  iOS uygulamanız artık push bildirimleri göndermeye ve almaya hazır! 🎉
</Check>

***

## .p12 sorun giderme

### Geçersiz sertifika formatı hatası

**Neden:** Yüklenen dosya `.p12` formatında değil.

**Düzeltme:** Sertifikayı Anahtarlık Erişimi'nden **`.p12` olarak** dışa aktardığınızdan emin olun (`.cer` veya `.pem` değil).

### OneSignal'e yüklerken "Yanlış şifre"

**Neden:** Şifre yanlış girildi veya ayarlanmadı.

**Düzeltme:**

* Tekrar dışa aktarmayı deneyin ve **yeni bir şifre** ayarlayın.
* Yapıştırırken fazladan boşluk eklenmediğinden emin olun.
* Provisionator kullanıyorsanız, şifre kullanıcı arayüzünde gösterilir.

### Dışa aktarılan dosyada eksik özel anahtar

**Neden:** Sertifika içe aktarıldı ancak özel bir anahtarla eşleştirilmedi.

**Düzeltme:**

* Aynı makinede Anahtarlık Erişimi'nden **CSR'yi oluşturduğunuzdan** emin olun.
* `.cer` dosyasını indirdikten sonra, kurmak için çift tıklayın ve anahtarın **Sertifikalarım** altında göründüğünü kontrol edin.

### Yüklemeden sonra push bildirimleri çalışmıyor

**Neden:** Yanlış App ID veya Sağlama Profili eksik yetenekler.

**Düzeltme:**

* `.p12`'nin uygulamada kullanılan **App ID** ile eşleştiğini doğrulayın.
* Apple Developer Portalı'nda, App ID'nin **Push Notifications etkin** olduğundan emin olun.
* Sağlama Profili'nin **Push** içerdiğinden emin olun.

### Süresi dolmuş sertifika

**Neden:** `.p12` sertifikası artık geçerli değil.

**Düzeltme:**

* Apple Developer > Sertifikalar'a gidin ve son kullanma tarihini kontrol edin.
* Eski sertifikayı iptal edin ve yeni bir tane oluşturun.

***

## Sonraki adımlar

<Columns cols={2}>
  <Card title="iOS SDK kurulumu" icon="apple" href="./ios-sdk-setup">
    OneSignal SDK'sını yükleyin, uygulamanızda başlatın ve bir test bildirimi gönderin.
  </Card>

  <Card title="Mobil SDK kurulumu" icon="mobile" href="./mobile-sdk-setup">
    Platformunuzu seçin ve Android, iOS veya çapraz platform çerçeveleri için tam SDK entegrasyon kılavuzunu izleyin.
  </Card>
</Columns>

***

## FAQ

### .p12 sertifikam ne zaman sona erer ve nasıl yenilerim?

.p12 sertifikaları oluşturulduktan **bir yıl** sonra sona erer. Yenilemek için yeni bir CSR oluşturun, Apple Developer'da yeni bir push sertifikası oluşturun, .p12 olarak dışa aktarın ve OneSignal kontrol panelinize yeniden yükleyin. Kesinti yaşamamak için takvim hatırlatıcısı ayarlayın. Alternatif olarak, süresi dolmayan bir [.p8 anahtarına](./ios-p8-token-based-connection-to-apns) geçin.

### .p8 mi yoksa .p12 mi kullanmalıyım?

OneSignal, çoğu uygulama için **.p8 anahtarlarını** önerir. Bir .p8 anahtarı sona ermez, Apple Developer hesabınızdaki tüm uygulamalarda çalışır ve yönetimi daha basittir. Bir .p12 sertifikası uygulamaya özgüdür ve her yıl yenilenmesi gerekir. Kurulum talimatları için [.p8 anahtarı kılavuzuna](./ios-p8-token-based-connection-to-apns) bakın.

### Bir sağlama profiline ihtiyacım var mı ve nasıl oluşturulur?

Evet, Apple geliştirme, test (Ad Hoc) ve App Store'a dağıtım için farklı profil türleri gerektirir.

Xcode'da, otomatik olarak bir tane oluşturmak için **Automatically manage signing** seçeneğini seçebilmelisiniz.

<Frame>
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=794544ccd6d05744f053386b2a961c74" alt="Otomatik imza yönetimi etkin Xcode İmzalama ve Yetenekler sekmesi" width="2058" height="632" data-path="images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

Aksi takdirde, ayrıntılar için [Apple'ın sağlama profilleri hakkındaki belgelerine](https://developer.apple.com/help/account/provisioning-profiles/provisioning-profile-updates) bakın.

***
