0Pricing
React Native Academy · 강의

Apple Developer 계정 설정 및 인증서

Apple Developer 계정을 등록하고 App ID를 만들며 Keychain Access에서 배포 인증서를 생성한 뒤 개발자 포털에서 프로비저닝 프로필을 다운로드합니다.

Apple Developer 계정 설정 및 인증서은(는) CoddyKit의 무료 React Native Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 React Native Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. React Native Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

The Apple Developer Program

To distribute an iOS app on the App Store, you need an Apple Developer Program membership, which costs $99 per year. This grants you access to App Store Connect (to manage your listings and builds), the Developer Portal (to manage certificates and devices), and the ability to distribute apps to the public. Without membership, you can only run apps on your own registered devices.

Creating an App ID

An App ID (also called a Bundle ID) uniquely identifies your app in Apple's ecosystem. It follows reverse-domain notation: com.yourcompany.appname. You register it in the Developer Portal under Certificates, Identifiers and Profiles > Identifiers. The Bundle ID must match the ios.bundleIdentifier value in your app.json exactly — a mismatch prevents the app from being signed and submitted.

// app.json
{
  'expo': {
    'ios': {
      'bundleIdentifier': 'com.yourcompany.myapp',
      'buildNumber': '1'
    }
  }
}

// This must exactly match the App ID registered in
// developer.apple.com/account/resources/identifiers

Development vs Distribution Certificates

Apple uses two types of signing certificates: a Development certificate for running apps on test devices during development, and a Distribution certificate for builds submitted to TestFlight and the App Store. Each developer can have one distribution certificate at a time. The certificate proves the code came from you and was not tampered with. Certificates are linked to your Apple ID and stored in macOS Keychain.

Generating a Certificate Signing Request

To get a distribution certificate, you first generate a Certificate Signing Request (CSR) using Keychain Access on your Mac. Open Keychain Access, choose Certificate Assistant > Request a Certificate From a Certificate Authority, fill in your email and Common Name, save the CSR file to disk. Then upload this CSR in the Developer Portal to receive your signed certificate.

# Alternative: generate CSR via OpenSSL (no Mac needed)
openssl genrsa -out private.key 2048

openssl req -new -key private.key \
  -out CertificateSigningRequest.certSigningRequest \
  -subj '/emailAddress=you@example.com,CN=Your Name,C=US'

# Upload CertificateSigningRequest.certSigningRequest
# to developer.apple.com > Certificates > + icon

Downloading and Installing the Certificate

After Apple approves your CSR, download the .cer file and double-click it on macOS to install it into your Keychain. Verify it appears under My Certificates in Keychain Access. The certificate is only valid on the machine that generated the original CSR (because the private key pair lives in that Keychain). To sign on a different machine, export the certificate with its private key as a .p12 file.

# Export certificate and private key as .p12 for CI or team sharing:
# 1. In Keychain Access, find your distribution certificate
# 2. Expand it, select both the cert AND the private key
# 3. Right-click > Export 2 items...
# 4. Save as .p12 and set a password
# 5. Store securely — anyone with the .p12 can sign as you

Provisioning Profiles

A provisioning profile links your App ID, your distribution certificate, and (for development profiles) specific device UDIDs. Apple requires a valid provisioning profile for every build. For App Store distribution use an App Store Distribution provisioning profile. Create it in the Developer Portal under Profiles, select your App ID and certificate, and download the .mobileprovision file.

# There are three types of distribution provisioning profiles:

# 1. App Store
#    Purpose: Submit to TestFlight and App Store
#    Device restriction: None (any device via store)

# 2. Ad Hoc
#    Purpose: Install on specific registered devices (up to 100)
#    Use case: QA testers without TestFlight

# 3. Enterprise
#    Purpose: Internal distribution within a company
#    Requires: Apple Developer Enterprise Program ($299/yr)

Automated Credential Management with EAS

Managing certificates and provisioning profiles manually is error-prone. EAS Build (Expo Application Services) can handle this automatically. Run eas credentials and EAS generates the CSR, creates the certificate through the Apple API, generates a provisioning profile, and stores everything securely in its credentials store. You never need to touch Keychain or the Developer Portal manually.

