Hey, in the company I work for we were also facing this issue.
It had a very bad side effect on our release, because all third party frameworks had their CFBundleShortVersionString
replaced by our app CFBundleShortVersionString
in the process of archiving and generating an IPA when using Xcode 13, and some of those third parties rely on their framework version number to be sent on networking calls for them to behave properly.
The solution for us was to specifically set manageAppVersionAndBuildNumber
on the -exportOptionsPlist
for xcodebuild
, or in our case more specifically via Fastlane's gym export-options property, to false
. It seems manageAppVersionAndBuildNumber
is a new export option introduced for xcodebuild on Xcode 13, that when set as YES (its default) ends up having this unexpected side effect.
From xcodebuild -help
:
Available keys for -exportOptionsPlist:
manageAppVersionAndBuildNumber
Should Xcode manage the app's build number when uploading to App Store Connect? Defaults to YES.
We are not 100% sure if manageAppVersionAndBuildNumber
was indeed introduced on Xcode 13, but in case it was already there, then there was a change in behavior since exporting on Xcode 12.* works just fine without it.
The Xcode 13 release notes doesn't seem to have have any details about it, and we didn't find any other official Apple statement mentioning that as well :/. Would be great to have someone from Apple confirming this.
I hope that helps! 🤞