I am trying to submit an archive to the app store with an old app i was given. I keep receiving two errors CFBundleShortVersionString key must be in the plist and more tro
If the upload tool isn't finding your .plist file, that would be why it doesn't think it contains a CFBundleShortVersionString key. For some reason, apps can compile without any plist file at all!
First, make sure that your plist file exists in your project navigator, and that it's not highlighted in red. (in case it has been removed or renamed on disc, for whatever reason)
In your project in Xcode, select your app's target, and then select the "Build Settings" tab. Search for "plist" to filter the results. Under "Packaging", check the value of "Info.plist". This should be the name of your plist file, relative to your Xcode project. For example, "MyApp/MyApp-Info.plist". If it is blank, change it to the name of your plist file and rebuild.
I had the same problem with the same two error messages. The Info.plist was in fact in the package, but it did not contain the CFBundleShortVersionString. The first error (Archive does not contain Info.plist) is given by the Apple system by mistake.
In my case I had several targets in the project, and I had added the CFBundleShortVersionString to the wrong target (not the one I was validating with Apple).
To be extra-sure, do
Make sure that Target Membership
(in File Inspector) for Info.plist shows your project selected. In my case it wasn't. Ticking the checkbox resolved both problems.
for me, I had duplicated a Target a while back and the build settings were referencing a non-existing binary "myApp copy"
Apple has published a technical document that lists the possible issues that can cause this. As of today:
I managed to get meaningful error from uploader:
By doing this I received the following error: ERROR ITMS-90183: "Invalid Bundle OS Type Code. The value of 'Bundle OS Type Code' [CFBundlePackageType] in your application bundle's Info.plist file must be one of [APPL]."
Added CFBundlePackageType and my app passed validation!
I think this way you can find other issue if any during submission with more meaningful message.