일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- UserDefaults
- input
- 입력
- DISPATCH
- vtable
- hitTest
- ios
- AVCaptureSession
- 전자출입
- ReactorKit
- URLSession
- weak self
- moya
- async
- readLine
- Responder chain
- 사내배포
- swift
- RxSwift
- Python
- MaxHeap
- Combine
- BidirectionalCollection
- delays deallocation
- UIResponder
- 공백
- Custom Class
- Asnyc
- binder
- reversed
- Today
- Total
틈틈히 적어보는 개발 일기
[iOS][Swift] Ad-Hoc, In-House 배포와 관련된 이슈 정리 본문
직접 ipa파일을 배포하는 과정에서 발생했던 이슈 및 배포 방법에 대해 고민했던 자취를 남기고자 한다.
앱스토어를 통하지 않고 개별적으로 배포하고자 고려했던 방법이다.
- TestFlight
- ad-hoc (배포파일 직접 전달)
- In-House (Enterprise)
상황정리
- QA 및 배포 파일이 불특정 다수의 기기에 빌드가 되어야 한다.
- 지속적인 업데이트를 즉각적으로 받아볼 수 있어야 한다.
- 기기 수는 수백대로 추측된다.
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 하면 해결 되었다.
'📱 iOS, Swift' 카테고리의 다른 글
[iOS][Swift] Responder Chain, hitTest, point (hitTest, point의 호출 로직) (1) | 2022.03.06 |
---|---|
[iOS][Swift] Final 키워드에 관한 문법적 의미와 성능적 관점 (1) | 2022.01.24 |
[iOS][Swift] QRCode 리더, 스캐너를 만들어 보자! (1) | 2021.02.08 |
[iOS][Swift] 커스텀 클래스를 UserDefaults에 저장해보기, Singleton 패턴 적용하기 (0) | 2021.01.05 |
[iOS][Swift] View Animation 구현하기 (0) | 2020.06.08 |