[iOS 17주차] Certificates, Identifiers & Profiles

DoyleHWorks·2025년 2월 10일
0

개요

  • Certificates (인증서):
    디지털 서명 및 암호화에 사용되며, 앱의 신원을 증명한다.

    • 개발(Development) 인증서: 개발 및 디버깅 시 사용
    • 배포(Distribution) 인증서: App Store, Ad Hoc, Enterprise 등 앱 배포 시 사용
  • Identifiers (앱 식별자):
    앱을 고유하게 식별하기 위한 값으로, 보통 번들 식별자(bundle identifier) 형태로 사용된다.

    • Explicit App ID: 고유한 앱 식별자로, 푸시 알림이나 Apple Pay 등 특정 기능을 사용할 때 필요
    • Wildcard App ID: 여러 앱에 대해 유연하게 사용할 수 있지만, 일부 기능은 제한됨
  • Profiles (프로비저닝 프로파일):
    앱이 특정 디바이스에서 실행될 수 있도록 인증서와 식별자, 그리고 디바이스 정보를 결합하여 만든 파일이다.

    • 개발용 프로파일: 개발 중인 앱을 테스트 디바이스에서 실행할 수 있도록 함
    • 배포용 프로파일: App Store 또는 Ad Hoc 배포 시 사용
    • Enterprise 프로파일: 기업 내부 배포용 (기업 개발자 프로그램 필요)

인증서 (Certificates) 관리

인증서의 역할

  • 코드 서명: 앱이 신뢰할 수 있는 개발자로부터 만들어졌음을 보증
  • 암호화: 데이터 전송 시 보안을 제공

인증서 종류 및 생성 방법

  1. iOS Development Certificate (개발 인증서)

    • 목적: 앱 개발 및 디버깅
    • 생성 방법:
      1. macOS의 Keychain Access 앱을 열고, 메뉴에서 인증서 지원 -> 인증서 서명 요청(Certificate Signing Request)을 선택
      2. 이메일 주소와 이름을 입력한 후, 파일을 저장
      3. Apple Developer Portal에 로그인한 후, Certificates, Identifiers & Profiles 섹션으로 이동
      4. Certificates 탭에서 + 버튼을 클릭하고, iOS App Development (또는 해당 플랫폼에 맞는 옵션)을 선택
      5. CSR 파일을 업로드하고, 생성된 인증서를 다운로드하여 더블클릭하면 Keychain Access에 설치됨
  2. iOS Distribution Certificate (배포 인증서)

    • 목적: App Store 배포, Ad Hoc, 또는 Enterprise 배포 시 사용
    • 생성 방법: 개발 인증서와 유사한 과정으로 CSR 파일을 생성한 후, Distribution 옵션을 선택하여 진행한다.
    • 주의: 배포 인증서는 보안상 매우 중요하며, 만약 분실 또는 노출되면 Apple 계정 보안에 큰 영향을 미칠 수 있으므로 안전하게 보관해야 한다.

인증서 관리 팁

  • 개인키(Private Key) 보관: 인증서를 생성할 때 같이 생성되는 개인키는 Keychain에 저장되며, 다른 컴퓨터로 이전할 때 반드시 백업할 것.
  • 만료 관리: 인증서는 보통 1년(개발) 또는 3년(배포) 주기로 만료된다. 만료 전에 새 인증서를 생성하고, 관련 프로비저닝 프로파일을 업데이트해야 한다.
  • 재발급 및 폐기: 인증서 분실이나 보안 위협이 발생하면, 즉시 Apple Developer Portal에서 해당 인증서를 폐기(revoke)하고 새로운 인증서를 생성해야 한다.

##식별자 (Identifiers) 관리

앱 식별자(App ID)의 역할

  • 앱을 고유하게 식별하며, 각종 앱 관련 기능(예: 푸시 알림, In-App Purchase, Apple Pay 등)을 설정하는 기준이 된다.
  • Bundle Identifier: 일반적으로 com.company.appname 형태로 구성된다.

App ID 생성 및 구성

  1. Apple Developer Portal에 로그인 후, Identifiers 탭으로 이동
  2. + 버튼을 클릭하여 새 App ID를 생성
  3. App ID Description에 앱 이름이나 설명을 입력
  4. App ID Suffix 선택:
    • Explicit App ID: 특정 앱에 대해 고유하게 식별 (대부분의 기능을 사용하기 위해 권장)
    • Wildcard App ID: 여러 앱에 대해 사용 가능하지만, 푸시 알림 등 일부 기능은 지원하지 않음
  5. App Services (Capabilities)
    • 필요한 기능(예: 푸시 알림, iCloud, HealthKit 등)을 활성화한다.
    • 특정 기능은 Explicit App ID가 필요할 수 있으므로, 앱의 요구 사항에 맞게 선택한다.
  6. 설정 완료 후, 생성된 App ID는 이후 프로비저닝 프로파일 생성 시 선택하게 된다.

