做iOS开发近5年了,提交过的系列大大小小也有十几二十个了,每便提交版本到App
Store审核时都要严苛,如履薄冰,甚至还要祈求乔老大显灵顺利通过。但殊不知连续难免的,一不小心就会掉进坑里。

苹果的法定文档(AppStore审核条款)相信做iOS开发的都应有看过此处就不列支了,大家有不亮堂的就去度娘或者翻墙Google。在大部的App中实际只要我们不做一些很黄很暴力,和切实赌博有关的应用或嬉戏的话都能够胜利通过核查的。前几天本人重点想以我的亲身经历跟我们记忆一下这么些年自己提交AppStore审核时踩过的坑,并且针对咋样防止给出一些tips供大家参考。

相遇过的各类坑

1、与苹果利益顶牛

这条应该是最要紧的,任何业务触犯了团结我的裨益都是会抵制的。除了是商城或者购买东西的App,一些索要购置虚拟道具的都要接纳苹果的内购,无法选拔任何的开发平台。但现行不怎么App会在审核的时候屏蔽其他支付办法,一旦经过后将绽放其他的开销平台。

做成与App
Store一样的应用下载功效,可能我们会发现前边的过多限免App现在早已不见踪影了,这是因为与苹果的施用市场一样,与苹果利益冲突了,所以苹果一刀封杀,把具备App全体杀掉。

故而众多App在开发前要考虑好做出来的效能是否与苹果利益有争论,不然到终极却徒劳无功无功。

2、未听从苹果iOS App数据存储指点方针

假如您的App有离线数据下载功效,尤其需要关怀这点。因为离线数据一般占用存储空间相比大,可以被重复下载和重建,不过用户往往愿意系统存储空间紧时也仍然可以妥妥的存在着,不会被IOS系统活动清理掉。所以不可能放在/Library/Caches
目录下(该目录在系统空间不足时或许会被iOS系统活动清除)。
这就只可以放在主目录/Documents  或
主目录/Library/自定义文件夹下,这样才不会被iOS系统活动清理掉。然则这一个多少也许会很大,假设放在
主目录/Documents  或
主目录/Library/自定义的文书夹下,会被iCoud自动同步,那么用户需要为了共同消耗过多流量,苹果可能会为此驳回你的施用上架。所以需要在程序中给自定义的目录设置“do
not backup”属性。

关于数据存储需要留意的点,总计在底下:

最重要数据

内容:用户创建的数据文件,不能够在剔除后自行重新成立

路径:主目录/Documents

管理:iOS系统即时遭逢存储空间欠缺的境况下,也不会消除,同时会备份到iTunes或iCloud中

缓存数据

情节:可用来离线环境,可被重复下载重复生成,固然在离线时缺失,应用本身也可以正常运行

路径:主目录/Library/Caches

管住:在存储空间欠缺的状况下,会清空,
并且不会被自动备份到iTunes和iCloud中

暂时数据

情节:应用运行时,为做到某个内部操作临时变化的文件

路径:主目录/tmp

治本:随时可能被iOS系统清除,且不会活动备份到iTunes和iCloud,尽量在文书不再接纳时,应用自己清空,制止对用户设备空间的浪费

离线数据

情节:与缓存数据类似,可以被重复下载和重建,不过用户往往愿意那些数据就是在储存紧张时也不会被系统活动删除

目录:主目录/Documents  或 主目录/Library/自定义的文件夹

治本:与重大数据类似,尽管在储存空间不足的景色下也不会被免去,应用自己应当破除已经不复动用的文本,以免浪费用户设备空间
。需要设置”不备份到iCoud” ,否则会审查不过。

3、未提供测试账号和树立自己的账户体系

假使您的App有一部分机能需要报到才能应用,那么你需要在付给审查时,勾选演示账户,并提供相应信息账号名和密码。

现行成千上万App都欣赏使用博客园、微信和QQ来授权登录到自己的App,但苹果现在的国策修改,需要有协调的一套账号体系才可以查处通过,不然将会被拒。还有一对App为了更方便快速,都施用手机号+验证码的措施来报到,这样的话就从未有过艺术给苹果提供示范账户了,除非账户系列后台做修改提供援助。这种情状,就不需要勾选演示账户了,不过要在备考消息里跟苹果优质解释一下,说咱俩也是为了进步用户体验的,所以对账户系列做了改进,用户有部手机就能登录,不需要登记的。

4、内容污秽、含有不文明语言,攻击性言语

其一在做一些资讯或者UGC的App需要小心,还有一些方可评论的效能,最好对情节开展甄别或者过滤。可能现在苹果审核这边招了有的中国人来甄别,现在部分国语的不文明字眼,他们一旦看到了也是会平昔拒绝的。这么些也是要在营业的时候多加注意,因为审批通过后被用户采纳,而用户乱发东西被天朝盯上了也不是一件好事。

内容标题等文字无法包含有Android的单词,因为这是竞争关系,所以肯定不可以出现的。

UGC的话还要加上举报功效,这样才能如愿经过。

5、权限隐私开通表达

当iOS9之后我们有成千上万的权限开通都需要精晓用户,不得以冒然打开,要是我们一向不询问的话也是会被拒的。例如相机、相册和稳定功效。

6、上传的屏幕快照跟App具体采取截屏相差太远

有时候我们会把截图做得很华丽甚至有些夸大,远远和当今的App界面有点不同,一旦苹果看到也是会直接拒绝。还有一些尤为重点不要在截图中现身Android的手机或者Android系统特有的界面。有一次就是因为截图上的状态栏是Android的样式而被拒绝了。

7、直接使用webview

一贯行使webview做成一个App,这说不定是力所能及最神速搭建一个App并且在前期不用发版可以一直改动内容的情势,但苹果显著表示这样的App是不得以的,指出直接做成html5的就足以了。但我们还可以在App中添加一些原生的界面,这样就足以万事大吉查处通过了。

