丈夫志四海,万里犹比邻。这篇文章主要讲述ERROR ITMS-90502 App Store上传 - Xcode相关的知识,希望能为你提供帮助。
突然之间我们的项目没有正确上传到App Store,我们此时就停止了:
错误信息:
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>
我们还有这个构建设置:
答案它可能是导致它的iTC的变化,但实际上确实有一个修复。
我纠正了我(仅限ios11)项目中所有扩展的plists,以包含
arm64
作为要求(UIRequiredDeviceCapabilities
)。然后为cocoapods添加了这个post install hook:https://twitter.com/aaron_pearce/status/966530631608881153
现在已成功上传并正在处理中。
编辑: 虽然这个解决方案是有效的,并且运行良好,但不再需要。似乎iTC已经“修复”,现在接受(再次)没有进行这些更改的构建。 https://forums.developer.apple.com/message/296129
另一答案(我确实按照建议的here尝试了安装后挂钩,但是没有用)
将以下xml添加到主目标的
info.plist
文件中,<
key>
UIRequiredDeviceCapabilities<
/key>
<
array>
<
string>
arm64<
/string>
<
/array>
然后将相同的xml添加到pods项目中的所有
info.plist
文件中(如果你有一个pods项目)。您现在应该可以上传到iTunes连接。
另一答案这似乎是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
【ERROR ITMS-90502 App Store上传 - Xcode】编辑:(2/23/2018)此问题看起来已在iTC方面基于以下论坛帖子得到解决。 https://forums.developer.apple.com/message/296129
推荐阅读
- Facebook SDK错误'必需'app_id“密钥未在配置中提供
- Ion Android发送multipart / form-data
- 为什么使用INSERT / * + APPEND * /()
- IIS让我对app pool用户感到困惑
- 从com.google.android.gms.vision.CameraSource访问相机并增加/减少预览亮度
- Android(相机在接受拍摄照片后未关闭)
- 使用Android Camera2,应用无限期陷入STATE_WAITING_PRECAPTURE或STATE_WAITING_NON_PRECAPTURE
- 如何记录在Android中打开相机的历史记录
- Android翻盖前置摄像头镜头翻转视频