Short description of the issue:
iTunes upload of an app incorporating the 3.0.0 beta fails with the error
[Transporter Error Output]: ERROR ITMS-90060: "This bundle is invalid. The value for key CFBundleShortVersionString '3.0.0-beta.1' in the Info.plist file must be a period-separated list of at most three non-negative integers."
Xcode version:
Xcode 8/Swift 3, with RxSwift included via Carthage
Expected outcome:
Upload succeeds.
What actually happens:
iTunes Connect rejects the binary
Is it possible to set the bundle version to 3.0.0 during the beta period?
Thanks
@samritchie ,
I think something like this should solve your issue.
defaults write "`pwd`/Carthage/Build/iOS/RxSwift/Info.plist" CFBundleShortVersionString 3.0.0
defaults write "`pwd`/Carthage/Build/iOS/RxCocoa/Info.plist" CFBundleShortVersionString 3.0.0
I can confirm that I had the same issue, and manually changing version in Info.plist to 3.0.0 fixed it. Something to be aware of in the next release.
@kzaher I ended up having to do this:
$ defaults write "$PWD/Carthage/Build/iOS/RxSwift.framework/Info.plist" CFBundleShortVersionString 3.0.0
$ defaults write "$PWD/Carthage/Build/iOS/RxCocoa.framework/Info.plist" CFBundleShortVersionString 3.0.0
$ defaults write "$PWD/Carthage/Build/iOS/RxBlocking.framework/Info.plist" CFBundleShortVersionString 3.0.0
Hi guys,
I guess this is kind of a weird scenario. I guess usually betas aren't meant to be shipped to AppStore.
Having said that, I don't think there is any code that would prevent it from being shipped to AppStore, it's just that the public interface isn't still stable.
It seems to me that it would be useful to use beta.x suffix in pre releases to distinguish them from real 3.0.0 version.
If one chooses to ship beta versions, the solution is just a couple of bash lines. It won't be that long until we ship 3.0.0, so then these problems will be gone.
In my case it wasn't a store submission per say but rather an internal test flight submission.
I managed to get this uploaded with @dylan鈥檚 script. Likewise, just trying to get a Swift 3 build out to testers via TestFlight.
Most helpful comment
@samritchie ,
I think something like this should solve your issue.