iOS App Store 审核常见问题

Apple 发布公告:请注意,自2019年3月27日起,iPhone 或 iPad 的所有新 App 和 App 更新(包括通用 App)都需要使用 iOS 12.1 SDK 构建并支持 iPhone XS Max 或 12.9 英寸 iPad Pro(第 3 代)。还需要提供这些设备的屏幕截图。Apple Watch 的所有新 App 和 App 更新都需要使用 watchOS 5.1 SDK 构建,并支持 Apple Watch Series 4

作者:老司机iOS周报
链接:https://juejin.im/post/5c984aa2f265da611c557957
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.1条款

一篇文章讲清如何应对 App Store 审核 2.1 大礼包

不告知你的 App 是否有问题,但是模板式地给你列出一堆你的 App 可能会有的问题,让你自行审查。如果你在 resolution center 回复说“没问题”,他们会继续审核,但是如果他们审核发现有问题,可能 App 会被下架、甚至你的开发者账号都可能受到影响。

一般来说,你的 App 可能没有任何问题,这只是你的 App 被机器扫描了代码之后收到的模板性内容。

Does your app access any paid content or services?

审核2.1支付回答方案

苹果审核2.1解决方案
Your app or metadata includes an account registration feature, which is considered an access to external mechanisms for purchases or subscriptions to be used in the app.

To resolve this issue, please remove the account registration feature and any other fully qualified links to your site that could indirectly provide access to these mechanisms, such as links to web pages for support, FAQs, product or program details, etc.

您的应用程序或元数据包含帐户注册功能,该功能被视为访问应用程序中使用的购买或订阅的外部机制。

若要解决此问题,请删除帐户注册功能和任何其他可间接提供对这些机制访问的网站的完全限定链接,例如指向支持网页的链接、常见问题解答、产品或计划详细信息等。

解决方案:
APP注册用户的时候跳转了一个用户协议的页面,必须同意才能注册,把这个跳转用户协议不步骤删除,直接注册。

Your app does not comply with the Guidelines for Using Apple's Trademarks and Copyrights. Specifically, your app includes:
  • Apple trademark, Beats, imagery - or likeness - in the marketing screenshots.

解决方法:APP信息的应用截屏中提交了一张登录的截屏,这个可能有问题,把登录的图片从应用截屏中删掉。

4.3条款

攻克 App Store 4.3 条款

你的应用进入审核(In Review)的时候,你会收到一封邮件,之后被拒绝(Rejected)的时候又会收到一封邮件。如果这两封邮件的时间差非常小,比如小于半小时,那么基本上就是被机审拒绝了,否则大概率是人工审核拒绝。

如果是被人工审核拒绝了,由于每次审核你的 App 的人可能不一样,可以直接尝试换个 BundleID 再次提交,如果屡次被拒,可能你不得不考虑一下更改一下 App 的 UI,包括但不限于导航方式、主题色、页面结构等等,或者干脆加点功能、砍点功能。

审核被拒,账号被封

your Apple Developer Program account has been flagged for removal
基本上没有什么好的解决办法,只能听天由命,不信你可以看看下面的资料

2. 5 Performance: Software Requirements

We still noticed that your app uses HealthKit, but your app does not appear to include any primary features that require health or fitness data.
The intended use of HealthKit is to share health or fitness data with other apps or devices, and it should be used only in apps that require this data as a part of the app's core functionality.
Next Steps
To resolve this issue, please remove any HealthKit functionality from your app, as well as any references to this app’s interactivity with HealthKit from the app or its metadata.

原因:plist文件中把访问健康权限加上了
解决方案:删除即可

Your app contains content - or facilitates, enables, and encourages an activity - that is not legal in all of the locations where the app is available.

To resolve this issue, please remove all content and features that are illegal in the locations where your app is available. Please note that app concepts that are considered illegal are not allowed on the App Store.
解决方案:之前APP的销售范围为默认的所有地区,改为了中国
参考资料

https://baijiahao.baidu.com/s?id=1625723392608369882&wfr=spider&for=pc
https://forum.cocos.com/t/topic/72012
https://www.chandashi.com/yunyingquan/1701.html
https://www.jianshu.com/p/179f23c28837
https://blog.csdn.net/qq_31810357/article/details/82345082
https://www.sohu.com/a/288009451_100065715

ITMS-90737:缺少文档配置

ITMS-90737:缺少文档配置-通过在应用程序中声明 CFbundledocumenttypes键,表明您的应用程序可以打开文档.
如果您的应用程序使用 Uidocumentbrowservewcontroller,请将Uisupportsdocumentbrowserf健设置为是。否则,请将nfo. plist中的Lssupportsopeningdocumentsinplace密钥设置为是"(推荐)或否,以指定应用程序是否可以就地打开文件。


ERROR ITMS-90535 与WARNING ITMS-90737解决办法

ITMS-90788:不完整的文档类型配置

ITMS-90788:不完整的文档类型配置comx2era. employeexszy Into.pist中的Cfbundledocumenttypes字典数组应包含 Cfbundle Typename'数据条目的 Handler rank值。

Handler rank的key.png

提示缺少LSHandlerRank警告
Connect Operation Warning: LSHandlerRank
二进制文件无效记录

ITMS-90683:Info. plist中缺少目的字符

您的应用程序代码引用了一个或多个访问敏感用户数据的Pl该应用程序的 ninfo plist文件应包含一个 NSBluetoothAlwaysUsageDescription密钥,该密钥具有面用户的目的字符串,可以清晰,完差地解释您的应用程序为何需要数据。




iOS 13 有关于蓝牙上架被拒绝的问题ITMS-90683
iOS 13 NSBluetoothAlwaysUsageDescription

ITMS-90809:不推荐使用的API Apple停止接受使用UIWebView

\color{red}{用 WKWebView 替代 UIWebView,确保所有 UIWebView 的 api 都要移除,如果需要适配 iOS 7 的可以通过 openURL 的方式在 Safari 打开}

Guideline 2.5.2 - Performance - Software Requirements

Your app, extension, or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program License Agreement.

This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior and/or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

- Review the Software Requirements section of the App Store Review Guidelines.
- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.
- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

解决方案:
https://www.jianshu.com/p/e0c6186df3bb
https://www.jianshu.com/p/e57e2049fd77
也有人说可以申诉解决
https://www.jianshu.com/p/26c76583805a

Guideline 2.5.1 - Performance - Software Requirements

Your app also uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

解决方案:

//iOS10以下
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

// iOS10以上
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:nil];

另外一种解决方案:中间进行一个转码,绕过苹果的代码扫描,亲测能过审核
参考链接
参考链接1
查找私有API的方法
ASCII在线转换

UIWebView 问题被拒

Apple 现在不让用UIWebView了,要用WKWebView!


UIWebView问题被拒

参考资料:
老司机 - iOS App Review :https://mp.weixin.qq.com/s/Yg5DDIfrz8_E6whnxWFyOg

你可能感兴趣的:(iOS App Store 审核常见问题)