Environment
- FMOD GDExtension 6.1.0
- Godot 4.6 (Mobile)
Description
Uploading an iOS build App Store Connect / TestFlight gets rejected with:
ERROR: Invalid Code Signature Identifier. The identifier "libGodotFmod.ios" in your
code signature for "libGodotFmod.ios.template-release" must match its Bundle Identifier
"com.<app-id>.framework.libGodotFmod.ios.template-release" (90334)
In the built .app, the embedded framework's Info.plist has the correct CFBundleIdentifier, but its code signature is derived from the file name instead:
CFBundleIdentifier = com.<app-id>.framework.libGodotFmod.ios.template-release
codesign Identifier = libGodotFmod.ios # truncated at the last dot — mismatch
The signing itself is done by Godot's iOS exporter, but the FMOD package triggers it by shipping the iOS slice as a .dylib with a multi-dot name (libGodotFmod.ios.template_release.universal.dylib), so codesign's filename fallback chops at the last dot and never matches CFBundleIdentifier.
Possible fix
Ship the iOS library as a proper .framework-style xcframework slice (with its own CFBundleIdentifier), and/or a dot-free executable name, so codesign signs it with a matching identifier.
Environment
Description
Uploading an iOS build App Store Connect / TestFlight gets rejected with:
In the built
.app, the embedded framework'sInfo.plisthas the correctCFBundleIdentifier, but its code signature is derived from the file name instead:The signing itself is done by Godot's iOS exporter, but the FMOD package triggers it by shipping the iOS slice as a
.dylibwith a multi-dot name (libGodotFmod.ios.template_release.universal.dylib), so codesign's filename fallback chops at the last dot and never matchesCFBundleIdentifier.Possible fix
Ship the iOS library as a proper
.framework-style xcframework slice (with its ownCFBundleIdentifier), and/or a dot-free executable name, so codesign signs it with a matching identifier.