I’m trying to upload a build to the Mac App Store, and I’m getting these errors :
ERROR ITMS-90511: “CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value ‘com.fmod.fmodstudio’ of ‘xxxxxx.app/Contents/PlugIns/fmodstudio.bundle’ is already in use by another application.”
ERROR ITMS-90511: “CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value ‘com.fmod.resonanceaudio’ of ‘Sunblaze.app/Contents/PlugIns/resonanceaudio.bundle’ is already in use by another application.”
What’s the recommended way to deal with this? I read something about adding --remove-signature to the codesign command, but that didn’t seem to change anything.
Apple requires that every bundle uploaded to their App Store has a globally unique identifier. This means you need to modify the CFBundleIdentifier value in all the FMOD bundles (and any other 3rd party bundles you might use) and re-codesign everything before submitting.
In short, look in all the Info.plist files in your app and append a unique id like your game name to any FMOD CFBundleIdentifiers e.g. ‘com.fmod.fmodstudio’ should become ‘com.fmod.fmodstudio.mygame’, ‘com.fmod.resonanceaudio’ should become ‘com.fmod.resonanceaudio.mygame’ etc.
You may need to remove the original FMOD signature first with --remove-signature before signing it all again with your signature.
Hopefully Apple will relax this requirement soon so we don’t need to do these workarounds.
Thanks! That did make my game pass validation. However, it’s now showing me this error :
FMOD.Memory.GetStats (System.Int32& currentalloced, System.Int32& maxalloced, System.Boolean blocking) (at <3780f6b4f1ff43daba44342ce793fcf7>:0)
Is there anything else I need to do after changing the bundle ID in the info.plist?
(edited because there was an unrelated issue first that I managed to solve)
Ok I figured it out. What wasn’t clear to me was that the --remove-signature has to be called on the individual bundles, and not the app itself.
So if anyone stumbles on this, what you need to do is :
codesign --remove-signature “APPPATH/Contents/PlugIns/resonanceaudio.bundle”
codesign --remove-signature “APPPATH/Contents/PlugIns/fmodstudio.bundle”
and then code sign your app.
Great news! Glad you got it working.