앱 스토어 배포App Store Distribution

Xamarin.iOS 앱이 개발되면 소프트웨어 개발 수명 주기의 다음 단계는 iTunes 앱 스토어를 사용하여 사용자에게 앱을 배포하는 것입니다.Once a Xamarin.iOS app has been developed, the next step in the software development lifecycle is to distribute the app to users using the iTunes App Store. 이는 애플리케이션을 배포하는 가장 일반적인 방법입니다.This is the most common way of distributing applications. Apple의 앱 스토어에 애플리케이션을 게시하면 전 세계의 소비자가 해당 애플리케이션을 사용할 수 있습니다.By publishing an application in Apple’s App Store, it can be made available to consumers worldwide.

중요

Apple은 2019년 3월부터 App Store에 제출된 모든 앱과 업데이트가 iOS 12.1 SDK 이상에서 빌드되어 Xcode 10.1 이상에 포함된다고 발표했습니다.Apple has indicated that starting in March 2019, all apps and updates submitted to the App Store must have been built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later. 앱은 iPhone XS 및 12.9인치 iPad Pro 화면 크기도 지원해야 합니다.Apps should also support the iPhone XS and 12.9" iPad Pro screen sizes.

애플리케이션을 배포하는 경우와 마찬가지로 애플리케이션을 배포하려면 적절한 프로비전 프로필을 사용하여 애플리케이션을 프로비전해야 합니다.Distributing an application – just as with developing an application – requires that applications be provisioned using the appropriate provisioning profile. 프로비전 프로필은 애플리케이션 ID 및 의도된 배포 메커니즘뿐만 아니라 코드 서명 정보도 포함된 파일입니다.Provisioning profiles are files that contain code signing information, as well as the identity of the application and the intended distribution mechanism. 앱 스토어 배포가 아닌 경우 앱을 배포할 수 있는 디바이스에 대한 정보도 포함되어 있습니다.They also contain information about what devices the app can be deployed to for the non-App Store distribution.

중요

iTunes Connect를 사용하기 위해 앱 스토어에 앱을 게시하려면 사용자가 개인 또는 조직의 Apple Developer Program에 반드시 속해야 합니다.To use iTunes Connect, and therefore publish an app to the App Store, you must be part of either an individual or organizational Apple Developer Program. Apple Developer Enterprise Program의 구성원인 경우 이 페이지의 단계를 수행할 수 없습니다.You will not be able to follow the steps on this page if you are a member of an Apple Developer Enterprise Program.

앱 스토어 배포를 위한 앱 프로비전Provisioning an App for App Store Distribution

Xamarin.iOS 애플리케이션을 릴리스하려는 방법에 관계없이 특정 배포 프로비전 프로필을 작성해야 합니다.Regardless of how you plan to release a Xamarin.iOS application, you'll need to build a Distribution Provisioning Profile specific to it. 이 프로필을 사용하면 애플리케이션을 iOS 디바이스에 설치할 수 있도록 디지털 서명하여 릴리스할 수 있습니다.This profile allows the application to be digitally signed for release so that it can be installed on an iOS device. 개발 프로비전 프로필과 마찬가지로 배포 프로필에는 다음 항목이 포함됩니다.Similar to a Development provisioning profile, a Distribution Profile will contain the following:

  • 앱 IDAn App ID
  • 배포 인증서A Distribution Certificate

개발 프로비전 프로필에 사용한 것과 동일한 앱 ID디바이스를 선택할 수 있지만, 아직 없는 경우 앱 스토어에 앱을 제출할 때 조직을 식별하기 위한 배포 인증서를 만들어야 합니다.You can select the same App ID and Devices that you used for your development provisioning profile, but if you don't already have one, you will need to create a Distribution Certificate to identify your organization when submitting the app to the app store. 배포 인증서를 만드는 방법에 대한 단계는 아래 섹션에서 설명합니다.The steps on how to create a Distribution Certificate are described in the section below.

