CFBundleShortVersionString in info.plist must be h

2019-02-27 13:54发布

问题:

I uploaded the app in App Store, and now it in "Pending Developer Release" status. But I want give it to testers before release. I have no troubles with internal testers, I gave them access to application without problems. But I have trouble with external testers with the same binary. There is an error:

"CFBundleShortVersionString in info.plist must be higher than 1.0"

What should I do, if I don't want to reload binary, because I can lose the "Pending Developer Release" status?

回答1:

When you release a new version using Apple's distribution system (i.e. App Store or TestFlight) the version number needs to be higher than the previous release.

If the app is still in testing, it shouldn't have even reached 1.0 yet. Start with 0.1 and increment up to 0.999 as development milestones are reached. Once it's tested and ready for release, make it 1.0. This is my thinking on the issue anyway; the actual value is not important, however some users may query why a newly-released app has a version number of 1.452, for example.

Note that the number is not a floating point; instead it's major.minor and major does not increment when minor goes above 9; instead the version becomes 1.10 until you rework it sufficiently that the major becomes 2 and the minor resets to 0, and so on.

So to answer your question, change CFBundleShortVersionString to 1.1.

As for CFBundleVersion, that should be an integer that increments from 1 whenever a build is performed and source files have changed (again, in my opinion), which can be managed with a script as posted in this answer.