最近又跟蘋果審核杠上了,連續(xù)吃了4.3,最終完美解決了,寫下心路歷程供大家跟蘋果粑粑斗爭時參考。背景是這樣的,APP是我自己開發(fā)的,但是包含有同一套基礎(chǔ)類庫和一些需要用的第三方Pod。
1.開始Battle
APP暫且稱為B應(yīng)用
B應(yīng)用是我們模仿競品做的(但是UI都是重新設(shè)計(jì)過的),開發(fā)之初為了避免吃到4.3我還特意重新新建了項(xiàng)目,功能UI代碼都是自己寫的,但是基礎(chǔ)類庫還是用的我常用的一套(但是類名之類的我都用自己的混淆腳本改過了)。開發(fā)了一周后第一次提審,直接延審了回復(fù)如下:
2020年5月15日 下午12:40
發(fā)件人 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
一臉懵逼,這啥回復(fù)啊,那時候心想:那粑粑讓等就等唄,應(yīng)該也沒啥問題,都是新寫的代碼,不慫。
然后等了幾天還沒消息,通過申訴委員會申訴了一下,問問啥時候能好,一申訴還真有用,當(dāng)晚就回復(fù)了:
2020年5月23日 上午10:53
發(fā)件人 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?
有毒吧,我新開發(fā)的APP哎,寫了我一周多呢,怎么可能4.3?
懵逼了一會后,仔細(xì)去看了下項(xiàng)目,發(fā)現(xiàn)這個APP還是比較簡單的,新的功能代碼不多,第三方庫的代碼占比很大,應(yīng)該是第三方的問題。
所以立馬開始改代碼,把能去掉的第三方都去掉,順便再用混淆腳本改了一遍類名,再提交:
2020年5月25日 上午7:25
發(fā)件人 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功能太像競品了,所以我又在申訴委員會那邊哭訴了下自己的血淚史和遠(yuǎn)大的APP設(shè)計(jì)理念,希望能給個機(jī)會,然而:
2020年5月28日 上午2:37
發(fā)件人 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包),然后通過升級后的混淆腳本進(jìn)行不同程度的混淆,然后再進(jìn)行提審:
b_1被拒:
2020年5月27日 下午8:56
發(fā)件人 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可以解決,為了賬號安全起見,這個包我放棄了,沒有再進(jìn)行申訴和提審。
b_2被拒:
2020年5月28日 上午5:45
發(fā)件人 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.
哇,看到了希望的曙光,機(jī)審過了,人審說有BUG,給了2.1,趕緊查查bug再提審。結(jié)果查了半天也沒查出問題,可能是他們網(wǎng)絡(luò)不好,所以直接回復(fù)了網(wǎng)絡(luò)波動導(dǎo)致的問題,請繼續(xù)審核。結(jié)果第二天收到了郵件:
The status of your app, is now "Ready for Sale".
哈哈哈哈哈哈哈,功夫不負(fù)有心人,完結(jié)撒花。
3.總結(jié)下本次經(jīng)驗(yàn)
1.一次4.3終身4.3,別以為你代碼沒問題就跟蘋果硬杠申訴,基本沒戲,只會一直回復(fù)你:“我們已經(jīng)收到你的寶貴意見,巴拉巴拉----,但是還是有4.3,請參照開發(fā)指南修改再提交”,所以蘋果壓根不理你,適當(dāng)嘗試,不行就該方案,或者多方案并行。
2.一份代碼改的不夠徹底千萬別創(chuàng)建多個APP提交,一個賬號下4.3吃多了會封號的。(處理的有信心了再這么干)
3.蘋果的審核機(jī)制一直在升級,我原來的混淆腳本是19年寫的,當(dāng)初還是比較有效的,一套代碼提過幾個包都沒吃4.3,結(jié)果今年又搞新包的時候竟然完全沒用了,迫于公司業(yè)績的壓力,升級了自己的混淆腳本,效果竟然極好,完美解決了4.3,與時俱進(jìn)很重要。
最后,上述只是大致經(jīng)歷,和關(guān)鍵打回信息,具體每次修改和提交都很復(fù)雜,不是隨便改個Bundle Id或者全局替換下關(guān)鍵字就行的,不要被誤導(dǎo)了,蘋果的機(jī)審機(jī)制非常厲害,不要低估。