xcodebuild 명령의 -exportOptionsPlist 지원(xcode9 beta용)

전제





xcode8까지의 경우



ぃ tp // 이 m / 여를 rks / ms / 7에 f12 아카 bf9679561d84
이쪽의 기사가 참고가 될까.
plist에 제대로 설정을 기재해 주면 빌드->아카이브를 할 수 있게 됩니다.

xcode9 beta의 경우



지금까지는
xcodebuild -workspace ****.xcworkspace -scheme productName -configuration Config CODE_SIGN_IDENTITY='****' -archivePath "***.xcarchive" archive
xcodebuild -exportArchive -archivePath "***.xcarchive" -exportPath "****" -exportOptionsPlist ****.plist

에서 xcarchive 작성 → ipa 작성을 하고 있었습니다만, 갑자기 에러를 토하게 되었습니다. 조사해도 정보가 없기 때문에 어쩔 수 없이 xcodebuild 매뉴얼을 읽으면 아무래도 새롭게 plist 파일에 기술해야 할 내용이 늘어난 것 같습니다.
xcodebuild --help를 보면 exportOptionsPlist에서 필요한 키와 값의 세부 사항을 볼 수 있지만 내 환경에서 help를 열 때 내용을 먼저 아래에 복사합니다.
Available keys for -exportOptionsPlist:

    compileBitcode : Bool

        For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES.

    embedOnDemandResourcesAssetPacksInBundle : Bool

        For non-App Store exports, if the app uses On Demand Resources and this is YES, asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs. Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified.

    iCloudContainerEnvironment

        For non-App Store exports, if the app is using CloudKit, this configures the "com.apple.developer.icloud-container-environment" entitlement. Available options: Development and Production. Defaults to Development.

    manifest : Dictionary

        For non-App Store exports, users can download your app over the web by opening your distribution manifest file in a web browser. To generate a distribution manifest, the value of this key should be a dictionary with three sub-keys: appURL, displayImageURL, fullSizeImageURL. The additional sub-key assetPackManifestURL is required when using on demand resources.

    method : String

        Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package, enterprise, development, and developer-id. The list of options varies based on the type of archive. Defaults to development.

    onDemandResourcesAssetPacksBaseURL : String

        For non-App Store exports, if the app uses On Demand Resources and embedOnDemandResourcesAssetPacksInBundle isn't YES, this should be a base URL specifying where asset packs are going to be hosted. This configures the app to download asset packs from the specified URL.

    teamID : String

        The Developer Portal team to use for this export. Defaults to the team used to build the archive.

    thinning : String

        For non-App Store exports, should Xcode thin the package for one or more device variants? Available options: <none> (Xcode produces a non-thinned universal app), <thin-for-all-variants> (Xcode produces a universal app and all available thinned variants), or a model identifier for a specific device (e.g. "iPhone7,1"). Defaults to <none>.

    uploadBitcode : Bool

        For App Store exports, should the package include bitcode? Defaults to YES.

    uploadSymbols : Bool

        For App Store exports, should the package include symbols? Defaults to YES.

흠흠, 상쾌합니다.
그러나 아무래도 installerSigningCertificateprovisioningProfiles 와야가 새롭게 늘어난 것 같은 생각이 든다.
읽고 글자와 같을까를 붙여, iPhone Distribution:**적인 SigningCertificate와, 프로비저닝 프로파일의 키와 캐릭터 라인의 조합을 추기하면 부드럽게 움직였습니다.
Jenkins 등으로 빌드하고 싶어서 견딜 수 없었던 것이 해소되었으므로 깨끗이했습니다.

좋은 웹페이지 즐겨찾기