> ## 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 토큰 기반 APNs 연결

> .p8 인증 키를 설정하여 OneSignal을 통해 iOS 또는 macOS 앱을 Apple Push Notification service(APNs)에 연결합니다.

iOS 앱에 푸시 알림을 보내려면 Apple Push Notification Services(APNs)에 대한 인증된 연결이 필요합니다. **토큰 기반(.p8 키)** 또는 **[인증서 기반(.p12 파일)](./ios-p12-generate-certificates)** 방법을 사용하여 인증할 수 있지만 하나만 필요합니다.

이 가이드는 권장되는 접근 방식인 **토큰 기반 .p8 키** 설정을 안내합니다.

***

## 요구 사항

시작하기 전에 다음 사항이 있는지 확인하세요:

* iOS 모바일 앱.
* [**Admin** 액세스](https://appstoreconnect.apple.com/access/users) 권한이 있는 [**유료 Apple Developer 계정**](https://developer.apple.com/).
* [**OneSignal 계정**](https://onesignal.com).
* Xcode 14+가 설치된 Mac.
* **푸시 알림 기능이 활성화된** Xcode 프로젝트.

***

## APNs 인증 설정

### Apple Developer 계정에서 .p8 키 생성

<Tip>
  Apple의 전체 지침은 [서비스에 액세스하기 위한 개인 키 만들기](https://developer.apple.com/help/account/keys/create-a-private-key/)를 참조하세요.
</Tip>

1. [Apple Developer 계정](https://developer.apple.com/)에 로그인하세요.
2. \*\*Certificates, Identifiers & Profiles > [Keys](https://developer.apple.com/account/resources/authkeys)\*\*로 이동하세요.
3. **파란색 플러스(+)** 아이콘을 클릭하세요.
   * 표시되지 않으면 액세스 권한을 위해 관리자에게 문의하세요.

<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="새 키를 만들기 위한 파란색 더하기 아이콘이 표시된 Apple Developer 키 페이지" width="2616" height="884" data-path="images/docs/1e2ff6e-Apple_Key_Page.jpg" />
</Frame>

4. \*\*Apple Push Notifications service (APNs)\*\*를 선택하세요.
5. 키를 구성할 때 **Sandbox & Production**이 선택되었는지 확인하세요:

<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와 Production이 선택된 Apple Developer 키 구성" width="1232" height="495" data-path="images/docs/p8-sandboxandproductionkey.png" />
</Frame>

6. 키 이름을 입력하고 **Continue**를 클릭한 다음 **Register**를 클릭하세요.

<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 및 Register 버튼이 있는 Apple Developer 키 등록 페이지" width="2622" height="922" data-path="images/docs/312d551-Apple_Key_Page_-_Register.jpg" />
</Frame>

7. **.p8 키를 다운로드**하고 안전하게 보관하세요. 다시 다운로드할 수 없습니다.

<Warning>
  새 .p8를 생성해야 하는데 이미 두 개가 있는 경우 **기존 키 중 하나를 먼저 취소해야** 하며 더 이상 사용할 수 없습니다.
</Warning>

***

### OneSignal에 .p8 키 업로드

1. OneSignal 대시보드에서 **Settings > Push & In-App > Apple iOS (APNs) Settings**로 이동하세요.

<Frame caption="OneSignal 대시보드 푸시 구성 페이지.">
  <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 설정을 보여주는 OneSignal 설정 페이지" width="1188" height="654" data-path="images/dashboard/push-and-in-app-ios-settings.png" />
</Frame>

2. 인증 방법으로 \*\*.p8 Auth Key (Recommended)\*\*를 선택하세요.

<Frame caption="p12 또는 다른 p8에서 업데이트하는 경우 '인증 업데이트' 옵션이 제공됩니다">
  <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="권장 p8 인증 키 옵션을 보여주는 OneSignal APNs 인증 방법 선택" width="1188" height="844" data-path="images/dashboard/apns-authentication-method-selection.png" />
</Frame>

다음을 제공하세요:

* **`.p8 File`** – Apple Developer 계정에서 다운로드한 개인 키 파일.
* **`Key ID`** – 10자리 영숫자 문자열(예: `ABC123DEFG`). Apple Developer 계정의 [Keys 섹션](https://developer.apple.com/account/resources/authkeys)에 있는 키 이름 옆에서 찾을 수 있습니다. 다운로드한 .p8 파일과 일치하는지 확인하세요.
* **`Team ID`** – 10자리 영숫자 문자열(예: `9A1B2C3D4E`). [Apple Developer 계정](https://developer.apple.com/account/) 오른쪽 상단의 팀 이름 옆에 표시됩니다. 이는 Key ID와 **다릅니다**.
* **`App Bundle ID`** – 역도메인 문자열(예: `com.example.app`). 다음에서 찾을 수 있습니다:
  * Apple Developer 계정의 [Identifiers 섹션](https://developer.apple.com/account/resources/identifiers/list), 또는
  * **Xcode > Main App Target > Signing & Capabilities**

<Warning>
  **Key ID**와 **Team ID**는 모두 Apple Developer 계정에 있는 10자리 문자열이지만 위치가 다릅니다. 서로 바꾸지 않았는지 확인하세요 — 이것이 가장 흔한 잘못된 구성입니다.
</Warning>

<Frame caption=".p8 키 세부 정보 찾기">
  <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 및 Team ID 위치를 보여주는 Apple Developer 계정" width="1445" height="506" data-path="images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png" />
</Frame>

<Frame caption="Xcode에서 Bundle ID 찾기">
  <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="번들 식별자 필드를 보여주는 Xcode 서명 및 기능 탭" width="2830" height="798" data-path="images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png" />
</Frame>

완료되면 **Save & Continue**를 클릭하세요.

<Check>
  OneSignal에서 **.p8 키를 사용한 APNs 인증** 설정을 성공적으로 완료했습니다.

  이제 iOS 앱이 푸시 알림을 보내고 받을 준비가 되었습니다! 🎉
</Check>

***

## .p8 문제 해결

<Steps>
  <Step title=".p8 파일 형식 확인">
    * 텍스트 편집기에서 `.p8` 파일을 여세요.

    * 다음과 같이 표시되어야 합니다:

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

  <Step title="실수로 .p12를 업로드하지 않았는지 확인">
    * `.p8` 키는 Apple Developer 계정의 **Keys** 섹션에서 가져옵니다.
    * `.p12` 인증서는 **Certificates** 섹션에서 가져옵니다. 이들은 .p8 인증과 호환되지 않습니다.
  </Step>

  <Step title="올바른 키 ID가 있는지 확인">
    * [Apple Developer > Keys 섹션](https://developer.apple.com/account/resources/authkeys)으로 이동하세요.
    * Key ID는 키 이름 옆에 표시된 10자리 문자열입니다(예: `ABC123DEFG`).
    * OneSignal에 입력한 Key ID와 다운로드한 `.p8` 키에 대해 나열된 Key ID가 일치하는지 확인하세요.
    * **Team ID와 혼동하지 마세요** — 둘 다 10자리 문자열이지만 위치가 다릅니다.
  </Step>

  <Step title="팀 ID 확인">
    * **Team ID**는 [Apple Developer 계정](https://developer.apple.com/account/) 오른쪽 상단의 팀 이름 옆에 표시된 10자리 문자열입니다.
    * 정확히 복사되었는지 그리고 키가 생성된 계정과 일치하는지 확인하세요.
    * **Key ID와 혼동하지 마세요** — Team ID는 특정 키가 아니라 개발자 계정을 식별합니다.
  </Step>

  <Step title="키에 APNs 기능이 있는지 확인">
    * Apple Developer에서 키를 볼 때 **Apple Push Notifications service (APNs)** 기능이 나열되어야 합니다.
    * 그렇지 않으면 키를 취소하고 새 키를 생성하세요.
  </Step>

  <Step title="몇 분 기다리기">
    * 새로 생성된 키는 Apple이 외부 인증을 허용하기 전에 전파되는 데 **10-15분**이 걸릴 수 있습니다.
    * 생성 직후 유효성 검사 오류가 발생하면 기다렸다가 다시 시도하세요.
  </Step>
</Steps>

### 도움이 필요하신가요?

* 현재 `.p8` 키를 취소하고 처음부터 새로 만드세요.
* 키가 생성된 동일한 계정의 **유효한 Bundle ID**를 사용하고 있는지 다시 확인하세요.
* Key ID, Team ID, Bundle ID 및 Apple Developer Key 구성의 스크린샷과 함께 `support@onesignal.com`에 문의하세요.

***

## 다음 단계

<Columns cols={2}>
  <Card title="iOS SDK 설정" icon="apple" href="./ios-sdk-setup">
    OneSignal SDK를 설치하고, 앱에서 초기화하고, 테스트 알림을 보내세요.
  </Card>

  <Card title="모바일 SDK 설정" icon="mobile" href="./mobile-sdk-setup">
    플랫폼을 선택하고 Android, iOS 또는 크로스 플랫폼 프레임워크를 위한 전체 SDK 통합 가이드를 따르세요.
  </Card>
</Columns>

***

## FAQ

### .p8과 .p12의 차이점은 무엇인가요?

**.p8 키**는 만료되지 않으며 Apple Developer 계정의 모든 앱에 적용되는 토큰 기반 인증 키입니다. **.p12 인증서**는 앱별로 적용되며 1년 후 만료되어 매년 갱신이 필요합니다. OneSignal은 단순성과 낮은 유지 관리 비용으로 인해 .p8을 권장합니다. 대안적인 방법은 [.p12 인증서 가이드](./ios-p12-generate-certificates)를 참조하세요.

### .p8 키가 만료되나요?

아니요. .p12 인증서와 달리 .p8 키는 만료되지 않습니다. 한번 생성된 .p8 키는 Apple Developer 계정에서 취소할 때까지 유효합니다.

### 하나의 .p8 키를 여러 앱에 사용할 수 있나요?

네. 단일 .p8 키는 동일한 Apple Developer 계정의 모든 앱에서 작동합니다. 동일한 .p8 파일을 여러 OneSignal 앱에 업로드할 수 있으며, 각 앱은 고유한 Bundle ID만 있으면 됩니다.

### 프로비저닝 프로파일이 필요한가요? 어떻게 만드나요?

네, Apple은 개발, 테스트(Ad Hoc) 및 App Store 배포를 위해 다양한 유형의 프로파일을 요구합니다.

Xcode에서 **Automatically manage signing**을 선택하여 자동으로 생성할 수 있어야 합니다.

<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="자동 서명 관리가 활성화된 Xcode 서명 및 기능 탭" width="2058" height="632" data-path="images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

그렇지 않으면 자세한 내용은 [Apple의 프로비저닝 프로파일 문서](https://developer.apple.com/help/account/provisioning-profiles/provisioning-profile-updates)를 참조하세요.

***
