App Store 배포용 iOS 앱 게시

사용자에게 iOS 앱을 배포하는 가장 일반적인 방법은 App Store를 사용하는 것입니다. 앱은 App Store 커넥트이라는 온라인 도구를 통해 App Store에 제출됩니다. Apple 개발자 프로그램에 속한 개발자만 이 도구에 액세스할 수 있습니다. Apple Developer Enterprise Program의 구성원은 액세스할 수 없습니다. App Store에 제출된 모든 앱은 Apple의 승인이 필요합니다.

iOS 앱을 배포하려면 프로비저닝 프로필을 사용하여 앱을 프로비전해야 합니다. 프로비저닝 프로필은 앱의 ID 및 의도한 배포 메커니즘뿐만 아니라 코드 서명 정보를 포함하는 파일입니다.

.NET 다중 플랫폼 앱 UI(.NET MAUI) iOS 앱을 배포하려면 해당 앱과 관련된 배포 프로비저닝 프로필을 빌드해야 합니다. 이 프로필을 사용하면 iOS 디바이스에 앱을 설치할 수 있도록 릴리스에 디지털 서명할 수 있습니다. 배포 프로비저닝 프로필에는 앱 ID 및 배포 인증서가 포함됩니다. 테스트를 위해 디바이스에 앱을 배포할 때 사용한 것과 동일한 앱 ID를 사용할 수 있습니다. 그러나 배포 인증서가 아직 없는 경우 자신 또는 조직을 식별하기 위해 배포 인증서를 만들어야 합니다.

App Store 배포 프로비저닝 프로필을 만드는 프로세스는 다음과 같습니다.

  1. 배포 인증서를 만듭니다. 자세한 내용은 배포 인증서 만들기를 참조 하세요.
  2. 앱 ID를 만듭니다. 자세한 내용은 앱 ID 만들기를 참조하세요.
  3. 프로비저닝 프로필을 만듭니다. 자세한 내용은 프로비저닝 프로필 만들기를 참조하세요.

Important

Apple에는 앱 스토어에서 iOS를 대상으로 하는 앱에 대한 개인 정보 취급 방침이 있습니다. 앱은 앱 번들에 개인 정보 매니페스트 파일을 포함해야 하며, .NET MAUI 앱 또는 타사 SDK 및 패키지가 수집하는 데이터 형식과 필요한 이유 API를 사용하는 이유를 나열해야 합니다. 필요한 이유 API 또는 타사 SDK의 사용이 개인 정보 매니페스트에 선언되지 않은 경우 앱 스토어에서 앱을 거부할 수 있습니다. 자세한 내용은 Apple 개인 정보 매니페스트를 참조하세요.

배포 인증서 만들기

배포 인증서는 ID를 확인하는 데 사용됩니다. 배포 인증서를 만들기 전에 Apple 개발자 계정을 Visual Studio에 추가했는지 확인해야 합니다. 자세한 내용은 Apple 계정 관리를 참조하세요.

아직 배포 인증서가 없는 경우에만 배포 인증서를 만들어야 합니다. Apple 개발자 계정의 Apple ID를 사용하여 배포 인증서를 만들어야 합니다.

배포 인증서를 만들려면 다음을 수행합니다.

  1. Visual Studio에서 도구 > 옵션 > Xamarin > Apple 계정으로 이동합니다.
  2. Apple 개발자 계정 대화 상자에서 팀을 선택하고 세부 정보 보기... 단추를 클릭합니다.
  3. 세부 정보 대화 상자에서 인증서 만들기를 클릭하고 iOS 배포를 선택합니다. 올바른 권한이 있는 경우 새 서명 ID가 만들어지고 Apple과 동기화됩니다.

Important

IDE가 쌍을 이루는 경우 서명 ID를 구성하는 프라이빗 키 및 인증서도 Mac 빌드 호스트의 키 집합 액세스로 내보내집니다. 자세한 내용은 iOS 개발을 위해 Mac에 페어링을 참조하세요.

인증서 키 쌍 이해

