fmod-gdextension icon indicating copy to clipboard operation
fmod-gdextension copied to clipboard

iOS: Error on uploading build to App Store

Open raggy opened this issue 6 months ago • 6 comments

I am able to build the project fine and upload to my iPhone locally, but on uploading to App Store I'm getting an error:

Validation failed (409) Invalid Bundle. The bundle Spooky Express.app/Frameworks/libGodotFmod.ios.template_debug.universal.framework does not support the minimum OS Version specified in the Info.plist. (ID: 5b0a31e4-0f38-43b9-b801-21fe1edeb74b)

I saw this now-closed issue where someone was having the same thing occuring and it was suggested to edit the Info.plist, but I'm not clear on what would need changing: https://github.com/utopia-rise/fmod-gdextension/issues/247

raggy avatar Jun 24 '25 15:06 raggy

Hello ! Which godot version are you using ?

piiertho avatar Jun 24 '25 16:06 piiertho

Hey, thanks for the quick reponse. It's Godot 4.4.1. I'm using the libraries from https://github.com/utopia-rise/fmod-gdextension/releases/tag/5.0.6-4.4.0 and Xcode 16.2

raggy avatar Jun 24 '25 16:06 raggy

Can you share the iOS version set in info plist in generated Xcode project by the export ? I think we maybe need to update Godot cpp

piiertho avatar Jun 25 '25 13:06 piiertho

I can't see anything in the Info plist, but the Xcode project is set to target iOS 14.0

Image

raggy avatar Jun 25 '25 13:06 raggy

I think I got it.
In godot-cpp sconstruct minimum ios version is 12: https://github.com/godotengine/godot-cpp/blob/c943beb4f40dd0d8e2c55d346a11b4dc57dee1ca/tools/ios.py#L16
Can you try to change min ios version to 12 in your export to confirm it ?

Image

piiertho avatar Jun 26 '25 07:06 piiertho

Unfortunately it failed with the same error. I have double-checked and it does say it's now targetting iOS 12.0 in Xcode.

Image

raggy avatar Jun 26 '25 11:06 raggy

I did a little more digging on this. I found a suggestion from an Apple engineer on how to find out the minimum OS version required for a framework: https://developer.apple.com/forums/thread/705297?answerId=711975022#711975022

Following the steps, I got the following results:

      cmd LC_BUILD_VERSION
  cmdsize 32
 platform IOS
    minos 17.5
      sdk 17.5
   ntools 1
     tool LD
  version 1053.12
Load command 10
      cmd LC_SOURCE_VERSION
  cmdsize 16
  version 0.0

So it seems like the addon requires a minimum target of 17.5. I tried changing my Xcode project to target 17.5, but had the same error. Thought I'd pass it along in case it helps somehow.

Is there any more info I can pass along to help with this?

raggy avatar Jul 03 '25 13:07 raggy

So how did you change the Xcode target project ? Unfortunately none of the maintainers have an apple developer account, so hard to tests this :|

piiertho avatar Jul 03 '25 14:07 piiertho

So I first tried setting the Min iOS Version option in Godot's Export settings, then also this option in the General tab in Xcode, but didn't seem to have any affect:

Image

raggy avatar Jul 03 '25 15:07 raggy

Aha, so, I have managed to get a build uploaded. Digging around in the Xcode project files generated by Godot, I found another Info.plist that has a MinimumOSVersion line set to 12.0. Changing this to 17.5 allowed the build to upload successfully.

In the build, the file lives at [Project Name]/dylibs/addons/fmod/libs/ios/libGodotFmod.ios.template_release.xcframework/ios-arm64/libGodotFmod.ios.template_release.universal.framework/Info.plist. I can't find this file in the project otherwise so it seems to be generated when Godot makes the Xcode project.

raggy avatar Jul 03 '25 16:07 raggy

I was on the same path, the built dylib does not have the right version and version is not set in generated info.plist If you look into published addon folder you can see the generated plist, which does not have any minimum version

piiertho avatar Jul 03 '25 16:07 piiertho

Once CI of the PR pass, can you test with generated artifacts ?

piiertho avatar Jul 03 '25 16:07 piiertho

Once CI of the PR pass, can you test with generated artifacts ?

I deleted and regenerated the Xcode project after grabbing the new libs and it uploaded just fine. Seems to work!

raggy avatar Jul 03 '25 17:07 raggy