# Install EAS CLI
npm install -g eas-cli

# Log in
eas login

# Manage credentials interactively
eas credentials

# EAS will ask:
# - Platform: iOS
# - Which build profile: production
# - Auto-setup: Yes
# Then it creates/stores certs and profiles for you

Configuring eas.json for Production

The eas.json file at the project root configures EAS Build profiles. The production profile is what you use for App Store builds. Set distribution to 'store' so EAS uses App Store distribution signing. The credentialsSource of 'remote' means EAS fetches certs from its secure cloud storage automatically.

// eas.json
{
  'cli': {
    'version': '>= 5.0.0'
  },
  'build': {
    'development': {
      'developmentClient': true,
      'distribution': 'internal'
    },
    'preview': {
      'distribution': 'internal'
    },
    'production': {
      'distribution': 'store',
      'credentialsSource': 'remote',
      'ios': {
        'image': 'latest'
      }
    }
  }
}

Two-Factor Authentication Requirement

Apple requires two-factor authentication (2FA) on all Apple Developer accounts. When EAS needs to perform credential operations, it authenticates with Apple's API on your behalf. You must provide your Apple ID and password plus an app-specific password (generated at appleid.apple.com) for automated tools, because Apple does not allow your main account password in CI environments.

# Environment variables for CI / EAS non-interactive mode
export EXPO_APPLE_ID='you@example.com'

# App-specific password from appleid.apple.com:
export EXPO_APPLE_APP_SPECIFIC_PASSWORD='abcd-efgh-ijkl-mnop'

# EAS will use these when running in CI:
eas build --platform ios --profile production --non-interactive

Managing Multiple Team Members

In a company, typically one person (the Account Holder) owns the Apple Developer account. Other developers are invited as Admin or App Manager roles in App Store Connect. Distribution certificates are tied to the Account Holder or an Admin. Using EAS Build means the certificate is stored in EAS's secure store and all team members can trigger builds without needing the private key on their personal Mac.

Certificate Expiry and Renewal

Apple distribution certificates are valid for one year. When a certificate expires, you cannot create new App Store builds until you renew it — but existing builds in the store continue to work fine. EAS Build notifies you before expiry and can auto-renew. If you manage certificates manually, set a calendar reminder 30 days before expiry. Revoking a certificate invalidates all provisioning profiles that reference it.

# Check certificate expiry via EAS
eas credentials --platform ios

# Shows:
# Distribution Certificate
#   Expiration: Dec 15, 2026 (285 days remaining)
#   Certificate ID: XXXXXXXXXX

# Renew before expiry to avoid build downtime:
# eas credentials --platform ios
# Select: Update Distribution Certificate

Quick Check

Test your understanding of React Native Mobile Development concepts from this lesson.

Lesson Recap

In this lesson you learned: how to register an App ID in the Apple Developer Portal, how to generate a CSR and obtain a distribution certificate, and how provisioning profiles link the App ID and certificate for App Store builds. You also saw how EAS Build automates credential management so you rarely need to handle certificates manually. Next up we configure signing specifically with EAS Build.

자주 묻는 질문

“Apple Developer 계정 설정 및 인증서” 강의는 무료인가요?

네 — “Apple Developer 계정 설정 및 인증서” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 React Native Academy 강의 전체를 잠금 해제할 수 있습니다. React Native Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Apple Developer 계정 설정 및 인증서”에서 뭘 배우나요?

Apple Developer 계정을 등록하고 App ID를 만들며 Keychain Access에서 배포 인증서를 생성한 뒤 개발자 포털에서 프로비저닝 프로필을 다운로드합니다. 브라우저에서 직접 실행하는 실습 코드로 React Native Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

React Native Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 React Native Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“Apple Developer 계정 설정 및 인증서” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 React Native Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 React Native Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Apple Developer 계정 설정 및 인증서
  2. EAS Build로 서명 구성하기
  3. App Store Connect에서 App Store 메타데이터 준비하기
  4. 심사 제출 및 거부에 대응하기
← React Native Academy(으)로 돌아가기