WWDC

[WWDC21] Distribute apps in Xcode with cloud signing

Phililip
728x90

안녕하세요.

 

오느른 Xcode에서 App Store Connect에 앱 업로드하는 방법과 cloud signing 관련해서 가볍게 알아볼게요.

 

공부하기 싫어서 억지로 하는거 아님...ㅎ

 


# Xcode to App Store Connect

우선 App Store Connect가 뭔지 알아야겠죠?

 

TestFlight를 사용하든 AppStore에 배포를 하든 우선 Xcode를 통해 App Store Connect에 앱 빌드를 업로드해야 해요.

 

 

# Distribution App

App Store Connect에 앱을 업로드하려면 Archive를 먼저 해야 합니다.

 

 

Archive는 metadata를 포함한 앱의 developer-signed release build를 생성합니다.

 

Archive가 완료되면 자동으로 Onganizer 창이 뜹니다. 'Distribute App' 버튼을 눌러서 적절한 배포 방법을 선택해 주세요.

 

 

만약 앱이 App Store Connect에 등록되어 있지 않은 상태에서 Upload를 하려는 경우, Xcode를 통해 App record를 생성할 수 있습니다.

 

 

# Distribution Options

Xcode는 앱 버전과 빌드 번호를 다르게 관리합니다.

 

개발 및 테스트 과정에서 여러 빌드가 나올 수 있고 그때마다 빌드 번호를 바꿔줘야 합니다.

 

Distribution Options의 'Manage Version and Build Number'를 체크하면 빌드 버전을 수동으로 바꾸지 않아도 Xcode랑 App Store Connect가 알아서 관리를 해줍니다.

 

 

# Cloud Signing

Signing은 앱이 신뢰할 수 있는 개발자가 만든 것이고 해당 앱이 안전한지 보장하는 장치입니다.

 

Signing을 하면 앱의 Archive를 IPA 파일로 변환시키고 배포를 위한 서명을 합니다.

 

Signing의 종류는 Automatic과 Manul이 있어요.

  • Automatic: Xcode가 알아서 서명
  • Manual: 인증서, 프로파일을 직접 선택해서 서명

 

 

'Automatically manage signing'을 선택하면 로컬 PC에서 별도의 인증서 설정 없이도 signing이 가능합니다. 이것을 Cloud signing이라고 부릅니다.

 

# Cloud signing

 

Cloud signing이란 인증서와 private key가 클라우드에 저장되고 클라우드에서 signing을 하는 것을 의미합니다.

 

Cloud signing 방식을 사용하면 인증서를 로컬 PC에 저장할 필요가 없어집니다.

 

 

내부에서 어떻게 돌아가는지 좀 더 디테일하게 살펴볼게요.

 

Archive 파일을 열면 Developer-signed 된 앱이 있고 이를 통해 partial signature를 생성합니다.

 

 

partial signature는 앱에 대한 Hash 값을 포함하고 있어요.

 

 

이 Hash 값을 클라우드 서버에서 private key와 인증서를 사용하여 서명하고

 

 

서명값을 앱의 partial signature에 추가합니다.

 

 

이제 앱은 Developer-signed 앱에서 Distribution-signed 앱이 되어 App Store Connect에 업로드할 수 있게 됩니다.

 

 

참고로 Cloud signing을 하고 싶으면 Cloud 인증서에 접근할 수 있도록 권한을 추가해줘야 해요.

 

 

# Ad-hoc, Enterprise

Ad-hoc 배포는 사전 등록된 기기에 한해서 Distribution-signed 앱을 설치할 수 있도록 앱을 export 합니다.

 

 

Enterprise 배포는 private 배포로 내부 기업용으로 배포할 때 사용합니다.

 

 

# Xcode command line tool

위에서 설명한 Xcode 배포 기능들은 모두 CLI로 가능해요.

 

[참고] CLI로 Cloud signing과 업로드를 하고 싶으면 App Store Connect에서 'App Store Connect keys'를 발급받는 것이 좋습니다.

'App Store Connect keys'를 사용하고 싶지 않으면 xcodebuild 명령어를 실행하기 전에 Xcode에 개발자 계정으로 로그인되어 있어야 해요.

 

# 참고

 

Distribute apps in Xcode with cloud signing - WWDC21 - Videos - Apple Developer

Discover how to distribute your apps directly to App Store Connect and all the distribution methods supported in Xcode. Explore how to...

developer.apple.com


이번 글은 여기서 마무리.

 

 

 

반응형

'WWDC' 카테고리의 다른 글

[WWDC24] 키노트  (0) 2024.07.14
[WWDC21] Explore structured concurrency in Swift  (0) 2024.05.28
[WWDC21] Meet AsyncSequence  (0) 2024.03.13
[WWDC21] Meet async/await in Swift  (1) 2024.03.09
[WWDC22] NavigationStack, NavigationSplitView  (0) 2024.03.02