참고

팀 에이전트 및 관리자만 배포 인증서 및 프로비저닝 프로필을 만들 수 있습니다.Only Team Agents and Admins can create Distribution Certificates and Provisioning Profiles.

배포 인증서 만들기Creating a Distribution Certificate

  1. Apple Developer Member Center의 인증서, 식별자 및 프로필 섹션으로 이동합니다.Browse to the Certificates, Identifiers & Profiles section of the Apple Developer Member Center.

  2. 인증서 아래에서 프로덕션을 선택합니다.Under Certificates, select Production.

  3. 새 인증서를 만들기 위해 + 단추를 클릭합니다.Click the + button to create a new Certificate.

  4. 프로덕션 제목 아래에서 앱 스토어 및 임시를 선택합니다.Under the Production heading, select App Store and Ad Hoc:

  5. 계속을 클릭하고, 지시에 따라 키 집합 액세스를 통해 CSR(인증서 서명 요청)을 만듭니다.Click Continue, and follow the instructions to create a Certificate Signing Request via Keychain Access:

  6. 지시한 대로 CSR을 만들었으면 계속을 클릭하고 CSR을 Member Center에 업로드합니다.Once you have created the CSR as instructed, click Continue, and upload the CSR to the Member Center:

  7. 생성을 클릭하여 인증서를 만듭니다.Click Generate to create the certificate.

  8. 마지막으로 완성된 인증서를 다운로드하고 파일을 두 번 클릭하여 설치합니다.Finally, Download the completed certificate and double-click on the file to install it.

  9. 이 시점에서 인증서가 시스템에 설치되지만, Xcode에서 볼 수 있도록 프로필을 새로 고쳐야 할 수도 있습니다.At this point, the certificate should be installed on the machine, but you may need to Refresh your profiles, to ensure that they are visible in Xcode.

또는 Xcode의 [기본 설정] 대화 상자를 통해 인증서를 요청할 수도 있습니다.Alternatively, it is possible to request a Certificate via the Preferences dialog in Xcode. 이렇게 하려면 다음 단계를 수행합니다.To do this, follow the steps below:

  1. 팀을 선택하고 인증서 관리... 를 클릭합니다. Select your team, and click Manage Certificates…:

  2. 다음으로, iOS 배포 인증서 옆에 있는 만들기 단추를 클릭합니다. Next, click the Create button next to iOS Distribution Certificate:

  3. 팀 권한에 따라 아래와 같이 서명 ID가 생성되거나 팀 에이전트 또는 관리자가 승인할 때까지 기다려야 할 수 있습니다. Depending on your team privileges, the signing identity will be generated, as shown below, or you may have to wait until a team agent or admin approves it:

배포 프로필 만들기Creating a Distribution Profile

앱 ID 만들기Creating an App ID

만든 다른 프로비전 프로필과 마찬가지로 앱 ID는 사용자의 디바이스에 배포되는 앱을 식별하는 데 필요합니다.As with any other Provisioning Profile you create, an App ID is required to identify the App that you are distributing to the user's device. 앱 ID를 아직 만들지 않았으면 다음 단계에 따라 만듭니다.If you haven't already created this, follow the steps below to create one:

  1. Apple Developer Center에서 인증서, 식별자 및 프로필 섹션으로 이동합니다.In the Apple Developer Center browse to the Certificate, Identifiers and Profiles section. 식별자 아래에서 앱 ID를 선택합니다.Select App IDs under Identifiers.
  2. + 단추를 클릭하고 포털에서 식별할 수 있는 이름을 제공합니다.Click the + button and provide a Name which will identify it in the Portal.
  3. 앱 접두사는 이미 팀 ID로 설정되어 있으며 변경할 수 없습니다.The App prefix should be already set as your Team ID, and cannot be changed. 명시적 또는 와일드카드 앱 ID를 선택하고, 다음과 같이 번들 ID를 역방향 DNS 형식으로 입력합니다.Select either an Explicit or Wildcard App ID, and enter a Bundle ID in a reverse DNS format like:
    • 명시적 앱 ID: com.[DomainName].[AppName]Explicit: com.[DomainName].[AppName]
    • 와일드카드 앱 ID: com.[DomainName].*Wildcard:com.[DomainName].*
  4. 앱에 필요한 App Services를 선택합니다.Select any App Services that the app requires.
  5. 계속 단추를 클릭하고 화면의 지침에 따라 새 앱 ID를 만듭니다.Click the Continue button and following the on screen instructions to create the new App ID.

