Rxswift: Invalid CFBundleShortVersionString

Created on 13 Sep 2016  路  6Comments  路  Source: ReactiveX/RxSwift

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

Most helpful comment

@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

All 6 comments

@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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

marlowcharite picture marlowcharite  路  3Comments

delebedev picture delebedev  路  3Comments

trant picture trant  路  3Comments

RafaelPlantard picture RafaelPlantard  路  3Comments

apoloa picture apoloa  路  3Comments