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)