iOS automatic provisioning does not use a profile with all devices included

I am using the new 1.0.0 iOS automatic provisioning step in my workflow. I have my certificate uploaded and all proper identities included. However the provisoning profiles generated do not include all devices listed on my Apple Developer portal. If I add new testers to my app and they register their devices, they are not able to install the app my workflow builds. How do I make sure the provisioning profile used includes all registered devices? How do I make sure that when a new tester registers a device, the next build will use a profile that ensures they can install the app, without me having to reupload the certificate or re-run the codesigndoc tool?

Update: the workaround for this issue seems to be to delete everything in ~/Library/MobileDevice/Provisioning Profiles while Xcode is open, which then will re-download the profiles that it’s managing (which are different from the deleted ones). After this happens, the correct profiles are pulled during the Auto-Provision step, which include the updated list of devices.

How do I avoid needing to use this workaround?

Do you mean you had to do this on your own Mac, not on bitrise.io, right?

This shouldn’t be required - can you try to add a new tester/device, and see if this is still required? It definitely should not be, I expect this was related to something else and was a one time thing… In any case it’d help a lot to know this, let us know how it goes! :wink:

Hi @jordanekay,

where did your testers register there devices? On Dev Portal or on Bitrise?

1 Like

Correct.

Just tried again, and it still seemed to be required. Bitrise seems to be using a cached version of the managed provisioning profiles from the Dev Portal, instead of using the one that’s actually there.

1 Like

They registered them on Bitrise. The step successfully added these UDIDs to the Dev Portal, but the provisioning profile the step downloaded did not include them.

1 Like

not a fix, but I reverted to 0.9.7, and builds are fine.
1.0.0 was also failing for me.

Thanks @jordanekay for the infos! We’ll check why this might happen & fix it ASAP!

@pearsports this thread is about the step working (no error) but not updating the Prov Profiles when a new tester is added to it.

If the step fails for you please create an issue report at http://discuss.bitrise.io/c/issues/build-issues and we’ll check it ASAP! :slight_smile:

@jordanekay could you please write a message us on bitrise.io on-site-chat i would need to have a look on your build log.

1 Like

Actually, downgrading the step to 0.9.7 seems to fix this issue.

1 Like

Glad to hear @jordanekay! :slight_smile: That said, can you please ping us via the onsite chat, as requested by @godreikrisztian ( :point_up_2: iOS automatic provisioning does not use a profile with all devices included )? It’d help a lot, to fix it in the v1.0 and newer versions of the step! :wink:

I have the same issue as @jordanekay, it’s still a problem with 1.0.1 and I described it in more detail here: iOS Auto Provision v1.0.1

@viktorbenei @godreikrisztian If I can help you in any way to fix this problem, let me know. Keep using 0.9.7 isn’t a very future proof solution :slight_smile:

1 Like

Same issue here. Had to revert to 0.9.7 for it to pick up device changes in provisioning profiles.

1 Like

We’ll fix it ASAP, still discussing the details & debugging it a bit, but we believe we now have a reasonable solution idea for it. Will update you once the fix is available, until that please use v0.9.7 of the step.

Any news here?

Does it still happen with the latest v1.0.2 version? @matthias.buchetics

Sorry, haven’t tested the latest version because the changelog hasn’t mentioned anything in that regard. Should it be fixed? How is the behavior in 1.0.2?

I’m not 100% sure but I believe the v0.x behaviour was restored with a fallback to the new v1.x behaviour which caused the non updating issue but is necessary in some cases when the v0.x behaviour resulted in an error while the v1.x one could generate the files just fine.

We can wait for @godreikrisztian to confirm whether that change was implemented in 1.0.2 at the end, but that might take some time as he’s on vacation right now.

If you have some time @matthias.buchetics please try the new version and let me know whether it’s fixed or I should bump the priority of this issue!

As far as I can tell, 1.0.2 behaves just like 1.0.0 and 1.0.1 in that regard. It checks if the devices are registered on the developer portal (they are), does not re-create a provisioning profile (0.9.7 does) and uses a Xcode managed profile (iOS Team Provisioning Profile) which in my case only has one device included.

Build using 0.9.7: https://www.bitrise.io/build/a5ee50c24d1ab9e3 (28 devices included in the provisioning profile)
Build using 1.0.2: https://www.bitrise.io/build/91ca796c76542a7f (1 device included, the one that I use when developing with Xcode but none of our other test devices)

@viktorbenei @godreikrisztian in some other project, I couldn’t get 1.0.2 to work at all. see this build: https://www.bitrise.io/build/b140838d5f1f2a0f
Auto provisioning step is sucessful but Export & Archive fails due to missing provisioning profile.
Going back to 0.9.7 fixes it.

1 Like