ERROR ITMS-90502 App Store上传 - Xcode

时间:2018-02-22 01:09:25

标签: ios iphone xcode upload app-store

突然之间我们的项目没有正确上传到App Store,我们此时就停止了:

Error Image

错误讯息:

  

ERROR ITMS-90502:“无效的捆绑包。仅包含arm64切片的应用程序在Info.plist中的UIRequiredDeviceCapabilities列表中也必须包含'arm64'。”

我们已经尝试了所有,这是我们的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>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Optimio</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>CFBundleVersion</key>
<string>2</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) upload your expense photos through camera and roll</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) upload your expense photos through camera and roll</string>
<key>UILaunchStoryboardName</key>
<string>Uploaders</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
    <string>armv7</string>
</array>
<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>
</dict>
</plist>

我们还有这个构建设置:

Build Settings

3 个答案:

答案 0 :(得分:11)

这可能是iTC的一个变化导致它,但实际上似乎有一个修复。

我更正了我(仅适用于iOS11)项目中所有扩展程序的链接,以包含arm64作为要求(UIRequiredDeviceCapabilities)。

然后为cocoapods添加了这个post install hook: https://twitter.com/aaron_pearce/status/966530631608881153

现已成功上传并正在处理。

编辑:
虽然这个解决方案是有效的,并且运行良好,但不再需要。似乎iTC已经“修复”,现在接受(再次)没有进行这些更改的构建。 https://forums.developer.apple.com/message/296129

答案 1 :(得分:7)

(我确实按照建议的here尝试了安装后的挂钩但是没有用)

将以下xml添加到主目标的info.plist文件

  <key>UIRequiredDeviceCapabilities</key>
  <array>
      <string>arm64</string>
  </array>

然后将相同的xml添加到您的pod项目中的所有info.plist文件中(如果您当然有pods项目)。

您现在应该可以上传到iTunes连接。

答案 2 :(得分:1)

这看起来是Apple最近通过ITC验证所做的更改。以前只需将您的主项目标记为arm64,但现在看来您需要确保即使嵌入式项目也会被标记。这意味着Pods.proj和任何Internal.proj文件需要与主项目文件一起限制。

不幸的是,现在Cocoapods默认构建支持arm64,armv7和armv7s的框架,这会导致问题。我能够通过在我的Podfile中添加以下行来解决这个问题。

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['VALID_ARCHS'] = 'arm64'
  end
end

希望这有帮助!

来源: https://gist.github.com/alexpersian/e6ab115dc12f3d48eee0e7f27dfb567d

编辑:(2/23/2018) 基于以下论坛帖子,这个问题看起来已在iTC方面得到解决。 https://forums.developer.apple.com/message/296129