Search code examples
iosxcodeprovisioning-profile

Xcode 10 can't find provisioning profile, but it exists in ~/Library/MobileDevice/Provisioning Profile


There are many, many duplicates of this question for OLDER VERSIONS OF XCODE. None of those links have worked for me. Please recognize that I am not asking this question without having first looked through many other questions which may seem very similar, but are not.


I am getting an error:

No profiles for 'io.chooseHealth.app' were found Xcode couldn't find any iOS App Development provisioning profiles matching 'io.chooseHealth.app'.

The error seems pretty self-explanatory, it can't find the right provisioning profile. What's confusing is that when I go to ~/Library/MobileDevice/Provisioning Profile, I find the following:

enter image description here

Key to notice in the image above is that it is a provisioning profile which exists in the Provisioning Profile directory that has an App ID of io.chooseHealth.app. Why is this profile not enabling me to get through this error?


Solution

  • In asking this question, I uncovered a clue which lead to the answer.

    The answer to this question is something I find very ridiculous, but here it is:

    A deployment provisioning profile is not able to be used for development... which might make sense, except for this: In order to create a development provisioning profile, you must register a device (or list of devices) which the development will be targeted at.

    I do not own an iOS device, so I've been using an emulator. I had stepped through the process of creating a development profile, but was blocked at the device creation stage an assumed the implication was that this type of provision was for local development being deployed to specific devices (perhaps connected to the computer). The very notion that you'd have to have list an arbitrary number (N > 0) of ios uuids in order to compile a binary had not crossed my mind.

    Overall, the mistake was my assumptions that an iOS distribution profile was somehow super to a development one. The two are parallel.

    Also, for anyone stuck on this because they don't own an iOS device, I just used a coworkers UUID, but it made absolutely no checks to verify the uuid was consented to. I'm pretty sure you could just use any random uuid, and a default one might exist somewhere out there.