Search code examples
objective-cxcodexcode10

Wrong team/provisionning profile when using xcodebuild command


I'm trying to build a continuous integration's script on my xcode project, but I'm stuck trying to archive my xcode project using xcodebuild command. When trying :

sudo xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
  • XXX is my project name

  • YYY is my development team identifier, like ABC123DEF, it's a string

  • ZZZ is my provisionning profile name, not a code but a string, like "My Provisionning Profile"

I always get this error :

error: No profile for team 'YYY' matching 'ZZZ' found: Xcode couldn't find any provisioning profiles matching 'YYY/ZZZ'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor. 

However, when opening manually the XCode project and trying to archive, it works perfectly.

What am I missing? How can I get the full list of team/provisionning_profile installed on my Mac?

What I have tried so far :

  1. I tried to remove the part where I specify the development team and provisionning profile, leaving only the scheme identifier. Same result considering the scheme is defined with the same informations.

  2. I tried to go in my mobileprovision folder to check if the provisionning profile exists (it exists)

  3. I tried to display the xcode archive command lines in the editor (On the Report navigator tab). Actually it never shows the xcodebuild command directly but a bunch of subcommands. However I could find out that my XXX team identifier and YYY provisionning profile that I am using are using in this script

Does anyone know how I can solve this issue?


Solution

  • I finally found the problem, it came from the sudo before xcodebuild.

    The sudo command will run the following action under the root user by default, which doesn't have any provisioning profile installed, as I always registered them under my user profile.

    here is what I did :

    sudo -u myuser xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
    

    and the error disappeared. Hope this can help someone.