프로비전 프로필 만들기Creating a Provisioning Profile

배포 프로필을 만드는 데 필요한 필수 구성 요소가 있으면 아래 단계에 따라 해당 배포 프로필을 만듭니다.Once you have the required components needed for creating a Distribution Profile, follow the steps below to create it:

  1. Apple 프로비전 포털로 돌아가서 프로비전 > 배포를 차례로 선택합니다.Return to the Apple Provisioning Portal and select Provisioning > Distribution:

  2. + 단추를 클릭하고 만들려는 배포 프로필 유형을 앱 스토어로 선택합니다.Click the + button and select the type of Distribution Profile that you want to create as App Store:

  3. 계속 단추를 클릭하고 드롭다운 목록에서 배포 프로필을 만들려는 앱 ID를 선택합니다.Click the Continue button and select App ID from the dropdown list that you want to create a Distribution Profile for:

  4. 계속 단추를 클릭하고 애플리케이션에 서명하는 데 필요한 인증서를 선택합니다.Click the Continue button and select the certificate required to sign the application:

  5. 계속 단추를 클릭하고 Xamarin.iOS 애플리케이션이 실행될 수 있는 iOS 디바이스를 선택합니다.Click the Continue button and select the iOS devices that the Xamarin.iOS application will be allowed to run on:

  6. 계속 단추를 클릭하고 새 배포 프로필에 대한 이름을 입력합니다.Click the Continue button and enter a Name for the new Distribution Profile:

  7. 생성 단추를 클릭하여 새 프로필을 만들고 프로세스를 완료합니다.Click the Generate button to create the new profile and finalize the process.

Mac용 Visual Studio에서 새 배포 프로필을 사용하려면, 먼저 Mac용 Visual Studio를 종료한 다음, 서명 ID 요청 섹션의 지침에 따라 Xcode에서 사용 가능한 서명 ID 및 프로비전 프로필의 목록을 새로 고쳐야 할 수도 있습니다.You may have to quit Visual Studio for Mac and have Xcode refresh its list of available Signing Identities and Provisioning Profiles (by following the instructions in the Requesting Signing Identities section) before a new Distribution Profile is available in Visual Studio for Mac.

Xamarin.iOS 프로젝트에서 배포 프로필 선택Selecting a Distribution Profile in a Xamarin.iOS Project

iTunes 앱 스토어에서 판매할 Xamarin.iOS 애플리케이션의 최종 빌드를 수행할 준비가 되면 위에서 만든 배포 프로필을 선택합니다.When you are ready to do a final build of a Xamarin.iOS application for sale in the iTunes App Store, select the Distribution Profile that was created above.

Mac용 Visual Studio에서 다음을 수행합니다.In Visual Studio for Mac, do the following:

  1. 편집하기 위해 솔루션 탐색기에서 프로젝트 이름을 두 번 클릭하여 엽니다.Double-click the project name in the Solution Explorer to open it for edit.

  2. 구성 드롭다운에서 iOS 번들 서명릴리스 | iPhone을 선택합니다.Select iOS Bundle Signing and Release | iPhone from the Configuration dropdown:

  3. 대부분의 경우 서명 ID프로비전 프로필은 기본값(자동)으로 그대로 둘 수 있으며, Mac용 Visual Studio에서는 Info.plist의 번들 식별자에 따라 올바른 프로필을 선택합니다.In most cases, the Signing Identity and the Provisioning Profile can be left as their default values of Automatic and Visual Studio for Mac will choose the correct profile, based on the Bundle Identifier in the Info.plist:

  4. 필요한 경우 드롭다운에서 서명 ID 및 배포 프로필(위에서 만든 항목)을 선택합니다.If required, select the Signing Identity and Distribution Profile (the one created above) from the drop-downs:

  5. 확인 단추를 클릭하여 변경 내용을 저장합니다.Click the OK button to save the changes.

