I'm getting this warning when trying to submit my app:
WARNING ITMS-9000: "This bundle is invalid. The value for key CFBundleVersion [3.3.9.2014.08.20] int the info.plist file must be a period separated list of at most three non-negative integers."
This is the first time I'm seeing this after a lot of submissions with that versioning format.
Is something changed regarding CFBundleVersion ?
I'm guessing the three wasn't always there? or apple just started warning us about it?
From the Apple docs:
CFBundleVersion
CFBundleVersion (String - iOS, OS X) specifies the build version number of the bundle, which identifies an iteration (released or unreleased) of the bundle. The build version number should be a string comprised of three non-negative, period-separated integers with the first integer being greater than zero. The string should only contain numeric (0-9) and period (.) characters. Leading zeros are truncated from each integer and will be ignored (that is, 1.02.3 is equivalent to 1.2.3). This key is not localizable.
Edit:
Apparently CFBundleVersion was changed as you can see here. It's a shame that I need to search WayBackMachine for something like that while Apple's "Document Revision History" says nothing about it.
This happened to a framework I was using from Cocoapods, here is how I fixed it:
You need to find non-standard CFBundleShortVersionString in info.plist file. I searched through all of them and found this in one of the repos:
<key>CFBundleShortVersionString</key> <string>HEAD based on 1.0</string>
Changed it to this:
<key>CFBundleShortVersionString</key> <string>1.0</string>
and it worked
This method, created by Cocoapods developers also works:
https://github.com/Jonge/Cocoapods-frameworks-version-number-fix
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With