MobiVM / robovm

Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux
https://mobivm.github.io
960 stars 133 forks source link

Xcode 16 issues with Provisioning Profiles #795

Open knepe opened 1 month ago

knepe commented 1 month ago

Issue details

Recently I upgraded Xcode to latest, 16.0. After this I cannot see new/updated Provisioning Profile in the RoboVM menu -> Create IPA (using Android Studio with latest plugin). It does not find the profile if I specify it in the gradle file with iosProvisioningProfile either. I think (just guessing as I dont know much about this) that they changed the location of where they store the profiles from ~/Library/MobileDevice/Provisioning Profiles to ~/Library/Developer/Xcode/UserData/Provisioning Profiles and maybe that is why RoboVM cant find it as it looks in the old directory? I can see my new profiles in ~/Library/Developer/Xcode/UserData/Provisioning Profiles but not in ~/Library/MobileDevice/Provisioning Profiles, and if I try to copy the new profiles to ~/Library/MobileDevice/Provisioning Profiles they get autodeleted instantly.

Reproduction steps/code

Upgrade to Xcode 16.0 and create a new Provisioning Profile in developer.apple.com and Download/import it in Xcode and try to use it when signing with RoboVM

Configuration

MacOS 15.0 Android Studio 2024.1.2 Patch 1 RoboVM Intellij plugin 2.3.22-SNAPSHOT RoboVM 2.3.22 Gradle 8.1.4

Build Tools:

Versions:

Please provide the version of RoboVM, XCode and JDK used

Build Targets: Not relevant


Stacktrace

-

knepe commented 1 month ago

https://github.com/MobiVM/robovm/blob/2dd2513df7270efae914814899726f54b74120dc/compiler/compiler/src/main/java/org/robovm/compiler/target/ios/ProvisioningProfile.java#L199

This need to also search in the new directory I think?

knepe commented 1 month ago

A workaround that worked for me was to:

  1. move out the provisioning profiles from the old directory
  2. remove the old the directory
  3. create it again
  4. copy all profiles (old ones and new ones from Library/Developer/Xcode/UserData/Provisioning Profiles) into old directory again

Then it does not delete them instantly and I can sign my apps

hapaboyjr commented 2 weeks ago

How do you list the provisioning profiles?

dkimitsa commented 1 week ago

@hapaboyjr you can just link new location to old one

ln -s ~/Library/MobileDevice/Provisioning\ Profiles ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles

as a fix is proposed and reviewed #797