배포 프로필에는 인증서, 연결된 키 및 Apple 개발자 계정과 연결된 프로비저닝 프로필이 포함됩니다. 배포 프로필에는 두 가지 버전이 있습니다. 하나는 Apple 개발자 계정에 있고 다른 버전은 로컬 컴퓨터에 있습니다. 두 키의 차이점은 포함된 키 유형입니다. Apple 개발자 계정의 프로필에는 인증서와 연결된 모든 공개 키가 포함되고 로컬 컴퓨터의 복사본에는 모든 프라이빗 키가 포함됩니다. 인증서가 유효하려면 키 쌍이 일치해야 합니다.

Warning

기존 인증서를 해지하고 프로비저닝 프로필을 다시 만들어야 하므로 인증서 및 연결된 키를 분실하는 것은 매우 중단될 수 있습니다.

배포 프로필 만들기

배포 프로비저닝 프로필을 사용하면 .NET MAUI iOS 앱을 릴리스에 디지털 서명하여 iOS 디바이스에 설치할 수 있습니다. 배포 프로비저닝 프로필에는 앱 ID 및 배포 인증서가 포함됩니다.

앱 ID 만들기

배포하는 앱을 식별하려면 앱 ID가 필요합니다. 앱 ID는 앱을 고유하게 식별하는 역방향 DNS 문자열과 유사하며 앱의 번들 식별자와 동일해야 합니다. 테스트를 위해 디바이스에 앱을 배포할 때 사용한 것과 동일한 앱 ID를 사용할 수 있습니다.

앱 ID에는 두 가지 유형이 있습니다.

  • 와일드카드. 와일드 카드 앱 ID를 사용하면 단일 앱 ID를 사용하여 여러 앱을 일치시킬 수 있으며 일반적으로 형식com.domainname.*을 사용합니다. 와일드 카드 앱 ID는 여러 앱을 배포하는 데 사용할 수 있으며 앱별 기능을 사용하도록 설정하지 않는 앱에 사용해야 합니다.
  • 명시적. 명시적 앱 ID는 단일 앱에 고유하며 일반적으로 형식 com.domainname.myid을 사용합니다. 명시적 앱 ID를 사용하면 일치하는 번들 식별자를 사용하여 하나의 앱을 배포할 수 있습니다. 명시적 앱 ID는 일반적으로 Apple Pay 또는 Game Center와 같은 앱별 기능을 사용하도록 설정하는 앱에 사용됩니다. 기능에 대한 자세한 내용은 기능을 참조 하세요.

새 앱 ID를 만들려면 다음을 수행합니다.

  1. Apple 개발자 계정에서 인증서, ID 및 프로필이동합니다.

  2. 인증서, 식별자 및 프로필 페이지에서 식별자 탭을 선택합니다.

  3. 식별자 페이지에서 단추를 클릭하여 + 새 앱 ID를 만듭니다.

  4. 새 식별자 등록 페이지에서 [계속] 단추를 클릭하기 전에 앱 ID 라디오 단추를 선택합니다.

    앱 ID를 만듭니다.

  5. 새 식별자 등록 페이지에서 [계속] 단추를 클릭하기 전에 앱을 선택합니다.

    앱 ID 등록.

  6. 앱 ID 등록 페이지에서 설명을 입력하고 명시적 또는 야생카드 번들 ID 라디오 단추를 선택합니다. 그런 다음, 역방향 DS 형식으로 앱의 번들 ID를 입력합니다.

    앱의 번들 식별자를 지정합니다.

    Important

    입력한 번들 ID는 앱 프로젝트의 Info.plist 파일에 있는 번들 식별자에 해당해야 합니다.

    .NET MAUI 앱의 번들 식별자는 프로젝트 파일에 애플리케이션 ID 속성으로 저장됩니다.

    • Visual Studio의 솔루션 탐색기 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 MAUI 공유 > 일반 탭으로 이동합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.
    • Mac용 Visual Studio 솔루션 창에서 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 프로젝트 속성 창에서 앱 정보 빌드 > 탭을 선택합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.

    애플리케이션 ID 필드의 값이 업데이트되면 Info.plist번들 식별자값이 자동으로 업데이트됩니다.

  7. 앱 ID 등록 페이지에서 앱에서 사용하는 기능을 선택합니다. 이 페이지와 앱 프로젝트의 Entitlements.plist 파일 모두에서 모든 기능을 구성해야 합니다. 자세한 내용은 기능자격을 참조하세요.

  8. 앱 ID 등록 페이지에서 계속 단추를 클릭합니다.

  9. 앱 ID 확인 페이지에서 등록 단추를 클릭합니다.

