iOS App提交AppStore审核的那些坑

1.APP违反PLA 1.2审核被拒问题以及解决方案

问题

PLA 1.2

The seller and company names associated with your app do not reflect the retailer names in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement.

Next Steps

Your app must be published under a seller name and company name that reflects the retailer brands. If you have developed these apps on behalf of a client, please advise your client to add you to the development team of their Apple Developer account.

Once created, you cannot change your seller name or company name in iTunes Connect. For assistance with changing your company name or seller name, you will need to contact iTunes Connect through the Contact Us page.

谷歌翻译

PLA 1.2

与您的应用程序相关联的卖家和公司名称不反映应用程序或其元数据中的零售商名称,如Apple开发人员计划许可协议第1.2条所要求。

下一步

您的应用程式必须以反映零售商品牌的卖家名称和公司名称发布。 如果您代表客户开发了这些应用程序,请告知您的客户将您添加到他们的Apple开发者帐户的开发团队。

创建后,您不能在iTunes Connect中更改卖家名称或公司名称。 有关更改公司名称或卖家名称的帮助,您需要通过联系我们页面联系iTunes Connect。

解决方案:

因为你的账号是个人账号,换成公司的账号就可以了。

2.IPV6被拒问题

问题

Guideline 2.1 - Performance - App Completeness

We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.2 on Wi-Fi connected to an IPv6 network.

Specifically, the app launched to a blank page.

Please see attached screenshots for details.

Next Steps

To resolve this issue, please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify any issues, then revise and resubmit your app for review.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.

解决方案:

美国苹果公司是用IPV6的网络访问。国内的服务器都是IPV4的。审核时登陆APP会登陆不上软件或者直接运行崩溃,然后遭拒。这种原因有很多,要一一辨别,首先就是升级项目内所有用到的第三方到最新版本,比如微信分享。友盟统计,友盟推送,百度地图等等。如果用到了AFN或者ASI,将AFN升级到3以上。ASI基于CFNetwork的 兼容IPV6.可以不用管,另外就是创造你自己的一个ipv6的测试环境,用电脑共享给手机。然后用手机访问测试。然后就是讲你项目内的服务器地址 不要用IP地址,要换成域名,这样也可以,如果换成域名不行,就把你的域名添加到这个网站测试ipv6-test/valid 校验域名的ipv6,然后添加你公司网页服务器的管理台按照AAAA格式添加ipv6访问。到这步 基本上就可以解决了

3.关于AppStore要求录制上传App视频问题

问题

Information Needed

We began the review of your app but are not able to continue because we need access to a video that demonstrates your app in use on an iOS device.

Specifically,please include the following information in the demo video:

- the features that utilize background VoIP mode

To provide a link to a demo video:

- Log in to iTunes Connect

- Click on "My Apps"

- Select your app

- Click on the app version on the left side of the screen

- Scroll down to "App Review Information"

- Provide demo video access details in the "Notes" section

- Click "Save"

- Once you've completed all changes,click the "Submit for Review" button at the top of the App version information page.

Once this information is available,we can continue with the review of your app.

解决办法

(1).Demo Video是给苹果审核人员看的,因为审核人员不会使用你的app。

(2).预览的Video称为preview video,Preview video是app的宣传片,上传时在appApp Video Preview and Screenshots 中添加,非强制。

所以只需要录制app的基本使用流程,然后上传到youtube或者youku上,然后把链接放到App审核资料-备注里面就可以了。

那么新问题来了,到底应该怎么录制App适配呢?直接拿手机录制另一个手机的操作?

(3).手机连上电脑后点击QuickTime Player菜单中文件-新建影片录制

(4).点击新建影片录制后就出现一个大的录像界面,默认

是启动电脑的摄像头录制(当然前提是你的电脑有摄像头啊!),然后切换视频源就好了,详细教程请见:https://www.zhihu.com/question/27083086

4.后台持续定位问题

Your app declares support for location in the UIBackgroundModes key in your Info.plist file but does not have any features that require persistent location. Apps that declare support for location in the UIBackgroundModes key in your Info.plist file must have features that require persistent location.

Next Steps

Please revise your app to include features that require the persistent use of real-time location updates while the app is in the background. Please also add the following battery use disclaimer in your Application Description:

"Continued use of GPS running in the background can dramatically decrease battery life."

If your app does not require persistent real-time location updates, please remove the "location" setting from the UIBackgroundModes key. You may wish to use the significant-change location service or the region monitoring location service if persistent real-time location updates are not required for your app features.

Resources

For more information, please review theStarting the Significant-Change Location ServiceandMonitoring Shape-Based Regions.

If you have difficulty reproducing a reported issue, please try testing the workflow described inTechnical Q&A QA1764: How to reproduce bugs reported against App Store submissions.

If you have code-level questions after utilizing the above resources, you may wish to consult withApple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:

- complete details of your rejection issue(s)

- screenshots

- steps to reproduce the issue(s)

-symbolicated crash logs- if your issue results in a crash log

翻译:

你的应用程序在Info.plist文件中的key值"UIBackgroundModes"后台模式下声明支持"Location"定位但没有任何需要持久的"Location"定位的特点。应用程序在Info.plist文件的key"UIBackgroundModes"声明支持"Location"定位必须有需要持久定位的特征。

接下来的步骤

  请修改你的应用程序,使它包含在后台模式下需要实时更新定位的功能。并且请你在您的应用程序描述中添加以下的电池使用免责声明:

  “继续使用在后台中运行的GPS定位系统,将会大大降低电池寿命。”

  而或者,如果你的应用程序不需要持续的实时位置更新,请在键"UIBackgroundModes"中清除"Location"的设置。你的应用程序的功能可能更希望使用更改显著的位置的服务"significant-change location service"或区域监控位置服务"region monitoring location service",而不是持续的实时位置更新"real-time location updates"。

资源

对于更多信息,请查看Starting the Significant-Change Location Service和Monitoring Shape-Based Regions。

如果你对再现报告中提出的问题有困难,请尝试测试工作流程Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions。

如果您在使用上述资源后有代码级的问题,您可能希望与Apple Developer Technical Support协商。当DTS工程师跟踪你,请准备提供:

- 您拒绝问题(们)的完整细节

- 截图

- 重现问题(们)的步骤

-symbolicated crash logs- 如果你的问题导致崩溃的日志

解决办法:

这个问题是因为我在info.plist中添加了这样一行设置:

UIBackgroundModes23location4

NSLocationAlwaysUsageDescription2需要定位3NSLocationWhenInUseUsageDescription4需要定位

5.含UGC内容(User Generated Content指用户原创内容)却未提供用户协议及举报功能

问题

Safety - 1.2

Your app enables the display of user-generated content but does not have the required precautions in place.

Next Steps

Please revise your app to implement all of the following precautions:

- Require that users agree to terms (EULA) and these terms must make it clear that there is no tolerance for objectionable content or abusive users.

- A method for filtering objectionable content.

- A mechanism for users to flag objectionable content.

- A mechanism for users to block abusive users.

- The developer must act on objectionable content reports within 24 hours by removing the content and ejecting the user who provided the offending content.

翻译:

安全 - 1.2


  你的应用程序可以显示用户生成的内容,但没有到位必要的预防措施。

接下来的步骤

请修改您的应用程序来实现所有的以下预防措施:

- 要求用户同意条款(EULA),这些条款必须清楚,绝不容忍令人反感的内容或滥用权利的用户。

- 一种过滤不良内容的方法。

- 一个用户举报违反协定内容的机制。

- 一种用户阻止滥用权利用户的机制。

- 开发商必须在24小时内对包含不良信息的内容进行删除和逐出提供违规内容的用户。

解决办法:

App有类似于贴吧的用户原创内容。苹果认为你如果允许用户发布原创内容的话,就要对用户发布的内容进行监管,不允许出现令人不适的内容。最终处理方式是:

  1.最后,在详情页添加一个举报入口。

  2.用户发布UGC前需要提示一个EULA协议。在第一次进入UGC发布界面弹出一个对话框让用户确认遵守协议,如果选择拒绝就退出界面。

  再次提交,等待审核。

6.请求用户的定位信息却没有提示

问题

Legal - 5.1.5

We noticed that your app does not request and obtain the user's consent prior to accessing their location data, which is not allowed on the App Store.

Next Steps

Please revise your app to add the consent prompt for accessing the user's location data and to ensure the features are still functional if the user initially opts out.

翻译

法律分析 - 5.1.5

  我们注意到,您的应用程序在要求并获得用户的同意之前就访问了他们的位置数据,这在App Store是不允许的。

接下来的步骤

  请修改你的应用程序,在访问用户的定位数据之前提示用户同意请求数据,并且若用户最初选择的不同意,你的功能依然可以实现(我理解是再次进入界面的时候依然询问是否允许定位?)。

解决方法

  用的定位是AMapLocation,仔细观察了下似乎也确实没有提示,应该也没有用到系统的定位框架CoreLocation。解决方案目前想了两种,准备再考虑下使用哪一种:

  1.直接来一个提示框,提示是否允许定位,不允许直接返回,允许就进入,同时将允许与否存在NSUserDefaults中;之后在个人设置里面加一个开关UISwitch,根据NSUserDefaults中的值决定是开还是关。

  2.使用CLLocation处理定位。

7.包含第三方托管SDK被拒

问题1

Performance – 2.5.2

During review, your app installed or launched executable code, which is not in compliance with the App Store Review Guidelines. Specifically, your app uses the itms-services URL scheme to install an application.

We’ve attached screenshot(s) for your reference.

Next Steps

Please revise your app to remove this functionality.

Resources

Design Preamble

Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism.

We’ve attached screenshot(s) for your reference.

解决办法:

把托管的SDK去掉,重新上架;只有掌握一种办法;


问题2

Performance - 2.5.2

During review, your app installed or launched executable code, which is not in compliance with the App Store Review Guidelines. 

Specifically, your app contains in app updating service.

Next Steps