8、其他被拒理由

因被拒的说辞实在是太多了,这样就可是多详细表达,我简单列明一下,我们可以在评价上补偿不同的说辞。

应用未公开的API被察觉

不安宁,容易崩溃

侵犯版权未取得授权

App内有检测更新

掀起用户到App Store评价

与手游相关的推荐下载

百货公司、活动奖励和奖状页面没讲明与苹果无关

界面兼容性问题

动用了IDFA和广告SDK但没有在付出审查的时候勾选,或者在界面上平素不见到相应的广告banner

App内容和勾选的利用等级不符

App描述与App无关或者功用不符

App的名字背后加上了较多无关的用语

怎么样制止那一个坑?

咱俩说了这般多踩过的坑,或者差点踩过的坑,无非就是想在事后App开发中尽量的制止。这里介绍我的一对经验总括,供大家参考。

1、预防在先

对成品首席执行官规划的听从,首先需要判定是否在技术上可以兑现,或者说在不利用非公开API的前提下促成。因为许多时候,即便你通过函数名动态拼接等技术手段在交付审查时躲过API扫描。或者在审批时经过网络得到配置和使用热更新技术,但也不免被苹果从功效上发现依旧被竞争对手举报。然后对互相设计和UI效果图需要有自己的判断,界面不能够太丑,交互不可能太复杂,无法动用跟系统太过一样的Icon。

随后就是可以考虑即将开发的App的效率是否可行,在市面上有没有近似的制品成功上线了。

2、发版前过checklist

各样连串都需要沉淀发版前的checklist,把前边踩过的坑举办备忘,也足以透过网络音信等招数精晓目前光阴被拒的局部重大缘由,把可能跟自己APP相关的片段开展备注,然后在发版前逐条检查三遍。

3、预提交AppStore审核

预防措施做好了,发版前也过了checklist,可是有时如故难免百密一疏有所遗漏,特别是新功效较多的版本。那里自己要根本推介的就是预提交AppStore审核。在档次开支为主完成的时候,大家可以提交一个本子到AppStore去审批,可以把版本号设置成比要披露的专业版本低,反正版本号前边的数字可以一贯增长去,不占用产品主任定的版本号就行。并且需要把查处通过后是否释放该版本到AppStore也要设置成手动哦,不然设成自动把版本发出去就劳动了。预提交审核有哪些便宜呢?

(1)帮忙表露秘密的问题

以此版本可能开发了有些新功能,然后有些地点或者没有考虑到审查相关的风险。假如等待项目都要截至正式发版时才爆出出来,这可能拖延正式颁发的日子,一些营业或者推广将面临震慑。

(2)可以试探苹果的平整

苹果审核条款其实过多时候是从未一个量化标准的,比如屏幕快照无法跟App具体采用时的截屏相差太远,得到设计师给的屏幕快照时,我们有时候也尚无章程规定究竟是不是确实符合苹果的业内,然则并未涉及,大家先交付一个版本试一试就通晓了;还有再比如前段时间,苹果要求五月1号之后提交的App都要援助IPV6-Only的网络。不过由于历史由来,项目中稍加效益用的是第三方的SDK,他们从未办法在大家发版前提供新的支撑IPV6的本子。这时候就可能遇见难堪境地是换掉SDK或者砍掉成效,如故持续发布呢?其实大家就可以通过预公布的艺术来试探一下是否有效。也有的在当年头必须要举办的利用https,但苹果却推迟了,所以只要我们提前提交版本也足以测试一下服务器是否管用。有时候也可能是因为有些小效用的题材而影响到不可以透过核查,这这时候大家得以因此砍掉功效来由此。

4、关于AppStore加急审核

假定由之后边的奋力,你仍旧被拒了,或者App的发布要赶上某个时刻运营节点,可是由于各样原因造成预留给App审核的日子太少了。这一个时候你需要动用到苹果的急切审核通道。

前几天也有部分人特地负责加急审核,只需要在某宝上搜寻的话就可以搜到一大堆,但自我从前也问过一下价钱少则2、3千多则5、6千这对于一般的合作社来说不是一笔小的钱,并且他们也可能没做怎么样工作,只是认识了苹果的内部人士说几句。其实只要需要紧急的话自己操作简简单单就可以做到,但要清楚明了,苹果可不是说您提交了燃眉之急就给你加急的,假使我们都如此去做那不是都和平凡一样,并且也有限制次数的,网络传闻是一年2次,但事实上境况可能也是按你账号里的App数量和下载量来控制的。而要怎么着去加急呢,这里就简单说一下。

iTunes
Connect
底层可以找到联系大家的tag点击它。然后选用以下的选项。

下一场点击Request Expedited Review就会跳去新的页面,填写相关的新闻。

实质上都是一看就清楚填写的内容了。然后Explanation里面就是填充您的理由了,最好就是中英都写上如此可以表示你的热血。这里的话让自己想起了写过“再不审核通过大家商家就要关张了”那一个话语,可想而知可以有多紧迫多严重就写多严重,保证不用1、2天就可以让苹果审核了。

此间还有的就是即使有一些倾家荡产问题是必现的,修复提交版本后也得以在那边加急,填好必现的手续,只要苹果可以复出这必将会让你加急通过的,因为她们也不想有问题的App影响用户体验的。

其实从当年上半年启幕,app审核时间大大缩短了,平日2、3天可以过审了,所以一般的话都不需要用到这些功用了。

归根结蒂iOS发布版本不像Android这样有那么多市场可以采取,还足以不用市场和谐打包apk后放置网上供用户下载就行。所以在颁发前我们多准备无妨。

网站地图xml地图