Apple Developer Account App배포하기 XCode설정 - sonkoni/Koni-Wiki GitHub Wiki
◀ Apple Developer Account
plist 설정
InfoPlist.strings
--------------------
CFBundleDisplayName : 앱이름(사용자와 시리, 파인더에 노출됨)
CFBundleName : 짧은앱이름(CFBundleDisplayName 이 없으면 호출되며 16캐릭터로 글자 제한)
CFBundleShortVersionString : 릴리즈 버전. 앱스토어 배포시 보여질 버전
CFBundleVersion : 빌드 버전. 프로그램을 만들고 실행해보면서 체크하는 버전
NSHumanReadableCopyright : 카피라이트(©2016, My Company. 식으로.)
사용 권한(plist 에 Key/String 등록)
Apple Music Privacy - Media Library Usage Description NSAppleMusicUsageDescription
Bluetooth Privacy - Bluetooth Peripheral Usage Description NSBluetoothPeripheralUsageDescription
Calendar Privacy - Calendars Usage Description NSCalendarsUsageDescription
Camera Privacy - Camera Usage Description NSCameraUsageDescription
Contacts Privacy - Contacts Usage Description NSContactsUsageDescription
Health Privacy - Health Share Usage Description NSHealthShareUsageDescription
Privacy - Health Update Usage Description NSHealthUpdateUsageDescription
Location Privacy - Location Always Usage Description NSLocationAlwaysUsageDescription
Privacy - Location When In Use Usage Description NSLocationWhenInUseUsageDescription
Home Privacy - HomeKit Usage Description NSHomeKitUsageDescription
Microphone Privacy - Microphone Usage Description NSMicrophoneUsageDescription
Motion Privacy - Motion Usage Description NSMotionUsageDescription
Photos Privacy - Photo Library Usage Description NSPhotoLibraryUsageDescription
Reminders Privacy - Reminders Usage Description NSRemindersUsageDescription
Siri Privacy - Siri Usage Description NSSiriUsageDescription
SpeechRecog Privacy - Speech Recognition Usage Description NSSpeechRecognitionUsageDescription
TVProviderAcc Privacy - TV Provider Usage Description NSVideoSubscriberAccountUsageDescription
| Key |
Raw Key |
Type |
Value |
Raw Value |
| Bundle name |
CFBundleName |
String |
$(PRODUCT_NAME) |
$(PRODUCT_NAME) |
| Bundle identifier |
CFBundleldentifier |
String |
$(PRODUCT_BUNDLE_IDENTIFIER) |
$(PRODUCT_BUNDLE_IDENTIFIER) |
| Executable file |
CFBundleExecutable |
String |
$(EXECUTABLE_NAME) |
$(EXECUTABLE_NAME) |
| Bundle version |
CFBundleVersion |
String |
$(CURRENT_PROJECT_VERSION) |
$(CURRENT_PROJECT_VERSION) |
| Bundle version string (short) |
CFBundleShortVersionString |
String |
$(MARKETING_VERSION) |
$(MARKETING_VERSION) |
InfoPlist.strings 설정
- 앱이름(사용자와 시리, 파인더에 노출됨)을 언어에 대응하여 설정하는 방법(ex: 미니타이머)
- InfoPlist (Korean)
"CFBundleDisplayName" = "미니타이머";
- InfoPlist (Hindi)
"CFBundleDisplayName" = "मिनीटाइमर";
Version 설정
- 릴리즈버전(
CFBundleShortVersionString) - 앱스토어에 표시되는 버전
TARGETS -> Build Settings -> Marketing Version
- 빌드버전(
CFBundleVersion)
TARGETS -> Build Settings -> Current Project Version ~ 이건 자동으로 카운트 올리는 것을 설정하면 좋을듯.
빌드 업로드하기
- appstoreconnect 에 빌드버전을 올리기 위해서는 다음과 같이해야한다.
- 우선 Xcode에서 해당 프로젝트를 열고, [Product → Archive] 메뉴를 선택한다. 이때, 빌드 대상을 시뮬레이터로 선택하면 Archive 메뉴가 비활성화되기 때문에 반드시 실기기를 빌드 대상으로 둔다. 그럼 아래 창이 나타날 것이다. 버전과 빌드 번호를 확인하고 Distribute App을 클릭한다.
Trouble Shooting
CFBundleExecutable 문제
CFBundleExecutable 삭제
CFBundlePackageType BNDL(Strig)
Unexpected CFBundleExecutable Key. The bundle at 'Payload/MiniTimer.app/IosRes.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue. (ID: 7c67d9e9-3b10-447d-8d9c-16f342265398)