Please revise your app to remove this functionality.

Resources

Design Preamble

Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism. 

Next Steps

Please remove the update feature from your app. To distribute a new version of your app, upload the new app binary version into the same iTunes Connect record you created for the app's previous version. Updated versions keep the same Apple ID, iTunes Connect ID (SKU), and bundle ID as the original version, and are available free to customers who purchased a previous version. 

Resources

To create new versions of your app, please see Replacing Your App with a New Version in the iTunes Connect Developer Guide.

If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.

If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:

- complete details of your rejection issue(s)

- screenshots

- steps to reproduce the issue(s)

- symbolicated crash logs - if your issue results in a crash log

翻译:

性能 - 2.5.2

在审查过程中,您的应用程序安装或启动了可执行代码,这不符合“应用程序商店审查指南”。

具体而言,您的应用程序包含应用程序更新服

下一步

请修改您的应用以删除此功能。

资源

设计序言

您的应用程序包含更新按钮或提醒用户更新应用程序。为了避免用户混淆,应用程序版本更新必须使用iOS内置的更新机制。

下一步

请从您的应用中删除更新功能。要发布应用的新版本,请将新应用的二进制版本上传到您为应用的以前版本创建的同一个iTunes Connect记录中。更新后的版本保留与原始版本相同的Apple ID,iTunes Connect ID(SKU)和软件包ID,并且免费提供给购买以前版本的客户。

资源

要创建应用程序的新版本,请参阅iTunes Connect开发人员指南中的使用新版本替换您的应用程序。

如果您在重新报告问题时遇到困难,请尝试测试技术问答QA1764:如何重现针对App Store提交报告的错误中描述的工作流程。

如果您在使用上述资源后遇到代码级问题,您可以咨询Apple开发者技术支持。当DTS工程师跟进你时,请准备好提供:

- 完整的拒绝问题细节

- 截图

- 重现问题的步骤

- 符号化的崩溃日志 - 如果您的问题导致崩溃日志

解决办法:查看应用内是否含有非官方(AppStore)更新的部分,比如某个第三方自带了更新功能,去掉就可以了

8.安全问题

问题

Guideline 1.1.6 - Safety - Objectionable Content

Your app's metadata contains misleading content or content that is intended to deceive users.

Please note that adding a disclaimer to the app description is not sufficient if the rest of the metadata and the app are misleading.

The next submission of this app may require a longer review time.

Next Steps

- Review the Objectionable Content 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.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

Since your iTunes Connect status is Rejected, a new binary will be required. Make the desired metadata changes when you upload the new binary.

NOTE: Please be sure to make any metadata changes to all app localizations by selecting each specific localization and making appropriate changes.

翻译:

1.1.6安全指南-内容

应用程序的元数据包含误导用户的内容或内容,目的是欺骗用户。

请注意,如果其他元数据和应用程序是误导的,向应用程序描述添加免责声明是不够的。

下一次提交这个应用程序可能需要较长的复习时间。

接下来的步骤

-审查应用商店评论指南中令人反感的内容部分。

-确保你的应用程序符合所有应用程序商店审查指南和苹果开发者计划的条款和条件。

一旦你的应用程序是完全兼容的,提交您的应用程序的审查。

提交旨在误导或损害客户或规避审查过程的应用程序可能导致您的Apple开发者程序帐户终止。审查苹果开发计划的条款和条件,了解有关终止的政策。

如果你认为你的应用程序符合应用商店审查指南,你可以提交上诉。或者,您可以通过直接回复此消息来提供关于应用程序的其他详细信息。

由于您的iTunes连接状态被拒绝,将需要一个新的二进制文件。在上传新二进制文件时,需要更改元数据。

注意:请确保所有应用程序的本地化选择每个具体的定位和制定相应的变化使任何元数据的变化。

解决办法:

删除隐藏代码或者内容;

9.隐私数据的采集和存储

问题:

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage

We noticed that your app requests the user’s consent to access the camera but does not clarify the use of this feature in the permission modal alert.

Specifically, the modal alert only states 是否允许此App使用您的相机?

翻译:

指南5.1.1 -法律-隐私数据的采集和存储

我们noticed,你的应用程序的用户的需求。但这两种接入clarify相机不使用本许可的模态特征的警报。

具体来说,在美国是否允许此app使用您的相机只读模式的警报吗?

解决办法:

将打开相机后有什么作用或功能描述清楚,不要让appstore以为你在收集用户隐私信息即可

将“是否允许此App使用您的相机?”修改成:“需要通过扫描二维码实现扫一扫进入店铺,您是否允许打开相机?”或者“如果不允许,您将无法在“XXX”中使用扫一扫或相机拍照功能”


待补充~~~

还可以参考其他同仁的归纳:

iOS被拒整理、iOS APP上架各种被拒"悲剧"、iOS被拒原因、iOS应用提交 App Store 上架被拒的原因收集、亲身收到过哪些 App 提交被拒的原因、iOS被拒绝的79个原因。。。

你可能感兴趣的:(iOS App提交AppStore审核的那些坑)