iTunes Connect에서 애플리케이션 구성Configuring your Application in iTunes Connect

애플리케이션이 성공적으로 프로비전되면, 다음 단계는 앱 스토어에서 iOS 애플리케이션을 관리하는 웹 기반 도구 모음인 iTunes Connect에서 앱을 구성하는 것입니다.Once the application is successfully been provisioned, the next step is to configure the apps in iTunes Connect, which is a suite of web based tools for, among other things, managing iOS applications in the App Store.

먼저 iTunes Connect에서 Xamarin.iOS 애플리케이션을 제대로 설정하고 구성한 후에, 이를 검토하여 궁극적으로 앱 스토어에서 판매하거나 무료 앱으로 릴리스할 수 있도록 Apple에 제출해야 합니다.Your Xamarin.iOS application will need to be properly setup and configured in iTunes Connect before it can be submitted to Apple for review and ultimately, be released for sale or as a free app in the App Store.

자세한 내용은 iTunes Connect에서 앱 구성 설명서를 참조하세요.For more details, please see our Configuring an App in iTunes Connect documentation.

iTunes Connect에 앱 제출Submitting an App to iTunes Connect

애플리케이션이 배포 프로비전 프로필을 사용하여 서명되고 iTunes Connect에서 앱이 만들어지면, 검토를 위해 애플리케이션 이진 파일이 Apple에 업로드됩니다.Once the application is signed using the Distribution Provisioning Profile and the app is created in iTunes Connect, the application binary is uploaded to Apple for review. Apple에서 성공적으로 검토되면 앱 스토어에서 사용할 수 있습니다.Upon a successful review by Apple, it is made available in the App Store.

앱 스토어에 애플리케이션을 게시하는 방법에 대한 자세한 내용은 앱 스토어에 게시를 참조하세요.For more information on publishing applications to the App Store, see Publishing to the App Store.

.app 번들을 Windows로 다시 자동 복사Automatically copy .app bundles back to Windows

Visual Studio 및 Mac 빌드 에이전트에서 iOS 앱을 빌드하는 경우 .app 번들이 Windows 컴퓨터에 다시 복사되지 않습니다.When building iOS apps in Visual Studio and the Mac Build agent, the .app bundle is not copied back to the Windows machine. Visual Studio 7.4용 Xamarin Tools는 CI가 .app 번들을 Windows로 다시 복사하도록 해주는 새로운 CopyAppBundle 속성을 추가합니다.Xamarin Tools for Visual Studio 7.4 adds a new CopyAppBundle property that allows CI builds to copy .app bundles back to Windows.

이 기능을 사용하려면 이 기능을 적용하려는 속성 그룹에서 .csproj에 CopyAppBundle 속성을 추가합니다.To use this functionality, add theCopyAppBundle property to the .csproj under the property group you wish to apply this functionality to. 예를 들어 다음 예제는 iPhoneSimulator를 대상으로 하는 디버그 빌드를 위해 .app 번들을 Windows 컴퓨터에 다시 복사하는 방법을 보여줍니다.For example, the following example shows how to copy the .app bundle back to the Windows computer for a Debug build targeting the iPhoneSimulator:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>

요약Summary

이 문서에서는 앱 스토어에 배포하기 위해 Xamarin.iOS 애플리케이션을 준비하는 주요 구성 요소에 대해 설명했습니다.This article covered the key components in preparing a Xamarin.iOS application for distribution in the App Store.