프로비저닝 프로필 만들기

앱 ID가 만들어지면 배포 프로비저닝 프로필을 만들어야 합니다. 이 프로필을 사용하면 iOS 디바이스에 앱을 설치할 수 있도록 릴리스에 디지털 서명할 수 있습니다.

App Store 배포에 대한 프로비저닝 프로필을 만들려면 다음을 수행합니다.

  1. Apple 개발자 계정의 인증서, 식별자 및 프로필 페이지에서 프로필 탭을 선택합니다.

  2. 프로필 탭에서 단추를 클릭하여 + 새 프로필을 만듭니다.

  3. [새 프로비저닝 프로필 등록] 페이지에서 [계속] 단추를 클릭하기 전에 App Store 라디오 단추를 선택합니다.

    앱 스토어 배포에 대한 프로비저닝 프로필을 등록합니다.

  4. 프로비전 프로필 생성 페이지의 앱 ID 드롭다운에서 계속 단추를 클릭하기 전에 이전에 만든 앱 ID를 선택합니다.

    앱 ID를 선택합니다.

  5. 프로비전 프로필 생성 페이지에서 계속 단추를 클릭하기 전에 배포 인증서에 해당하는 라디오 단추를 선택합니다.

    배포 인증서를 선택합니다.

  6. 프로비전 프로필 생성 페이지에서 생성 단추를 클릭하기 전에 프로비전 프로필의 이름을 입력합니다.

    프로비저닝 프로필을 생성합니다.

    참고 항목

    앱에 서명할 때 필요하므로 프로비저닝 프로필 이름을 기록해 둡다.

  7. 프로비전 프로필 생성 페이지에서 필요에 따라 다운로드 단추를 클릭하여 프로비전 프로필을 다운로드합니다.

    참고 항목

    지금 프로비저닝 프로필을 다운로드할 필요는 없습니다. 대신 Visual Studio에서 이 작업을 수행합니다.

Visual Studio에서 프로비저닝 프로필 다운로드

Apple 개발자 계정에서 배포 프로비저닝 프로필을 만든 후 Visual Studio에서 다운로드하여 앱에 서명할 수 있도록 할 수 있습니다.

  1. Visual Studio에서 도구 > 옵션 > Xamarin > Apple 계정으로 이동합니다.
  2. Apple 개발자 계정 대화 상자에서 팀을 선택하고 세부 정보 보기를 클릭합니다.
  3. 세부 정보 대화 상자에서 새 프로필이 프로비전 프로필 목록에 표시되는지 확인합니다. 목록을 새로 고치려면 Visual Studio를 다시 시작해야 할 수 있습니다.
  4. 세부 정보 대화 상자에서 모든 프로필 다운로드를 클릭합니다.

프로비저닝 프로필은 Windows에서 다운로드되고 IDE가 쌍을 이루는 경우 Mac 빌드 호스트로 내보냅니다. 자세한 내용은 iOS 개발을 위해 Mac에 페어링을 참조하세요.

앱 게시

Visual Studio는 App Store 배포용 .NET MAUI iOS 앱을 게시하고 앱 스토어에 업로드할 수 있습니다. 그러나 앱 스토어에 앱을 업로드하려면 먼저 다음을 수행해야 합니다.

  • App Store 커넥트 App Store에 업로드하려는 앱에 대한 레코드를 만듭니다. 이 레코드에는 앱 스토어에 표시되는 앱에 대한 모든 정보와 배포 프로세스를 통해 앱을 관리하는 데 필요한 모든 정보가 포함됩니다. 자세한 내용은 developer.apple.com 앱 레코드 만들기를 참조하세요.
  • 앱별 암호를 만듭니다. 앱별 암호를 생성하는 방법에 대한 자세한 내용은 support.apple.com 앱별 암호를 사용하여 Apple ID로 앱에 로그인을 참조하세요.

