【发布时间】:2017-10-28 05:33:18
【问题描述】:
当我在模拟器或设备上运行我的应用程序时(用于调试和发布构建配置),我的应用程序运行良好。但是当我尝试将我的应用提交到 Apple Store 时,我收到了以下错误:
错误 ITMS-90207:“无效的捆绑包。'APPNAME.app' 的捆绑包确实 不包含捆绑可执行文件。”
我尝试使用 Xcode 和 Application Loader 上传存档,但没有成功。
我尝试了本主题 (Xcode App Submisson ERROR ITMS-90207: "Invalid Bundle) 中的一些解决方案,但它们都不适用于我的项目:
- CFBundleExecutable 在我的 plist 文件中声明为 $(EXECUTABLE_NAME)
- 我试图禁用 Bitcode
- 我试图删除所有 CFBundleExecutable 表单 Pods plist 文件(只保留我目标 plist 中的一个)
这个错误可能与 Xcode 版本有关...我的 Mac 运行的是 macOS Sierra 版本 10.12.6 Beta (16G8c)、Xcode 版本 8.3.2 (8E2002) 和 Application Loader 版本 3.0 (620)。
欢迎任何帮助。
UDPATE:
我尝试使用 Xcode 8.2,我遇到了同样的错误。
这是我的 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>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>APPNAME</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>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb000000</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>639</string>
<key>FacebookAppID</key>
<string>000000</string>
<key>FacebookDisplayName</key>
<string>APPNAME</string>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>Description...</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Description...</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Description...</string>
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIStatusBarTintParameters</key>
<dict>
<key>UINavigationBar</key>
<dict>
<key>Style</key>
<string>UIBarStyleDefault</string>
<key>Translucent</key>
<false/>
</dict>
</dict>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
UDPATE 2:
我设法使用 Xcode 8.2.1 从另一台 Mac 发布存档。 我尝试在我的 Mac 上使用 Xcode 版本 8.2 和 8.2.1,但我仍然有同样的错误。 我也尝试过 Application Loader 3.0 和 3.6 版,但没有成功... 所以看起来,问题来自我的mac。我不知道该怎么办。
【问题讨论】:
-
您是否在使用任何第三方产品?
-
是的,我使用 Cocoapods 安装了一些第三方库:Firebase、Onesignal、SDWebImage,...您认为错误来自其中之一吗?
-
可能。在过去的 7 个月里,我在这里看到了类似的问题。由于我不使用第三方应用程序,因此我无能为力,但请尝试在此处搜索此类内容。我认为 Cocoapods 需要一些超越直接第一方提交的东西。希望你能弄清楚。
-
@Bogy:避免使用 XCode 测试版和/或 OSX 测试版发布。
-
@Bogy 在您的情况下,您可能已经陷入这种情况:stackoverflow.com/questions/44025979/…
标签: ios xcode publishing