【问题标题】:Archive upload error: ERROR ITMS-90207 - The bundle does not contain a bundle executable存档上传错误:错误 ITMS-90207 - 捆绑包不包含捆绑包可执行文件
【发布时间】:2016-04-03 09:33:51
【问题描述】:

我有一个使用 Swift 2.1.1 和 Xcode 7.2 开发的 iOS 应用程序。该应用程序运行完美,Xcode 毫无问题地创建了一个存档,但在将其上传到应用商店 (iTunes Connect) 后,我收到以下错误:

错误 ITMS-90207:“捆绑包无效。'My App Name.app' 处的捆绑包 不包含捆绑可执行文件。”

我尝试了任何我能找到的建议,但没有任何改进。我该如何解决这个问题?我怎样才能找到原因?有解决办法吗?

我在 CocoaPods 中使用了几个库,我的 Podfile:

platform :ios, '8.0'
use_frameworks!

target 'My App Name' do
    pod 'RealmSwift'
    pod 'SwiftDateExtension'
    pod "JDFTooltips"
end
target 'My App NameTests' do
    pod 'RealmSwift'
end

我的 Info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSHumanReadableCopyright</key>
    <string>Text removed</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>Text removed</string>
    <key>UILaunchStoryboardName</key>
    <string>Launch Screen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

我尝试了我能找到的任何建议,包括:

  • Bundle id 已在应用目标中设置,重新添加 info.plist (source)
  • CFBundleExecutable 在 Info.plist (source) 中设置
  • 设备连接与否无关紧要 (source)
  • 禁用位代码
  • 我进入存档以确保它包含一个可执行文件并且 Plist 文件正确链接到它(根据我可以收集的内容)。甚至删除了名称中的空格,以确保这不是问题。

【问题讨论】:

  • 有趣好玩。做了一个全新的项目,小心地将所有文件移到其中,然后在 podfile 的副本上运行另一个 pod install。存档和上传后出现同样的问题,因此不太可能是配置错误。现在考虑我的下一步,可能会创建另一个新项目,只需将其发送到 iTunes Connect 以查看是否是 Xcode 7.2、CocoaPods 或其他问题。

标签: ios xcode app-store app-store-connect


【解决方案1】:

原来NSHumanReadableCopyright 破坏了 Info.plist。从 Info.plist 中完全删除密钥解决了这个问题(仅删除 © 字符是不够的)。

我认为对于遇到类似问题的任何人来说,尝试提交具有默认、未修改的 Info.plist 的存档以查看是否有效,这是一个公平的建议。根据我的经验,您可以根据需要多次提交,所以不要犹豫,尝试一下。

我添加了密钥,因为 Apple 在他们的文档中建议这样做:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW29。 当他们无法解释 Info.plist 时,他们的验证过程中断并指向可执行文件似乎很奇怪和愚蠢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 2014-11-03
    • 2015-10-25
    • 1970-01-01
    • 2023-03-07
    • 2016-01-26
    • 2016-01-26
    • 2017-08-15
    相关资源
    最近更新 更多