ios - 存档上传错误 : ERROR ITMS-90207 - The bundle does not contain a bundle executable

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

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

ERROR ITMS-90207: "Invalid Bundle. The bundle at 'My App Name.app' does not contain a bundle executable."

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

我在 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

我的信息.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 文件正确链接到它(根据我所能收集到的)。甚至删除了名称中的空格以确保这不是问题所在。

最佳答案

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

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

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

关于ios - 存档上传错误 : ERROR ITMS-90207 - The bundle does not contain a bundle executable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512083/

相关文章:

ios - Cloudkit 不发送推送通知

Swift,如何调用 GameScene 扩展中的函数?

ios - swift 错误 : "...whose view is not in the window hierarchy." performseguewithidentifier

android - Apple/Android 第三方商家服务

iOS 应用内购买测试器对话框缺少 Apple ID 输入字段

ios - 将 SceneKit 场景渲染到视频输出

iOS swift : Pass data from ViewController to UITableViewCell

ios - Xcode 中的帧捕获失败

ios - 我的 TableViewController 卡住了(初学者)

security - App Store安全性问:30天来自中国的下载量达到了神秘的高峰,但没有用户