-
-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App validation errors when submitting to App Store on Xcode 15.4 #181
Comments
Hello @Pulstarter There are two possibilities:
|
Hello 😄 Could you check if that binary works better? |
Thanks a lot for your effort and your package. However the result is the same. I have updated these files: MD5 (libgdsqlite.ios.template_release.arm64.dylib) = b77482b71642b51a099656a8e85f24a1 And the messages are the same. I test to do not embed and sign the libdgsqlite.ios.template_release.arm64.framework in Xcode -> General -> Sqliteapp -> Frameworks, Libraries and Embedded Content, and the validation pass, but the app crashes at startup with an error. I know that it does not mean anything, but I paste it anyway :-D
Best regards. |
Hello @Pulstarter, Here's another attempt at fixing the issue where I have modified the build system to:
Would it be possible to try with these new binaries? |
Hi! I am very sorry to bother your with this, but I don't know how to apply these last binaries to the current project. Do I need to add them in Xcode or in the addons folder? Thanks |
Hello! It should be in the addons/godot-sqlite/bin/-folder :) Also you'll have to update the |
Hi! Thanks a lot. Unfortunately it does not work, but the error messages are different: Asset validation failed Asset validation failed Asset validation failed If I don't embed them, I get a differente error too when running the app. Hope it helps |
Hi @Pulstarter :/ I am at a loss atm... Please feel free to add more information or correct me if I wrote something wrong in that issue. |
Hi again! First thank you for all the effort. Here's One little update. I have updated the filename for ios on the
Now when archive on xcode and test the app only appears this error:
I test with both original files and modified ones and the result is the same. I see that on this path:
there is a file Info.plist with MinimumOSVersion -> 10.0, but on Xcode, minimun version is 12.0. From here I don't know if you can do that this Info.plist target MinimumOSVersion 12.0 or is a Godot Engine task when exporting. |
Maybe related: |
Hi! I have tested it on Godot 4.3.beta3 and now it the Min IOS version is configurable in the editor. Now appear another error, but this is more related to the editor rather than the plugin:
I see that there is an issue opened with the same problem: So I think this one can be closed because it is not a problem of this plugin. |
Can someone unsubscribe me from these threads? I have been trying for more
than a year without success.
Cheers,
JG
…On Sun, 21 Jul 2024 at 05:10, Piet Bronders ***@***.***> wrote:
Hi @Pulstarter <https://github.com/Pulstarter> :/
I am at a loss atm...
I made a new issue in the godot-cpp repository since they might better
know how to help you:
godotengine/godot-cpp#1532
<godotengine/godot-cpp#1532>
Please feel free to add more information or correct me if I wrote
something wrong in that issue.
—
Reply to this email directly, view it on GitHub
<#181 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABOHKZAEMXIDDFO4LFGDG43ZNKYZJAVCNFSM6AAAAABK57RUVKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGI3DIOBRGQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Hi all. I would like to show what I believe the issue to be and demonstrate what As Pulstarter noted, these are two separate problems, one of which can be solved The other fix seems to be a linker-related issue. The way compiling for iOS works is You can view the minimum iOS version that is being linked to with the command: BUT the fix is quite simple because linking happens at run-time and thus can be changed "vtool -set-build-version ios 12.0 15.2 -tool -ld 711.0 -output libgdsqlite.ios.debug.arm64 libgdsqlite.ios.debug.arm64" and you can set the minimum ios version that is linked to be 12.0 instead of 15.2. A word of caution: this would not work on all binaries or automagically solve ANOTHER step that is necessary is changing the minimum os version specified in the I'm not sure how this repository could be updated so these manual steps are not If for some reason you are targeting a different minimum iOS version other than 12.0, Hope that helps! |
FURTHER UPDATE: I bought one month's worth of access to a real-device testing platform in order to test my app on different phone models (to get the scaling right) and also to ensure there were no compatibility issues (I was worried my workaround for getting this repository's binary to validate might cause issues). What I discovered is that the "mobile" renderer has a minimum iOS version requirement of 16.0. I did not test the "forward+" renderer but I think this is the same as well. Then, the "compatibility" renderer has a minimum iOS version of 14.1. I couldn't test 14.0 as the real-device testing platform didn't have a phone with this version, all I know is 13.X all resulted in crashes on startup and 14.1+ didn't crash at all with the "compatability" renderer. BUT in 0 cases were there any compatibility issues due to this code repository while employing the workaround that I have shared here for getting the app validation to work. All the crashes seem to have been due to the various Godot renderers being used on unsupported iOS versions, not this repository failing. My only recommendation would be that if anyone publishes a Godot app on iOS, they should keep in mind the minimum iOS compatibility version of the renderers (which I more or less found through trial-and-error). |
Environment:
Issue description:
When trying to upload a release app to App Store, validation fails with these errors:
Asset validation failed
This bundle is invalid. The bundle at path Payload/sqlite.app/Frameworks/libgdsqlite.ios.template_release.arm64.framework has an invalid CFBundleIdentifier 'com.gdextension.framework.libgdsqlite.ios.template_release.arm64' There are invalid characters(characters that are not dots, hyphen and alphanumerics) that have been replaced with their code point 'com.gdextension.framework.libgdsqlite.ios.template\u005frelease.arm64' CFBundleIdentifier must be present, must contain only alphanumerics, dots, hyphens and must not end with a dot. [see the Core Foundation Keys at https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-102070-TPXREF105] (ID: e8319f15-7e57-4937-a351-36c53c0433dc)
Asset validation failed
Invalid Bundle. The bundle sqlite.app/Frameworks/libgdsqlite.ios.template_release.arm64.framework does not support the minimum OS Version specified in the Info.plist. (ID: 38532462-c628-4c17-9cf3-d706966b604c)
Steps to reproduce:
1.- Create new app in Godot 4.2.2 and make an empty scene for testing.
2.- Install godot-sqlite plugin from the AssetLib and activate.
3.- Export the app with IOS preset just filling App Store Team ID and Bundle Indentifier.
4.- Uncheck "Export with debug"
5.- Open the exported projects in Xcode and exec "Product -> Archive"
6.- When finish, press "Validate App" in the archives section.
Minimal reproduction project:
Just a new Godot 4.2.2 Project.
Additional context
The MinimumOSVersion in the global project is 12.0, but if we read this file:
<exported_dir>/sqlite/dylibs/addons/godot-sqlite/bin/libgdsqlite.ios.template_debug.arm64.framework/Info.plist
we can find that this key is 10.0
MinimumOSVersion
10.0
The text was updated successfully, but these errors were encountered: