Today, I installed the latest version of Xcode (16.0) with macOS 15.0.1 and created two provisioning profiles for two of my apps. I then downloaded them from App Store Connect and installed them on my Mac by double-clicking each one, just as I’ve done many times before to install the provisioning profiles I create every year to update my apps with a new certificate.
What’s strange is that when I search in Finder under the Provisioning Profiles section, neither of them appears. I’ve reinstalled them, and still, they don’t show up. They also don’t appear in Solar2D (which makes sense since they aren’t recognized as installed). I’ve restarted my Mac to see if that would solve the issue, but it hasn’t helped.
I can only assume that Xcode has implemented something new that prevents the profiles from being installed by simply double-clicking them.
I’m not sure if what happened with me is similar
but a few days ago I spent 11 hours trapped in the entire loop
Eventually I updated MAC OS to latest, XCode to latest, Solar2D to latest, had to remove a plugin
Created New Certificates and New Provisioning Profiles and it worked like Magic and my publish went through successfully
I updated macOS, Xcode and Solar2D to latest too, created a new Provisioning Profile with a new Certificate that I create some days ago and when I doble-click the downloaded Provisioning Profile, it doesn’t show up as installed on my Mac. I’ve searched on Google but haven’t found a solution yet.
Latest MacOS update (15.0.1) required a major Xcode update (v16). I can no longer build for iOS with Solar2d (2024.3710). Keychain Access has moved from it’s documented (by Apple and Solar2d) location out of the “Application / Utilities” folder. Provisioning profiles are no longer stored where they used to be “user / library / MobileDevice / Provisioning Profiles”. Provisioning profiles have changed as follows:
In previous Xcode releases, these were installed under the path: ~/Library/MobileDevice/Provisioning Profiles.
Starting with Xcode 16, these are installed under: ~/Library/Developer/Xcode/UserData/Provisioning Profiles.
So, QUESTION: how do I point Solar2d’s iOS build at the new provisioning profile location?
Hey @Scott_Harrison, I think you should take a look at this comment by @antkmk. I believe this is what’s causing my issue with the Provisioning Profiles…
Xcode 16.0 just changed the location to
~/Library/Developer/Xcode/UserData/“Provisioning Profiles”
where the provision profiles are stored.
As Solar2D is checking provision profiles on the old location
~/Library/MobileDevice/“Provisioning Profiles”
The best way, until a new solar2d in released is just to create the Symlink, so everytime Solar2d checks to its old location will go to the new location.
To add new profiles, you can do a double click as always.
Thank you @petiflas ! This solution works for me. Looking forward to the Solar2d fix in its build options. But this does work for now. Thank you again!
Hey @petiflas, what should I do if I still have some active profiles in the old location? I can’t remove them to empty the folder for your implementation.
I already tried that option before, and it seems the system doesn’t allow it. Every time I copy and try to paste the files in the new location, after a moment, the files are automatically deleted.
I have still run into an issue with Xcode automatically deleting my provision profiles despite them being valid. It is incredibly frustrating but I finally got it to work. I had to lock them immediately after copying to beat Xcode before it could delete them. Had to spam a bit but it worked. Here is what worked for me. I am using Unreal Engine 5.4.4 with Xcode 16.4, MacOS Sequoia 15.5.
Just to clarify. This did work, but then after the fact you have to change the permissions so that the engine can read them. Changing the permissions after locking them did not make them dissapear. In some bizzare way just having those files locked allowed me to move my provision profiles into the correct folder with the correct permissions and then I just removed the old ones. I do not know why this worked…