iOS Auto Provision v1.0.0

We released a new version (1.0.0) of iOS Auto Provision step.

Changes:

  • support iOS projects with Xcode’s Automatically manage signing option
3 Likes

1.0.0 !!! Congrats @godreikrisztian :wink: :tada:

The latest version of ios-auto-provision (1.0.0) broke our build with this error:

No profiles for ‘our_project.bundle.id’ were found: Xcode couldn’t find a provisioning profile matching ‘our_project.bundle.id’.
Code signing is required for product type ‘Application’ in SDK ‘iOS 10.3’

** ARCHIVE FAILED **

We were able to fix this issue by reverting to the previous version of ios-auto-provision (0.9.7)

2 Likes

This version has also broken our build with the error.

Error:
failed to find Xcode managed provisioning profile for bundle id: our.bundle.id
Stacktrace (for debugging):
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/portal/profile_client.rb:23:in `ensure_xcode_managed_profile'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:50:in `block in ensure_xcode_managed_profiles'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:44:in `each'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:44:in `ensure_xcode_managed_profiles'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:25:in `block in ensure_profiles'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:23:in `each'
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/lib/autoprovision/profile_helper.rb:23:in `ensure_profiles'
/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise659329409/step_src/step.rb:79:in `<main>'

Broke my build as well.

The “Auto Provision” step works fine and detects “Xcode managed signing”:

Analyzing project
project codesign identity: iPhone Developer
project team id: SD484P9T54
uses xcode managed signing: true

But later at the Xcode Archive step (version 2.4.6):

Code Signing Error: No profiles for 'our.bundle.id' were found:  
Xcode couldn't find any iOS App Development provisioning profiles matching 'our.bundle.id'. 
Automatic signing is disabled and unable to generate a profile. 
To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.2'

The Xcode project uses “Automatically manage signing” and always has in the past. This worked fine with previous versions of the “iOS Auto Provision” step.

Hi @etayluz,
thanks for the report!

Could you please link your failed build?

Hi @MattCheetham ,
thanks for the report!

Have you ever generated an ipa using distribution type you defined for the Auto Provision step in your local Xcode?

Also could you please attach your failed build url?

Hi @matthias.buchetics ,
thanks for the report!

Could you please attach your failed build url?

Sorry I’m not sure I understand your question. We have automatic provisioning enabled on the project and haven’t had any issues until this update. I don’t think I’ve done a manual export through Xcode for this bundle ID before.

1 Like

Here is the affected build:

1 Like

@MattCheetham it seems the step is able to determine your scheme target’s bundle id.

Then the step tries to ensure the app-store and development type Provisioning Profile for this target.
The development target’s Profile seems to be existing on Developer Portal and it downloads successfully,
but it does not find the app-store Profile on Developer Portal.

This can happen if you did not generated the app-store profile yet, this means you never exported an app-store type ipa file in your local xcode, by using managed Profiles.

Is it possible?

1 Like

@matthias.buchetics it seems you did not upload any development type codesign identity, thats why the step can not ensure the existence of your development profile and xcode missis this file:

Xcode couldn't find any iOS App Development provisioning profiles matching 'your.bundle.id'.

Please upload your development type codesign identity, which you use locally for Xcode managed signing.

Other then this the step finds your enterprise profile and installs it, when you upload the extra certificate it should work.

1 Like

We are also having an issue with the latest version of auto-provision step not being able to find the bundle id. Before today this was working fine.

The project had the client bundle identifier, and “automatically manage signing” checked, and the team set to the client. Then we use the “Replaces Xcode’s project PRODUCT_BUNDLE_IDENTIFIER” step to change it to the enterprise bundle id. With this update it cannot find the Xcode managed provisioning profile as the profile has been managed by Bitrise. The fix was to revert back to 0.9.6.

Log:

Ensure Provisioning Profiles on Developer Portal
distribution_types: [“enterprise”]
checking xcode managed enterprise profile for target: RTV (enterprise.com.myapp.beta) with 2 services on developer portal

Error:
failed to find Xcode managed provisioning profile for bundle id: enterprise.com.myapp.beta

I’ll try generating it again today and see if it resolves it. Is this a new requirement with this version? It has been building fine for as long as I remember but as soon as we switched to v1.0 it broke. That would be an odd coincidence.

That fixed it, thanks!

1 Like

Exporting via xcode then running a rebuild has fixed it. Thanks! I guess by chance the profile must have expired at the exact same time as you releasing the update.

1 Like

Hi, sorry for the inconveniences!
Could you please write us a message on bitrise.io on-site-chat? I would need to have a look on your .xcodeproj file to debug the issue.

@MattCheetham, thanks for your debugging ad for sharing your experiences.

Before 1.0.0 the step does not cared if the project uses Xcode managed signing or not.
It picked the target bundle ids which needs to be signed and ensure both the app and the profile for the targets then it modified your project to use manual singing with the ensured codesigning resources.

This seemed to be fine, but in some cases if Xcode registers an App ID for your bundle id, it is not accessible on Developer Portal: https://github.com/bitrise-steplib/steps-ios-auto-provision/issues/11#issuecomment-351995669

From 1.0.0 if the project uses Xcode manage signing it does not generates anything, since Xcode generates the codesigning files for you, the step just downloads them.

The problem is that by default the managed Profile is a development one, which is fine thought development. Xcode generates it for you and it is accessible on Developer Portal.

But the desired distribution Profile is only generated when you first time locally export an ipa file, with the desired distribution type and using xcode auto signing).

1 Like

I continue to have problems since 1.0. Projects that build fine using 0.9.7 fail:

:x: error: Provisioning profile “iOS Team Provisioning Profile: xxx” doesn’t include signing certificate “iPhone Developer: xxx”. (in target ‘xxx’)

Additional info: building an archive and exporting works fine in Xcode. But I still can’t get it to run using Bitrise. I tried to run “codesigndoc” again but the exported certificates seem to be the same and uploading them didn’t change anything.
It works by going back to 0.9.7

1 Like

Hi @matthias.buchetics,

please have a look on the auto-provision step’s log:

Provided an older version of iPhone Developer: XYZ certificate (serial: OLD_SERIAL expire: 2018-11-17 08:08:57 UTC),
please download the most recent version from the Apple Developer Portal (serial: LATEST_SERIAL expire: 2018-04-04 13:43:11 UTC) and use it on Bitrise!e

Your project uses xcode managed signing and xcode assigned the latest version of the certificate to your managed profile.

1 Like