CLI(명령줄 인터페이스)를 사용하여 iOS 앱을 게시하는 방법에 대한 자세한 내용은 명령줄을 사용하여 iOS 앱 게시를 참조 하세요.

  1. Visual Studio에서 IDE가 Mac 빌드 호스트와 쌍을 이루는지 확인합니다. 자세한 내용은 iOS 개발을 위해 Mac에 페어링을 참조하세요.

  2. Visual Studio 도구 모음에서 디버그 대상 드롭다운을 사용하여 iOS 원격 디바이스를 선택한 다음 원격 디바이스를 선택합니다.

    Visual Studio에서 원격 디바이스를 선택합니다.

  3. Visual Studio 도구 모음에서 솔루션 구성 드롭다운을 사용하여 디버그 구성에서 릴리스 구성으로 변경합니다.

    Visual Studio에서 릴리스 구성을 선택합니다.

  4. 솔루션 탐색기 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음, iOS 번들 서명 탭으로 이동하여 스키마수동 프로비전으로 설정되고 서명 ID가 배포(자동)로 설정되고 프로비전 프로필이 자동으로 설정되어 있는지 확인합니다.

    Visual Studio의 iOS용 번들 서명 탭 스크린샷

    이러한 설정을 통해 Visual Studio는 Info.plist의 번들 식별자를 기반으로 올바른 프로비저닝 프로필을 선택합니다(프로젝트 파일의 애플리케이션 ID 속성 값과 동일함). 또는 서명 ID적절한 배포 인증서로 설정하고 프로비전 프로필을 Apple 개발자 계정에서 만든 프로필로 설정합니다.

  5. 솔루션 탐색기 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시...를 선택합니다.

    Visual Studio에서 게시 메뉴 항목을 선택합니다.

    보관 관리자열리고 Visual Studio에서 앱 번들을 보관하기 시작합니다.

    Visual Studio의 보관 관리자 스크린샷

    보관 프로세스는 선택한 솔루션 구성에 대해 iOS 번들 서명 탭에서 지정한 인증서 및 프로비저닝 프로필을 사용하여 앱에 서명합니다.

  6. 보관 관리자에서 보관이 성공적으로 완료되면 보관이 선택되었는지 확인하고 배포 ... 단추를 선택하여 배포를 위해 앱을 패키징하는 프로세스를 시작합니다.

    보관이 완료되면 Visual Studio의 보관 관리자 스크린샷

    배포 - 채널 선택 대화 상자가 나타납니다.

  1. 배포 - 채널 선택 대화 상자에서 앱 스토어 단추를 선택합니다.

    배포 대화 상자에서 배포 채널을 선택하는 스크린샷

  2. 배포 - 서명 ID 대화 상자에서 서명 ID 및 프로비저닝 프로필을 선택합니다.

    배포 대화 상자에서 서명 ID를 선택하는 스크린샷

    참고 항목

    앱 및 선택한 배포 채널에 대해 생성된 서명 ID 및 프로비저닝 프로필을 사용해야 합니다.

  3. 배포 - 서명 ID 대화 상자에서 다른 이름으로 저장 단추 또는 스토어에 업로드 단추를 선택합니다. 다른 이름으로 저장 단추를 사용하면 앱을 다시 서명하고 파일 시스템의 .ipa 파일에 게시하기 전에 파일 이름을 입력하여 나중에 Transporter와 같은 앱을 통해 App Store에 업로드할 수 있습니다. 스토어에 업로드 단추는 앱 스토어에 업로드하기 전에 앱을 다시 서명하고 .ipa 파일에 게시합니다.

    1. 스토어에 업로드 단추를 선택하면 Visual Studio에서 .ipa 파일을 만든 후에 자격 증명을 저장할 업로드 대화 상자가 표시됩니다. 자격 증명을 저장할 업로드 대화 상자에서 Apple ID 및 앱별 암호를 입력하고 확인 단추를 선택합니다.

      앱 스토어에 앱을 업로드하기 위해 앱별 암호를 입력하는 스크린샷

    App Store 커넥트 애플리케이션 레코드를 만든 경우 Visual Studio에서 앱 패키지의 유효성을 검사하고 앱 스토어에 업로드합니다.

문제 해결

전송기를 사용하여 앱 스토어에 성공적으로 제출하지 않는 앱 패키지의 오류를 식별할 수 있습니다.