As of yesterday, when trying to archive and upload a new binary in App Store, I get the following error:
_ITMS-90806: CFBundleIdentifier collision - Each bundle must have a unique bundle identifier. The bundle identifier 'org.cocoapods.Alamofire' is used in the bundles '[Alamofire.framework, Alamofire.framework]'_
A related issue was raised for other libraries here suggesting that the library has the same bundle identifier for iOS and watchOS and one of them should be changed.
Alamofire version: 4.8.2
Xcode version: 10.2
Swift version: 5.0
Platform(s) running Alamofire: iOS, watchOS
This is a CocoaPods issue they're already tracking. Apple playing games with bundle verification again.
@jshier, Not sure it is a CocoaPods issue only. We are using Carthage and having the same issue. It would just need to change the bundle identifier of the project to this org.alamofire.Alamofire.${PLATFORM_NAME}.
Thanks!
Ah, true. We should probably change this on all platforms. I wonder how SPM will handle this.
SPM won't need to handle this since it only supports static products.
I'm curious how we've been doing this at Nike for the past year. We've been shipping Alamofire on iOS and watchOS on NRC the whole time through CocoaPods. I'll do a bit of digging...
Looks like a new warning, so unless you've done a release over the last few days, you wouldn't've seen it yet.
Ah that makes more sense. I think tacking on the platform name then as a suffix makes the most sense.
This has been fixed for v4 and v5 and will go out in 4.9.0 and 5.0.0-rc.1.
Most helpful comment
This has been fixed for v4 and v5 and will go out in 4.9.0 and 5.0.0-rc.1.