错误:包中的Info.plist必须包含CFBundleIdentifier密钥

9

我正在使用altool提交我的iPhone应用程序。然而,出现以下错误提示:

altool[18508:507] *** Error: (
    "Error Domain=ITunesConnectFoundationErrorDomain Code=-27000 \"The Info.plist in the package must contain the CFBundleIdentifier key.\" UserInfo=0x7f {NSLocalizedDescription=The Info.plist in the package must contain the CFBundleIdentifier key., NSLocalizedFailureReason=Unable to validate your application.}",
    "Error Domain=ITunesConnectFoundationErrorDomain Code=-27001 \"The Info.plist in the package must contain the CFBundleVersion key.\" UserInfo=0x7f {NSLocalizedDescription=The Info.plist in the package must contain the CFBundleVersion key., NSLocalizedFailureReason=Unable to validate your application.}",
    "Error Domain=ITunesConnectFoundationErrorDomain Code=-27002 \"The Info.plist in the package must contain the CFBundleShortVersionString key.\" UserInfo=0x7f {NSLocalizedDescription=The Info.plist in the package must contain the CFBundleShortVersionString key., NSLocalizedFailureReason=Unable to validate your application.}",
    "Error Domain=ITunesConnectFoundationErrorDomain Code=-27000 \"The package does not contain an Info.plist.\" UserInfo=0x7f{NSLocalizedDescription=The package does not contain an Info.plist., NSLocalizedFailureReason=Unable to validate your application.}"

我已经确认这些键(CFBundleIdentifierCFBundleVersionCFBundleShortVersionString)都在 Info.plist 中。此外,我打开了从 .ipa 文件中提取的 Payload(使用 xcodebuild 和 xcrun - 命令行生成),并且可以确认这些键也在 Info.plist 文件中。
当我使用 XCode 进行编译、归档和提交时,验证通过。
需要帮助吗?
我的 Xcode 版本:6.1.1(6A2008a) OSX 10.9.5

1
你最终找到答案了吗? - Jordan Smith
@Jordan 你好。你能展示一下导出 *.ipa 文件的构建脚本吗?我已经解决了类似的问题。 - Serge Maslyakov
@Mozilla 我也解决了 - 我会添加答案。 - Jordan Smith
@Mozilla 哦,你也遇到了完全相同的问题。不错! - Jordan Smith
1个回答

10

我遇到了同样的问题。

"Error Domain=ITunesConnectFoundationErrorDomain Code=-27000 \"Could not find a CFBundlePackageType within the Info.plist; or the package is missing an Info.plist.\" UserInfo=0x7fe72051f3a0 {NSLocalizedDescription=Could not find a CFBundlePackageType within the Info.plist; or the package is missing an Info.plist., NSLocalizedFailureReason=Unable to validate your application.}"

当我重新编写我的脚本来导出带有新的exportOptionsPlist选项的*.ipa时,出现了这个问题。旧脚本与altool一起工作正常,而新脚本则不行。

旧脚本:


旧脚本:

xcodebuild -exportArchive -exportFormat ipa -archivePath "MyApp.xcarchive" -exportPath "MyApp.ipa" -exportProvisioningProfile "appstore-provision"

新脚本:

xcodebuild -exportArchive -exportOptionsPlist "tools/export-options.plist" -archivePath "MyApp.xcarchive" -exportPath "MyApp.ipa"
问题在于,现在的xcodebuild会创建MyApp.ipa/MyApp.ipa而不是MyApp.ipa

我已经更改了-exportPath:
xcodebuild -exportArchive -exportOptionsPlist "tools/export-options.plist" -archivePath "MyApp.xcarchive" -exportPath "."

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接