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或者全局替换下关键字就行的,不要被误导了,苹果的机审机制非常厉害,不要低估。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270