Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-45509

Xcode 9 requires provisioning profile to be specified when using manual code signing

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Blocker
    • Resolution: Unresolved
    • xcode-plugin
    • Xcode 9 (beta 2), xcodebuild plugin 2.0

    Description

      Since Xcode 9, builds that use manual code signing require that a provisioning profile is specified in the exportOptions.plist when performing an export operation.

      The help for xcodebuild in Xcode 9 states:

      provisioningProfiles : Dictionary 

      For manual signing only. Specify the provisioning profile to use for each executable in your app. Keys in this dictionary are the bundle identifiers of executables; values are the provisioning profile name or UUID to use.

      It would probably require an extra field in the xcodebuild plugin config to allow a profile to be specified by name orUUID, and if specified, include it in the generated exportOptions plist. Or, possibly allow the option of specifying your own exportOptionsPlist that is used instead of the generated one, if specified.

      Without this option, projects that use manual code signing cannot build with jenkins and this plugin.

       

      the console output for a failing build:

      $ /usr/bin/xcodebuild -exportArchive -archivePath "/pathto/app.xcarchive" -exportPath "/pathto/export" -exportOptionsPlist "/pathto/ad-hocTEAMIDExport.plist"
      2017-07-13 12:02:52.196 xcodebuild[5043:2359795] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/sh/pathto/logs'.
      2017-07-13 12:02:53.262 xcodebuild[5043:2359795] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fc0fdfd8720>: Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." UserInfo={NSLocalizedDescription=Locating signing assets failed., IDEDistributionSigningAssetStepUnderlyingErrors=(
      {{ "Error Domain=IDEProvisioningErrorDomain Code=9 \"\"MyApp.app\" requires a provisioning profile.\" UserInfo={NSLocalizedDescription=\"MyApp.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the \"Default\" build configuration in the project editor.}"}}
      )}
      error: exportArchive: "MyApp.app" requires a provisioning profile.Error Domain=IDEProvisioningErrorDomain Code=9 ""MyApp.app" requires a provisioning profile." UserInfo={NSLocalizedDescription="MyApp.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the "Default" build configuration in the project editor.}** EXPORT FAILED **

      Attachments

        Issue Links

          Activity

            jamesrantmedia James Addyman created issue -
            jamesrantmedia James Addyman made changes -
            Field Original Value New Value
            Description Since Xcode 9, builds that use manual code signing require that a provisioning profile is specified in the exportOptions.plist when performing an export operation.

            The help for xcodebuild in Xcode 9 states:
            {quote}provisioningProfiles : Dictionary 

             For manual signing only. Specify the provisioning profile to use for each executable in your app. Keys in this dictionary are the bundle identifiers of executables; values are the provisioning profile name or UUID to use.
            {quote}
            It would probably require an extra field in the xcodebuild plugin config to allow a profile to be specified by name orUUID, and if specified, include it in the generated exportOptions plist.

            Without this option, projects that use manual code signing cannot build with jenkins and this plugin.

             

            the console output for a failing build:

            {{$ /usr/bin/xcodebuild -exportArchive -archivePath "/pathto/app.xcarchive" -exportPath "/pathto/export" -exportOptionsPlist "/pathto/ad-hocTEAMIDExport.plist"}}
            {{2017-07-13 12:02:52.196 xcodebuild[5043:2359795] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/sh/pathto/logs'.}}
            {{2017-07-13 12:02:53.262 xcodebuild[5043:2359795] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fc0fdfd8720>: Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." UserInfo=\{NSLocalizedDescription=Locating signing assets failed., IDEDistributionSigningAssetStepUnderlyingErrors=(}}
            {{ "Error Domain=IDEProvisioningErrorDomain Code=9 \"\"MyApp.app\" requires a provisioning profile.\" UserInfo=\{NSLocalizedDescription=\"MyApp.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the \"Default\" build configuration in the project editor.}"}}
            {{)}}}
            {{error: exportArchive: "MyApp.app" requires a provisioning profile.}}{{Error Domain=IDEProvisioningErrorDomain Code=9 ""MyApp.app" requires a provisioning profile." UserInfo=\{NSLocalizedDescription="MyApp.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the "Default" build configuration in the project editor.}}}{{** EXPORT FAILED **}}
            Since Xcode 9, builds that use manual code signing require that a provisioning profile is specified in the exportOptions.plist when performing an export operation.

            The help for xcodebuild in Xcode 9 states:
            {quote}provisioningProfiles : Dictionary 

            For manual signing only. Specify the provisioning profile to use for each executable in your app. Keys in this dictionary are the bundle identifiers of executables; values are the provisioning profile name or UUID to use.
            {quote}
            It would probably require an extra field in the xcodebuild plugin config to allow a profile to be specified by name orUUID, and if specified, include it in the generated exportOptions plist. Or, possibly allow the option of specifying your own exportOptionsPlist that is used instead of the generated one, if specified.

            Without this option, projects that use manual code signing cannot build with jenkins and this plugin.

             

            the console output for a failing build:

            {{$ /usr/bin/xcodebuild -exportArchive -archivePath "/pathto/app.xcarchive" -exportPath "/pathto/export" -exportOptionsPlist "/pathto/ad-hocTEAMIDExport.plist"}}
             {{2017-07-13 12:02:52.196 xcodebuild[5043:2359795] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/sh/pathto/logs'.}}
             {{2017-07-13 12:02:53.262 xcodebuild[5043:2359795] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fc0fdfd8720>: Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." UserInfo=\{NSLocalizedDescription=Locating signing assets failed., IDEDistributionSigningAssetStepUnderlyingErrors=(}}
             \{\{ "Error Domain=IDEProvisioningErrorDomain Code=9 \"\"MyApp.app\" requires a provisioning profile.\" UserInfo=\{NSLocalizedDescription=\"MyApp.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the \"Default\" build configuration in the project editor.}"}}
             {{)}}}
             {{error: exportArchive: "MyApp.app" requires a provisioning profile.}}{{Error Domain=IDEProvisioningErrorDomain Code=9 ""MyApp.app" requires a provisioning profile." UserInfo=\{NSLocalizedDescription="MyApp.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Select a provisioning profile for the "Default" build configuration in the project editor.}}}{{** EXPORT FAILED **}}
            elihaib Elihai Blomberg made changes -
            Priority Blocker [ 1 ] Critical [ 2 ]
            stakenborg Brandon Stakenborg made changes -
            Priority Critical [ 2 ] Blocker [ 1 ]
            juanmoya Juan Moya made changes -
            Link This issue relates to JENKINS-47744 [ JENKINS-47744 ]
            alkesh_f Alkesh Fudani made changes -
            Assignee nguyen hoang [ nguyenhoang ]
            alkesh_f Alkesh Fudani made changes -
            alkesh_f Alkesh Fudani made changes -
            alkesh_f Alkesh Fudani made changes -
            Comment [ [~nguyenhoang] my question meant, how do I put multiple code signing identity and team id?, Sorry for bothering you so many times but I need to sort this out. ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is duplicated by JENKINS-48256 [ JENKINS-48256 ]

            People

              nguyenhoang nguyen hoang
              jamesrantmedia James Addyman
              Votes:
              23 Vote for this issue
              Watchers:
              31 Start watching this issue

              Dates

                Created:
                Updated: