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

时间:2015-10-02 13:56:28

标签: ios iphone xcode continuous-integration continuous-deployment

我试图使用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文件(使用xcodebuild和xcrun - 命令行生成)打开了Payload,并且可以确认这些密钥也在Info.plist文件中。

当我使用XCode进行编译,存档和提交时验证通过。

任何帮助?

我的Xcode版本:6.1.1(6A2008a) OSX 10.9.5

1 个答案:

答案 0 :(得分:5)

我对CI构建服务器有类似的问题。

"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.}"

当我使用新的*.ipa选项重新编写导出脚本exportOptionsPlist时,会出现此问题。旧脚本与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 "."