틈틈히 적어보는 개발 일기

[iOS][Swift] Ad-Hoc, In-House 배포와 관련된 이슈 정리 본문

📱 iOS, Swift

[iOS][Swift] Ad-Hoc, In-House 배포와 관련된 이슈 정리

itllbegone 2020. 6. 8. 17:53

직접 ipa파일을 배포하는 과정에서 발생했던 이슈 및 배포 방법에 대해 고민했던 자취를 남기고자 한다.

 

앱스토어를 통하지 않고 개별적으로 배포하고자 고려했던 방법이다.

  • TestFlight
  • ad-hoc (배포파일 직접 전달)
  • In-House (Enterprise)

상황정리

  1. QA 및 배포 파일이 불특정 다수의 기기에 빌드가 되어야 한다.
  2. 지속적인 업데이트를 즉각적으로 받아볼 수 있어야 한다.
  3. 기기 수는 수백대로 추측된다.

TestFlight

해당 방법은 기기수의 제한이 있고, 사용 기간의 제약(90일) 이 있을 뿐 더러 애플 심사를 거쳐야 하므로 빠른 피드백과 배포를 위한 방법으로는 적합하지 않았다. 또한 TestFlight를 통해 배포를 해야 했으므로 말 그대로 Test를 위한 용도로 고려함이 좋다.

 

Ad-Hoc

ipa파일을 archive하여 배포가 가능하다. 그러나 기존 개발자 계정으로는 UDID의 수집이 필요하다는 제약이 있으며 조건 1 의 불특정 다수의 기기에 빌드가 불가능 하다.

 

In-House

즉 위의 조건들을 해결하려면 Apple Developer Enterprise 계정이 필요하며 해당 계정으로 Signing 된 앱이라면 조건을 충족시킬 수 있다.

 

먼저 해당 계정 소유주에게 내 개발자 계정을 알려주어 member로 등록을 요청 하였고, Bundle Identifier를 전달해 해당 계정에 앱 등록을 하였다. 또한 Push기능을 사용 한다면 APN key도 같이 요청한다.
그 후 Release용 Provisioning Profile, 배포용 Signing Certificate을 전달 받아 해당 파일들로 Signing 후 archiving하고, 이 때 ad-hoc (enterprise) 로 validate 하게 되면 모든 조건을 충족하는 ipa파일이 생성되어 해당 파일을 전달해주면 된다. 또는 https://getappbox.com와 같은 툴을 이용해 링크를 통한 배포도 가능하다.

 

 

번외

해당 과정 중, 오래된 라이브러리(objective-c로 일부분 작성된) 를 사용하면서 (FSCalendar) 기기에 빌드가 되지 않아 Unable To Install "AppName", please try again later 이라는 alert이 뜨는 현상이 있었다.

해당 문제는 File - Workspace Settings - Build System 이 기존 New Build System에서 Legacy Build System으로 변경하여 빌드 후 archive 하면 해결 되었다.

Comments