VSTS-CI의 Cordova-iOS 빌드에서 "Error code 65 for command: xcodebuild"또는 "Error code 70 for command: xcodebuild"오류가 표시될 때의 해결 방법

환경


  • VSTS (Visual Studio Team Services) CI 서비스 (무료 플랜)
  • Agent: Hosted macOS Preview
  • Node.js: v6.14.1
  • cordova: v7.1.0
  • cordova-ios: 4.5.4

  • 오류 내용



    VSTS-CI의 Cordova-iOS 빌드에서 다음 오류가 표시되었습니다.

    오류 내용: 패턴 1
    Code Signing Error: my-ionic1 has conflicting provisioning settings. my-ionic1 is automatically signed, but provisioning profile 5568-****-****--****--****--****-****6d55 has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the project editor.
    Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.2'
    
    Error code 65 for command: xcodebuild
    

    오류 내용: 패턴 2
    error: exportArchive: "my-ionic1.app" requires a provisioning profile.
    Error Domain=IDEProvisioningErrorDomain Code=9 ""my-ionic1.app" requires a provisioning profile." UserInfo={NSLocalizedDescription="my-ionic1.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
    
    Error code 70 for command: xcodebuild
    

    원인



    원인을 확인할 수 없었다.
    아마도 xcode-8로부터 프로비저닝 프로파일이 자동 취득이 되었기 때문에, CI 환경에서 그 자동 취득이 잘 되지 않는 것으로 보인다.

    대응



    cordova 빌드 구성 파일 ( build.json )에 프로비저닝 프로파일 지정 방법 ( CODE_SIGN_STYLE )을 수동 ( Manual )으로 설정하고 provisioningProfile 항목에 프로비저닝 프로파일의 UUID를 지정하십시오.

    build.json
    {
        "ios": {
            "debug": {
                "codeSignIdentity": "iPhone Developer",
                "developmentTeam": "**********",
                "packageType": "development",
                "provisioningProfile": "********-****-****-****-************",
                "buildFlag": [
                    "CODE_SIGN_STYLE=Manual"
                ]
            },
            "release": {
                "codeSignIdentity": "iPhone Developer",
                "developmentTeam": "**********",
                "packageType": "app-store",
                "provisioningProfile": "********-****-****-****-************",
                "buildFlag": [
                    "CODE_SIGN_STYLE=Manual"
                ]
            }
        }
    }
    
  • developmentTeamprovisioningProfile********** 는 각각 설정한다
  • xcode-8 에서 codeSignIdentity 는 debug 와 release 둘 다 iPhone Developer 로 한다
  • 좋은 웹페이지 즐겨찾기