升级后,XCode 归档时出现“The Package Does Not Contain an Info.plist”错误

Posted

技术标签:

【中文标题】升级后,XCode 归档时出现“The Package Does Not Contain an Info.plist”错误【英文标题】:After Upgrading, XCode gives "The Package Does Not Contain an Info.plist" error when Archiving 【发布时间】:2014-10-29 12:56:35 【问题描述】:

我在应用商店中有一个 ios 7 应用,它有很多应用内购买。应用内购买只是我在 Apple 托管的新的 .json 数据结构。 IAP 过去可以完美提交,但当我将机器从 Mountain Lion 升级到 Yosemite 时,我刚刚升级到 XCode 6.1。现在,每当我归档新的 IAP 包或重新归档上周正确提交的旧 IAP 包时,我都会得到:

“无法验证您的应用程序。包不包含 Info.plist”。

当我单击我的目标(在导航器窗格中)时,构建设置 |包装展示:

Info.plist 文件为“north_carolina.pittsburgh/ContentInfo.plist”。 (调试和发布副标题显示相同的信息)。 产品名称是“north_carolina.pittsburgh”。

ContentInfo.plist 文件位于我的目标的 Supporting Files 文件夹中(在导航器窗格中)。在里面我有钥匙

ContentVersion(值设置为 2.0) IAPProductIdentifier 捆绑版本字符串,短(值设置为 2.0)

最后,在 Navigator 的 Products 文件夹中,我在红色目标图标旁边有 north_carolina.pittsburgh,字样是红色的。

我怎样才能让这个存档正确验证?

【问题讨论】:

确保您的 plist 文件存在于您的项目导航器中,并且它没有以红色突出显示。 (以防它在光盘上被删除或重命名,无论出于何种原因) 我不确定你的意思。我有一个“ContentInfo.plist”文件。它的内容在第二个项目符号列表中进行了概述。是否需要在包中包含不同的 .plist 文件? 【参考方案1】:

错误信息不正确。真正出错的是您的“版本”和“捆绑”数字字符串可能都没有设置。确保在“身份”部分中同时指定两者。

【讨论】:

被否决,因为版本/内部版本号不适用于 Xcode 中的应用内购买项目,这是 OP 正在努力解决的问题。 不知道为什么这没有更多的赞成票这解决了我的问题。【参考方案2】:

这似乎是 XCode 6.1 的错误。但是,您实际上可以忽略该错误并继续导出为安装程序包(将创建 .pkg 文件)。在应用程序加载器中使用此 .pkg。

【讨论】:

Application Loader 会告诉你它是无效的,因为它包含一个可执行文件。 我遇到了完全相同的问题,导出不起作用,因为 Application Loader 给出了相同的错误。我还尝试在 Xcode 6.1 中从头开始重新创建 IAP 项目,它给出了同样的错误。我已经用 Apple (19095529) 记录了错误,它与 18893033 重复,所以他们必须知道这个问题。【参考方案3】:

我在使用 Xcode Archiver 时遇到了同样的问题,但我能够使用 Application Loader 提交。以下是我遵循的步骤:

    打开 Application Loader 并选择 New In-App Purchase 并点击 Choose 按钮 将打开一个新的弹出窗口,其中包含来自 iTunes Connect 的应用程序列表。点击您要为其添加应用内购买的应用,然后点击管理按钮。 您应该会看到您为应用创建的应用内购买列表。选择您要上传的应用内购买。然后点击弹出窗口底部的托管内容标签。 该窗口应更新为显示托管内容包的新部分。单击 Choose... 按钮并找到您从 Archiver 导出的 .pkg 文件。然后点击下一步按钮。 您应该会收到消息验证已完成。您的包已正确验证。单击交付,您应该会看到消息已将包上传到 iTunes Store

如果您在 iTunes Connect 中进行应用内购买,您应该会在 Hosting Content With Apple 部分下看到您刚刚上传的包。希望这会有所帮助!

【讨论】:

【参考方案4】:

将“Bundle OS Type code”设置为“APPL”它解决了我的问题,但你必须确保它在你的项目目录中,包括短字符串和版本字符串。

【讨论】:

【参考方案5】:

我遇到了同样的问题,原来是 .app 名称中的空格有问题。确保产品名称没有任何

【讨论】:

【参考方案6】:

实际上,如果有错误,组织者似乎没有提供信息。

最好的做法是: - 将文件导出为 ipa - 使用应用程序加载器

然后您将获得有关该问题的详细说明

在我的例子中,错误是架构是 Arm7(在一个旧项目上),而现在的请求是“标准 (arm7/arm8/arm64) 以及 CFBundlePackageType 条目。

【讨论】:

以上是关于升级后,XCode 归档时出现“The Package Does Not Contain an Info.plist”错误的主要内容,如果未能解决你的问题,请参考以下文章

归档时出现“没有这样的模块‘翠鸟’”错误

Xcode:将我的应用程序放到 AppStore 时出现问题

3dmax在归档时出现归档失败是啥原因造成的?

Splunk MINT shell 脚本问题:当我尝试在 Xcode 9.3 中存档应用程序时出现问题

升级到 XCTest 时出现链接器错误

将存档的应用程序上传到 iTunes Connect 时出现错误 ITMS-90085