iOS上架解决4.3问题心路历程

最近又跟苹果审核杠上了,连续吃了4.3,最终完美解决了,写下心路历程供大家跟苹果粑粑斗争时参考。背景是这样的,APP是我自己开发的,但是包含有同一套基础类库和一些需要用的第三方Pod。

1.开始Battle

APP暂且称为B应用

B应用是我们模仿竞品做的(但是UI都是重新设计过的),开发之初为了避免吃到4.3我还特意重新新建了项目,功能UI代码都是自己写的,但是基础类库还是用的我常用的一套(但是类名之类的我都用自己的混淆脚本改过了)。开发了一周后第一次提审,直接延审了回复如下:

2020年5月15日 下午12:40
发件人 Apple
Hello,

The review of your app is taking longer than expected. Once we have completed our review, we will notify you via Resolution Center.

If you would like to inquire about the status of this review, you may file a request via the Apple Developer Contact Us page.

Best regards,

App Store Review

一脸懵逼,这啥回复啊,那时候心想:那粑粑让等就等呗,应该也没啥问题,都是新写的代码,不怂。
然后等了几天还没消息,通过申诉委员会申诉了一下,问问啥时候能好,一申诉还真有用,当晚就回复了:

2020年5月23日 上午10:53
发件人 Apple
Other - Other
Hello,

Thank you for your continued patience.

We are writing to let you know that we have completed our investigation of your Apple Developer Program account. Upon further investigation, we found that your app does not comply with the following guidelines:

Guideline 4.3 - Design

We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.

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 Design 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.

When creating multiple apps where content is the only varying element, you should offer a single app to deliver differing content to customers. If you would like to offer this content for purchase, it would be appropriate to use the in-app purchase API.

Alternatively, you may consider creating a web app, which looks and behaves similar to a native app when the customer adds it to their Home screen. Refer to the Configuring Web Applications section of the Safari Web Content Guide for more information.

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.

All apps submitted to the App Store are reviewed against the App Store Review Guidelines, including the Developer Code of Conduct. If we find any issues during our review, your account will be re-investigated. In order to avoid future investigations, please ensure your apps don't attempt to mislead or harm customers or undermine the review process.

We hope you will consider making the necessary changes to be in compliance with the App Store Review Guidelines and will resubmit your revised binary.

Best regards,

App Store Review

Excuse me ??? 4.3?

有毒吧,我新开发的APP哎,写了我一周多呢,怎么可能4.3?

懵逼了一会后,仔细去看了下项目,发现这个APP还是比较简单的,新的功能代码不多,第三方库的代码占比很大,应该是第三方的问题。

所以立马开始改代码,把能去掉的第三方都去掉,顺便再用混淆脚本改了一遍类名,再提交:

2020年5月25日 上午7:25
发件人 Apple
Guideline 4.3 - Design


We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.

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 Design 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.

When creating multiple apps where content is the only varying element, you should offer a single app to deliver differing content to customers. If you would like to offer this content for purchase, it would be appropriate to use the in-app purchase API.

Alternatively, you may consider creating a web app, which looks and behaves similar to a native app when the customer adds it to their Home screen. Refer to the Configuring Web Applications section of the Safari Web Content Guide for more information.

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.


WTF???还来???

这不可能是代码问题了,肯定是UI功能太像竞品了,所以我又在申诉委员会那边哭诉了下自己的血泪史和远大的APP设计理念,希望能给个机会,然而:

2020年5月28日 上午2:37
发件人 Apple
4. 3 Design: Spam
Hello 

We are writing to let you know the appeal results for your app,

The App Review Board evaluated your app and determined that the original rejection feedback is valid. Your app does not comply with:

4.3 - Design
We found that this app duplicates the content and functionality of other apps submitted to the App Store, which is considered a form of spam and not appropriate for the App Store.

Apps submitted to the App Store should be unique and should not duplicate other apps. We encourage you to create a unique app to submit to the App Store. For more information about developing apps for the App Store, visit the Develop section of the Apple Developer website.

We encourage you to make the necessary changes to this app to bring into compliance with the App Store Review Guidelines, and resubmit it for review.

Best regards,
Amelia
App Review Board

这个时候我深刻体会到,什么叫一次4.3,终生4.3,也意识到了,这个包只能放弃了。

2.升级脚本

在前段时间跟苹果battle的同时,我也在反思和升级我的代码混淆脚本,所以既然这个包凉了,我就索性又新建了两个包(且称为b_1包和b_2包),然后通过升级后的混淆脚本进行不同程度的混淆,然后再进行提审:

b_1被拒:

2020年5月27日 下午8:56
发件人 Apple
2. 3 Performance: Accurate Metadata
Guideline 2.3.1 - Performance


We discovered that your app contains obfuscated code, selector mangling, or features meant to subvert the App Review process by changing this app's concept after approval to the App Store.

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 Performance 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.



哎,虽然被拒了,但是仿佛看到一丝希望 ,竟然没有4.3了,但是吃了2.3.1(因该是混淆程度过高了),说明4.3可以解决,为了账号安全起见,这个包我放弃了,没有再进行申诉和提审。

b_2被拒:

2020年5月28日 上午5:45
发件人 Apple
Guideline 2.1 - Performance - App Completeness


We discovered one or more bugs in your app when reviewed on iPad running iOS 13.5 on Wi-Fi.

We were not able to fully load your app content after launch.

Next Steps

To resolve this issue, please run your app on a device 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.

Resources

For information about testing your app and preparing it for review, please see Technical Note TN2431: App Testing Guide.

For a networking overview, please review About Networking.



Please see attached screenshot for details.

哇,看到了希望的曙光,机审过了,人审说有BUG,给了2.1,赶紧查查bug再提审。结果查了半天也没查出问题,可能是他们网络不好,所以直接回复了网络波动导致的问题,请继续审核。结果第二天收到了邮件:

The status of your app, is now "Ready for Sale".

哈哈哈哈哈哈哈,功夫不负有心人,完结撒花。

3.总结下本次经验

1.一次4.3终身4.3,别以为你代码没问题就跟苹果硬杠申诉,基本没戏,只会一直回复你:“我们已经收到你的宝贵意见,巴拉巴拉----,但是还是有4.3,请参照开发指南修改再提交”,所以苹果压根不理你,适当尝试,不行就该方案,或者多方案并行。

2.一份代码改的不够彻底千万别创建多个APP提交,一个账号下4.3吃多了会封号的。(处理的有信心了再这么干)

3.苹果的审核机制一直在升级,我原来的混淆脚本是19年写的,当初还是比较有效的,一套代码提过几个包都没吃4.3,结果今年又搞新包的时候竟然完全没用了,迫于公司业绩的压力,升级了自己的混淆脚本,效果竟然极好,完美解决了4.3,与时俱进很重要。

最后,上述只是大致经历,和关键打回信息,具体每次修改和提交都很复杂,不是随便改个Bundle Id或者全局替换下关键字就行的,不要被误导了,苹果的机审机制非常厉害,不要低估。

你可能感兴趣的:(iOS上架解决4.3问题心路历程)