> ## 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 p8 token tabanlı APNs bağlantısı

> OneSignal aracılığıyla iOS veya macOS uygulamanızı Apple Push Notification service'e (APNs) bağlamak için bir .p8 kimlik doğrulama anahtarı ayarlayın.

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

Bu kılavuz, önerilen yaklaşım olan **token tabanlı .p8 anahtarı** kurulumunda size yol gösterecektir.

***

## Gereksinimler

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

* Bir iOS mobil 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.
* **Push Notification yetkisi etkin** bir Xcode projesi.

***

## APNs kimlik doğrulamasını ayarlama

### Apple Developer Hesabınızda .p8 anahtarınızı oluşturun

<Tip>
  Apple'ın tam talimatları için bkz. [Bir hizmete erişmek için özel anahtar oluşturma](https://developer.apple.com/help/account/keys/create-a-private-key/).
</Tip>

1. [Apple Developer Hesabınıza](https://developer.apple.com/) giriş yapın.
2. **Certificates, Identifiers & Profiles > [Keys](https://developer.apple.com/account/resources/authkeys)**'e gidin.
3. **Mavi artı (+)** simgesine tıklayın.
   * Görmüyorsanız, erişim için Yöneticinizle iletişime geçin.

<Frame>
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1e2ff6e-Apple_Key_Page.jpg?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=695489e801fe6cb492ed826e0ea2c22b" alt="Yeni anahtar oluşturmak için mavi artı simgesini gösteren Apple Developer Anahtarlar sayfası" width="2616" height="884" data-path="images/docs/1e2ff6e-Apple_Key_Page.jpg" />
</Frame>

4. **Apple Push Notifications service (APNs)** seçin.
5. Anahtarı yapılandırırken, **Sandbox & Production**'ın seçili olduğundan emin olun:

<Frame>
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/p8-sandboxandproductionkey.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=1f04581e46bd74cdbc27792b243b952b" alt="Sandbox ve Production seçili Apple Developer anahtar yapılandırması" width="1232" height="495" data-path="images/docs/p8-sandboxandproductionkey.png" />
</Frame>

6. Anahtar için bir ad girin ve **Continue**'ya, ardından **Register**'a tıklayın.

<Frame>
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/312d551-Apple_Key_Page_-_Register.jpg?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=9b88f0e1cdb3fbdba05357ef988a1165" alt="Continue ve Register düğmelerini gösteren Apple Developer anahtar kayıt sayfası" width="2622" height="922" data-path="images/docs/312d551-Apple_Key_Page_-_Register.jpg" />
</Frame>

7. **.p8 anahtarınızı indirin** ve güvenli bir şekilde saklayın. Bir daha indiremezsiniz.

<Warning>
  Yeni bir .p8 oluşturmanız gerekiyorsa ve zaten ikisi varsa, **önce mevcut anahtarlardan birini iptal etmelisiniz** — ve artık kullanılamayacaktır.
</Warning>

***

### .p8 anahtarını OneSignal'e yükleyin

1. OneSignal kontrol panelinizde **Ayarlar > Push & In-App > Apple iOS (APNs) Ayarları**'na gidin.

<Frame caption="OneSignal kontrol paneli push yapılandırma sayfası.">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/push-and-in-app-ios-settings.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=af9c2dedfc4c8f26f3aeee035cba5eb1" alt="Apple iOS APNs ayarlarını gösteren OneSignal Ayarlar sayfası" width="1188" height="654" data-path="images/dashboard/push-and-in-app-ios-settings.png" />
</Frame>

2. Kimlik doğrulama yöntemi olarak **.p8 Auth Key (Önerilen)** seçin.

<Frame caption="Bir p12 veya başka bir p8'den güncelliyorsanız, 'kimlik doğrulamayı güncelle' seçeneğine sahip olacaksınız">
  <img src="https://mintcdn.com/onesignal/NCUI56Tiw7V-s0dT/images/dashboard/apns-authentication-method-selection.png?fit=max&auto=format&n=NCUI56Tiw7V-s0dT&q=85&s=bb08d987da33025d482b107fc1db1045" alt="Önerilen p8 Auth Key seçeneğini gösteren OneSignal APNs kimlik doğrulama yöntemi seçimi" width="1188" height="844" data-path="images/dashboard/apns-authentication-method-selection.png" />
</Frame>

Aşağıdakileri sağlayın:

* **`.p8 File`** – Apple Developer hesabınızdan indirdiğiniz özel anahtar dosyası.
* **`Key ID`** – 10 karakterlik alfanümerik bir dize (örn. `ABC123DEFG`). Apple Developer hesabınızın [Keys bölümünde](https://developer.apple.com/account/resources/authkeys) anahtar adınızın yanında bulunur. İndirilen .p8 dosyasıyla eşleştiğinden emin olun.
* **`Team ID`** – 10 karakterlik alfanümerik bir dize (örn. `9A1B2C3D4E`). [Apple Developer hesabınızın](https://developer.apple.com/account/) sağ üst köşesinde ekip adınızın yanında görünür. Bu, Key ID ile **aynı değildir**.
* **`App Bundle ID`** – Ters etki alanı dizesi (örn. `com.example.app`). Şurada bulunur:
  * Apple Developer hesabınızın [Identifiers bölümü](https://developer.apple.com/account/resources/identifiers/list), veya
  * **Xcode > Main App Target > Signing & Capabilities**

<Warning>
  **Key ID** ve **Team ID**, Apple Developer hesabınızda bulunan ancak farklı konumlardaki 10 karakterlik dizelerdir. Bunları birbiriyle karıştırmadığınızı iki kez kontrol edin — bu, en yaygın yanlış yapılandırmadır.
</Warning>

<Frame caption=".p8 anahtar ayrıntılarınızı bulma">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=fc9c689b0880bda69813428ee7fdbe5f" alt="Key ID ve Team ID konumlarını gösteren Apple Developer hesabı" width="1445" height="506" data-path="images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png" />
</Frame>

<Frame caption="Xcode'da Bundle ID'nizi bulma">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=1ade7692a469b12376088ce5fac6c3c3" alt="Bundle Identifier alanını gösteren Xcode İmzalama ve Yetenekler sekmesi" width="2830" height="798" data-path="images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png" />
</Frame>

Bittiğinde **Save & Continue**'ya tıklayın.

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

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

***

## .p8 sorun giderme

<Steps>
  <Step title=".p8 dosya formatını kontrol edin">
    * `.p8` dosyasını bir metin düzenleyicide açın.

    * Şöyle görünmelidir:

      ```text theme={null}
      -----BEGIN PRIVATE KEY-----
      64 character line
      64 character line
      64 character line
      8 character line
      -----END PRIVATE KEY-----
      ```
  </Step>

  <Step title="Yanlışlıkla bir .p12 yüklemediğinizden emin olun">
    * `.p8` anahtarları Apple Developer hesabınızın **Keys** bölümünden gelir.
    * `.p12` sertifikaları **Certificates** bölümündendir. Bunlar .p8 kimlik doğrulamasıyla uyumlu değildir.
  </Step>

  <Step title="Doğru key id'ye sahip olduğunuzu onaylayın">
    * [Apple Developer > Keys bölümüne](https://developer.apple.com/account/resources/authkeys) gidin.
    * Key ID, anahtar adınızın yanında gösterilen 10 karakterlik dizedir (örn. `ABC123DEFG`).
    * OneSignal'e girdiğiniz Key ID'yi, indirilen `.p8` anahtarı için listelenen ile eşleştirin.
    * **Team ID ile karıştırmayın** — her ikisi de 10 karakterlik dizeler ama farklı yerlerde bulunur.
  </Step>

  <Step title="Team id'yi doğrulayın">
    * **Team ID**'niz [Apple Developer hesabınızın](https://developer.apple.com/account/) sağ üst köşesinde görünür.
    * Tam olarak kopyalandığından ve anahtarın oluşturulduğu hesapla eşleştiğinden emin olun.
    * **Key ID ile karıştırmayın** — Team ID, belirli bir anahtarı değil, geliştirici hesabınızı tanımlar.
  </Step>

  <Step title="Anahtarın apns yetkisine sahip olduğundan emin olun">
    * Apple Developer'da anahtarınızı görüntülerken, **Apple Push Notifications service (APNs)** yetkisi listelenmelidir.
    * Değilse, anahtarı iptal edin ve yeni bir tane oluşturun.
  </Step>

  <Step title="Birkaç dakika bekleyin">
    * Yeni oluşturulan anahtarların, Apple harici kimlik doğrulamaya izin vermeden önce yayılması **10–15 dakika** sürebilir.
    * Oluşturma işleminden hemen sonra doğrulama hataları alırsanız, bekleyin ve tekrar deneyin.
  </Step>
</Steps>

### Yardıma mı ihtiyacınız var?

* Mevcut `.p8` anahtarını iptal edin ve sıfırdan yeni bir tane oluşturun.
* Anahtarın oluşturulduğu hesaptan **geçerli bir Bundle ID** kullandığınızı iki kez kontrol edin.
* Key ID, Team ID, Bundle ID ve Apple Developer Key yapılandırmanızın redakte edilmiş bir ekran görüntüsü ile `support@onesignal.com`'a ulaşın.

***

## Sonraki adımlar

<Columns cols={2}>
  <Card title="iOS SDK kurulumu" icon="apple" href="./ios-sdk-setup">
    OneSignal SDK'yı yükleyin, uygulamanızda başlatın ve 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

### .p8 ve .p12 arasındaki fark nedir?

**.p8 anahtarı**, süresi dolmayan ve Apple Developer hesabınızdaki tüm uygulamalar için çalışan token tabanlı bir kimlik doğrulama anahtarıdır. **.p12 sertifikası** uygulamaya özgüdür ve bir yıl sonra sona erecek, yıllık yenileme gerektirecektir. OneSignal, basitliği ve düşük bakım maliyeti nedeniyle .p8'i önermektedir. Alternatif yöntem için [.p12 sertifika kılavuzuna](./ios-p12-generate-certificates) bakın.

### .p8 anahtarım sona erer mi?

Hayır. .p12 sertifikalarının aksine, .p8 anahtarlarının sona erme tarihi yoktur. Bir kez oluşturulduktan sonra, Apple Developer hesabınızda iptal edene kadar .p8 anahtarı geçerli kalır.

### Birden fazla uygulama için tek bir .p8 anahtarı kullanabilir miyim?

Evet. Tek bir .p8 anahtarı aynı Apple Developer hesabı altındaki tüm uygulamalar için çalışır. Aynı .p8 dosyasını birden fazla OneSignal uygulamasına yükleyebilirsiniz — her uygulamanın yalnızca kendi benzersiz Bundle ID'sine ihtiyacı vardır.

### 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/jFWn5xzleD8du3j6/images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=1f8f70d1078a89beb067d442690d6594" alt="Otomatik imza yönetimi etkin Xcode İmzalama ve Yetenekler sekmesi" width="2058" height="632" data-path="images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-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.

***
