Version/build fields for an iOS app include:
"Version" CFBundleShortVersionString (String - iOS, OS X) specifies the release versi
CFBundleShortVersionString is the public "name" of the version (example: "2.5", or "3.8.1"). You must increase it at each release.
CFBundleVersion is the private build number. It is not seen on the AppStore. You must increase it at each upload. It means that if you ever reject a binary before it goes online, and you want to upload a new binary, it will have the same CFBundleShortVersionString but must have a higher CFBundleVersion (example: public "2.5", private "2.5", and then binary reject, and re-upload private "2.5.1")
/!\ The CFBundleVersion property is also used (along with CFBundleName) in the User-Agent
header sent by NSURLConnection in your code.
Example: if CFBundleName is MyApp and CFBundleVersion is 2.21, then any programmatic HTTP query sent directly by your code using NSURLConnection will embed the header:
User-Agent: MyApp/2.21 CFNetwork/... Darwin/...
(This does not apply to requests issued automatically by UIWebView).