ios - 错误: The Info. plist in package must contain the CFBundleIdentifier key

标签 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,并且可以确认此类 key 也在 Info.plist 文件中。

当我使用XCode编译、归档和提交时验证通过。

有什么帮助吗?

我的 Xcode 版本:6.1.1 (6A2008a) 操作系统 10.9.5

最佳答案

我遇到了同样的问题。

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

关于ios - 错误: The Info. plist in package must contain the CFBundleIdentifier key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32908840/

相关文章:

ios - UIWebView 从后台返回后在 iOS 7 上更改 contentSize

ios - 如何在 MKAnnotationView 图像上注册 Tapgesture?

ios - 如何从 coreData 格式化 NSDate 并正确显示

javascript - Google map Javascript API 无法在 IOS 设备上运行

iphone - 在锁屏中获取音乐播放器控制,就像 iPhone 中的 Pandora 应用程序一样

ios - 比较 UIViewController 实例

ios - react native 错误 ld : library not found for -lBVLinearGradient

ios - AppID前缀是否属于敏感信息?

ios - 谷歌+ :Get friends list (HTTP 403 forbidden)

objective-c - Mac 应用程序 - NSImage drawInRect 问题