사내 배포용 iOS 앱 게시

사내 배포를 사용하면 Apple 개발자 엔터프라이즈 프로그램의 구성원이 동일한 조직의 다른 구성원에게 내부적으로 앱을 배포할 수 있습니다. 이는 App Store 검토를 요구하지 않고 앱을 설치할 수 있는 디바이스 수에 제한이 없다는 장점이 있습니다. 그러나 Apple 개발자 엔터프라이즈 프로그램의 구성원은 App Store 커넥트 액세스할 수 없으므로 라이선스 사용자는 앱을 배포할 책임이 있습니다.

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

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

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

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

배포 인증서 만들기

배포 인증서는 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 앱이 릴리스에 디지털 서명될 수 있습니다. 사내 배포 프로비저닝 프로필에는 앱 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 라디오 단추를 선택합니다.

    Create an App ID.

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

    Specify the bundle identifier for the app.

    Important

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

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

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

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

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

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

  8. 앱 ID 등록 페이지에서 계속 단추를 클릭하기 전에 배포 세부 정보를 입력합니다.

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

프로비저닝 프로필 만들기

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

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

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

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

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

    Register a provisioning profile for in house distribution.

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

    Select your App ID.

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

    Select your distribution certificate.

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

    Generate the provisioning profile.

    참고 항목

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

  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는 사내 배포를 위해 .NET MAUI iOS 앱을 게시할 수 있습니다. CLI(명령줄 인터페이스)를 사용하여 iOS 앱을 게시하는 방법에 대한 자세한 내용은 명령줄을 사용하여 iOS 앱 게시를 참조 하세요.

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

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

    Select your remote device in Visual Studio.

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

    Select the release configuration in Visual Studio.

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

    Screenshot of bundle signing tab for iOS in Visual Studio.

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

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

    Select the publish menu item in Visual Studio.

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

    Screenshot of the archive manager in Visual Studio.

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

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

    Screenshot of the archive manager in Visual Studio once archiving is complete.

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

  1. 배포 - 채널 선택 대화 상자에서 엔터프라이즈 단추를 선택합니다.

    Screenshot of selecting a distribution channel in the distribution dialog.

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

    Screenshot of selecting a signing identity in the distribution dialog.

    참고 항목

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

  3. 배포 - 서명 ID 대화 상자에서 다른 이름으로 저장 단추를 선택하고 파일 이름을 입력합니다. 그러면 앱이 다시 서명되고 파일 시스템의 .ipa 파일에 게시됩니다.

사내 앱은 보안 웹 사이트 또는 MDM(모바일 장치 관리)을 통해 배포할 수 있습니다. 이러한 두 방법 모두 매니페스트 준비를 포함하는 배포를 위해 앱을 준비해야 합니다. 자세한 내용은 support.apple.com Apple 디바이스에 사내 독점 앱 배포를 참조하세요 .