iOS app submission - archive does not contain an info.plist

耗尽温柔 提交于 2019-11-30 11:23:01

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.

I just added a new row with the key Bundle versions string, short to the Info.plist with the version for a value and then it passed validation with no further errors.

In my case I had an wrong/errant entry in the info.plist for Executable File name, I replaced it with ${EXECUTABLE_NAME} and that cleared the problem.

I have already "Bundle versions string, short" in my info.plist but the problem for me was "Bundle Display Name" is not in info.plist so i added that and it works.

Hope this will help you.

Thanks

When you have app extensions embedded in your app, you must check (enable) the target membership of MainApp-Info.plist to those app extensions as well as the main app. Do it in the Xcode file inspector.

Apple has published a technical document that lists the possible issues that can cause this. As of today:

  • missing CFBundlePackageType
  • missing CFBundleShortVersionString
  • missing CFBundleVersionString

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

  • export the archive in question for ad-hoc distribution
  • unzip the *.ipa file
  • Inspect the Payload/your.app/Info.plist file
  • Check whether it contains the CFBundleShortVersionString

for me, I had duplicated a Target a while back and the build settings were referencing a non-existing binary "myApp copy"

I managed to get meaningful error from uploader:

  1. Install https://github.com/nomad/shenzhen
  2. Create IPA: ipa build
  3. Submit IPA: ipa distribute:itunesconnect -e -w -a ACCOUNT_NAME -p PASSWORD -f ./AppName.ipa -i APPLE_ID_OF_THE_APP --verbose

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.

You don't need to edit your plist file. Just set the Build number (right under the Version number in Targets - General). This will propagate into the plist file as Bundle Version.

It happened to me too, I deleted the build number and the result was your error. When I inserter just 1, the problem was fixed.

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!