프로비저닝 프로파일 (Provisioning Profiles) 관리

프로비저닝 프로파일의 역할

  • 앱과 디바이스의 연결: 앱이 특정 인증서와 App ID로 서명되었음을 확인하고, 지정된 디바이스에서 실행되도록 허용한다.
  • 코드 서명: Xcode 빌드 과정에서 프로파일이 선택되어 올바른 인증서와 결합된다.

프로비저닝 프로파일 종류 및 생성 방법

  1. 개발용 프로비저닝 프로파일 (Development Profile)
    • 목적: 앱 개발 및 디버깅, 테스트
    • 생성 방법:
      1. Apple Developer Portal에서 Profiles 탭으로 이동 후, + 버튼을 클릭
      2. iOS App Development를 선택
      3. 앞서 생성한 App ID를 선택
      4. 사용할 Development Certificate를 선택
      5. 테스트할 디바이스(UDID)가 등록되어 있어야 하며, 해당 디바이스를 선택
      6. 프로파일에 이름을 지정하고, 생성 후 다운로드하여 Xcode에 설치
  2. 배포용 프로비저닝 프로파일 (Distribution Profile)
    • App Store Distribution Profile:
      • 목적: 앱스토어 배포 시 사용
      • 생성 방법: 위와 유사하게 진행하되, App Store 옵션을 선택하고 디바이스 등록 단계는 생략
    • Ad Hoc Distribution Profile:
      • 목적: 앱스토어 배포 전, 제한된 디바이스에 앱을 테스트할 때 사용
      • 생성 방법: App ID, 배포 인증서, 그리고 테스트할 디바이스들을 선택하여 생성
    • Enterprise Distribution Profile:
      • 목적: 기업 내부 배포용 (기업 개발자 프로그램 가입 필요)
      • 생성 방법: 유사한 방식으로 진행하되, 기업 배포 인증서를 선택

프로비저닝 프로파일 관리 팁

  • 프로파일 갱신: 인증서나 디바이스 목록이 변경되면, 해당 프로파일을 재생성하거나 업데이트해야 한다.
  • 자동 코드 서명 활용: Xcode의 ‘Automatically manage signing’ 기능을 활성화하면, 필요한 프로파일과 인증서를 자동으로 선택하고 관리할 수 있다.
  • 프로파일 설치: 다운로드한 프로파일 파일(.mobileprovision)을 더블클릭하면 자동으로 Xcode에 등록된다.

실전 워크플로우 예시

개발 준비 단계

  1. CSR 파일 생성:
    Keychain Access를 이용하여 CSR 파일을 생성
  2. 개발 인증서 생성:
    Apple Developer Portal의 Certificates 탭에서 CSR 파일을 업로드하여 개발 인증서를 생성하고 다운로드
  3. App ID 등록:
    Identifiers 탭에서 앱의 번들 식별자와 필요한 기능을 활성화한 App ID를 생성
  4. 디바이스 등록:
    테스트할 기기의 UDID를 Devices 섹션에 등록
  5. 개발용 프로비저닝 프로파일 생성:
    Profiles 탭에서 개발 프로파일을 생성한 후, 선택된 App ID, 인증서, 디바이스가 올바른지 확인
  6. Xcode 설정:
    Xcode 프로젝트의 Signing & Capabilities에서 위에서 생성한 인증서와 프로파일을 사용하도록 설정

5.2 배포 준비 단계

  1. 배포 인증서 생성:
    Distribution 인증서를 생성 (CSR 파일 재사용 가능)
  2. App Store용 App ID 및 프로파일 확인:
    App Store 배포에 적합한 App ID와 프로비저닝 프로파일을 생성
  3. 빌드 및 서명:
    Xcode에서 Archive를 수행한 후, 생성된 아카이브에 대해 배포 인증서와 프로파일을 적용하여 서명
  4. 제출:
    앱을 App Store Connect에 업로드하여 배포 준비를 완료

profile
Reciprocity lies in knowing enough

0개의 댓글

관련 채용 정보