iOS篇:上传Appstore被拒常见错误对照表及解决方法(参考)
温馨提示:
首先,建议使用最新的引擎版本(许多常见错误在最新的引擎得以解决和修复)打包,并且QA测试通过后重新上传可以解决你遇到的问题;其次,再参考以下对照表做出的解释进行修改;( 以上都无法解决,请及时上报官方,附上被拒的英文原文,客服渠道或开发者社区反馈。:-)
苹果错误号苹果错误描述问题位置修改方法
ERROR ITMS-90049"This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The Application Bundle.]"uexQQ的bundle中的plist造成问题可能您是使用的是更低版本插件,尝试直接删除plist文件重新压缩再使用(下载并解压插件包找到bundle文件夹里的info.plist文件)注:最新的插件不存在这个文件,不需要删
RROR ITMS-90062This bundle is invalid. The value for key CFBundleShortVersionString [100] in the Info.plist file must contain a higher version than that of the previously approved version [100].ipa包上传时的开发版本不对,版本低解决:每次上传ipa包要比上一次上传成功的版本高
ERROR ITMS-90529"Invalid package.Applications built with sdk9.0 or later must be packaged ad proper IPA filesxcode6升级xcode7带来问题升级之前需上传的是.zip文件,升级到xcode7之后,现在需要上传 .ipa文件:将ipa用ZIP解压工具解开,新建一个空目录“Payload”,将解开后的目录放入“Payload”中 ,然后将Payload打包成zip,再修改后缀为ipa(注意:如果使用的打包环境是最新的打包服务器3.0或4.0版本生成的包带有Payload文件夹,直接是ipa上传即可)
ERROR ITMS-90071This bundle is invalid. The CodeResources file must be a *symbolic link to _CodeSignature/CodeResources. Make certain that the bundle is on a locally-mounted volume [not a remote SMB volume], and be certain to use the Mac OS X Finder to compress it上传的ipa包的内部结构不对修改为正确的结构(参考90529手动修改方式);AppCan一般解决方式:用最新的打包服务器生成的ipa带有Payload文件夹,直接是ipa上传即可
ERROR ITMS-90072The IPA is invalid. It does not include a Payload directoryxcode上传,xcode版本不符合用低一个版本的xcode上传
ERROR ITMS-90474"Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found '$availableValues' in bundle 'com.hycm.apptest'."使用的引擎版本较低一般解决方式:下载最新的引擎打包可以解决。
大众版:直接选择最新引擎即可;
企业版:获取最新引擎手动更新.
ERROR ITMS-90475Invalid Bundle. iPad Multitasking support requires launch story board in bundle 'com.hycm.apptest'.使用的引擎版本可能较低(报错同90474)一般解决方式:下载最新的引擎打包可以解决。(其他方式:添加这个键值和属性,截图同上文90474)
ERROR ITMS-90534"Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, and iOS 8 SDK or later. iOS 9 apps for internal TestFlight testers must be built with the latest seed of the iOS SDK and uploaded with the latest seed of Xcode."上传要求使用最新的正式版本AppCan应用一般解决方式:使用99美元申请的发布版证书在正式打包服务器打包即可,基本不会出以上错误。
(其他方式:将后台打包的工程修改为正式版本,不用bate版本。)
ERROR ITMS-90535"UnexpectedCFBundleExecutableKey. The bundle at 'Payload/AppCanPlugin.app/uexEMM.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue."uexEMM的bundle文件中的plist文件去掉这个键值和属性解决这个问题
如遇此类错误,一般解决方式:同下一条文解决
ERROR ITMS-90535"UnexpectedCFBundleExecutableKey.bundle里面的info.plist问题删除CFBundleExecutable键值;
一般解决方式:手动把插件包bundle文件夹里的Info.plist删掉试试。若ERROR信息里发现TencentOpenApi、uexChatKeyboard等等关键报错信息,应该是所用的插件问题,请下载或选择官方最新插件版本打包尝试解决
App的Info.plist不得包含UIRequiredDeviceAapablites键的值,该键会阻止此App在任何IOS设备上打开,有关更多信息。请参阅了解UIRequiredDeviceCapabilities键在itunesconnect网站上提示在引擎包里面info.plist键值Required device capabilities的value值去掉armv7。
一般解决方式:使用最新版本引擎
3.1 - Apps or metadata that mentions the name of any other mobile platform will be rejected标题栏截图不对标题栏的截图不符合ios标准,修改即可
ERROR 1TMS-90523【90523】由于UIFileSharingEnabled为true导致APP上架被拒的解决方案http://bbs.appcan.cn/forum.php?mod=viewthread&tid=27975(出处: AppCan交流社区)勾选了uexLog这个插件此插件为调试用的插件,正式使用时并不需要,请不要勾选
ERRORITMS-90171Invalid Bundle Structure - The binary file 'AppCanPlugin.app/Frameworks/AppCanKitSwift.framework/AppCanKitSwift' is not permitted.Your app can't contain standalone executables or librarles,other than the CFBundleExecutable of supported bundles更新到最新的Xcode (8.1)以及ApplicationLoader (3.1)试试
ITMS-90168The Binary you uploaded was invalid补充说明:
1. 安装Xcode8.1
2. 升级ApplicationLoader至3.6
3. 在命令行环境安装xcode-select、xcodebuild及其相关的依赖
3个方法任选其一
安装Xcode只是最简单的方法而已尝试升级Xcode和ApplicationLoader到最新版本解决,在AppStore中升级或安装最新的Xcode(目前最新版本为8.1)
ERROR ITMS-90056this bundle Payload/AppCanPlugin.app/Frameworks/AppCanEngine.framework is invalid.The info.plist file is missing the required key:CFBundleVersion.部分旧引擎的配置已经不符合当前Apple的审核规则了请用最新引擎打包解决
ERROR ITMS-90158"The following URL schemes found in your app are not in the correct format: [QQ060AFEBA]. URL schemes need to begin with an alphabetic character, and be comprised of alphanumeric characters, the period, the hyphen or the plus sign only.urlScheme 的格式不对请认真阅读application loader的错误信息具体要求,要求和Apple对CFBundleURLSchemes字段要求一致,必须符合一定的格式,最基本的要以字符开头,字母+数字注意小写。
被拒英文原文ApplicationLoader反馈中有1条或多条类似如下字段(其中标红的key可能会变化):This app attempts to accessprivacy-sensitivedata without a usage description. The app's Info.plist must contain anNSBluetoothPeripheralUsageDescriptionkeywith a string value explaining to the user how the app uses this data.隐私权限未配置根据标红的key,在文档中找到缺失的隐私权限,在config.xml中进行相应的配置,比如上如字段中标红的key为:NSBluetoothPeripheralUsageDescription对应为蓝牙权限
被拒英文原文ApplicationLoader反馈中有如下字段:Missing Push Notification Entitlement- Your app includes an API for Apple's Push Notification service, but the aps-environment entitlement is missing from the app's signature. To resolve this, make sure your App ID is enabled for push notification in the Provisioning Portal. Then, sign your app with a distribution provisioning profile that includes the aps-environment entitlement.APNs未配置何时需要配置APNs:
config.xml里需要配置APNs当且仅当在苹果开发者中心中的appid里开启了apns功能
如何配置:
见文档末尾
如果还是报错:
可能是你的mobileprovision文件过旧,去开发者中心重新下载一个再打包试试
欢迎加入:iOS开发交流群(570890454)
网友评论