磨刀不误砍柴工。作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果iOS应用开发者来说尤其如此。苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些地方找茬。

基本要点,首先你的应用程序:
1. 不能导致手机故障(比如崩溃或屏幕问题)
2. 长时间/过度使用之后反应仍然很快
3. 应用内的所有价格信息中不能用固定值代替可变变量
4. 不要使用任何SDK里面的私人API
5. 不要使用任何SDK文档里面没有列出的功能
6. 不要提及用户设备上不存在的硬件功能
7. 如果需要网络连接,在没有网络的情况下要告知用户
8. 不要(过度)模仿任何本地应用程序
9. 不要(过度)山寨某个本地应用的功能
10. 运行若干次之后不要过期或停止工作
11. 不要使用任何未经批准的硬件配件
12. 不要包含种族主义内容、过长的暴力图片、性和裸体相关的图片
13. 不要“无意中”发生这样的事情:不受限制的网页浏览、显式歌词、未经过滤的图书
14. 不要恶搞知名的公众人物,不管是死是活
15. 不要包含能够执行下载文件的脚本解释器、插件或其它运行时(runtime)
16. 不要使用连续震动
17. 在每个输入区域使用相关的键盘(比如在输入手机号的地方要调出数字键盘)
18. 在表格视图下,如果选中多行会调出另一个视图的话,那么应该取消选中当前视图中的行
19. 仅在连接WiFi的情况下才能播放视频或下载其它大型文件
20. 如需发送私人数据到服务器,需要告知用户,并提供取消选项
21. 不要偷偷使用摄像头或话筒
22. 使用GPS功能是为了给用户带来切实的好处,而不是仅仅是广告或跟踪
23. 绝不要崩溃

遵守苹果的用户界面指南(Human Interface Guidelines),一定要好好看,以下是一些常见的错误:
1. 应用看上去设计精美、品质上乘
2. 本地按钮图标与其本地动作保持一致
3. 活动指示图标不能转个没完没了
4. 触碰之后可以激活按钮
5. 屏幕布局可以处理好高度加倍的状态栏(比如通话期间)
6. 停止应用时应保存状态,下次启动时可以恢复
7. 如果支持横屏模式,横屏设计也要很美

针对iPad的特别注意事项:
1. 你的应用应该从各个方向都能使用,如果仅支持横屏和竖屏,那么上下两个方向都要支持
2. 弹出窗口里面不应该包含其它弹出窗口,也就是选择弹出窗口里面的东西不会激活另一个弹出窗口Y
3. 一次不能弹出两个及以上窗口

提交应用程序文件时的细节:
1. 程序文件名字和iTunes应用商店里面显示的名字要一致,或者是缩写
2. iTunes中的描述要准确描述应用的功能,说到做到
3. iTunes描述不包括价格信息
4. iTunes描述中不能包括Android、黑莓等苹果竞争对手的名字
5. iTunes描述不能提及尚未发布的iOS版本
6. iTunes关键词要和应用功能相匹配
7. iTunes关键词不能包含其他应用的名称
8. 如果你的应用售价超过100美元或者应用内购买金额超过100美元,那么应该标记为17+
9. 应用截屏不能包含错误状态,包括iAd的错误
10.应用分类与其功能相符
11. 应用中的彩蛋无伤大雅,需要在演示账户中透露
12. 提供各种尺寸的图标:57,72 (iPad),114,512
13. 不同尺寸的图标都包含同样的内容
14. 版本号大于等于1.0
15. info.plist文件中所需要的设备功能和应用的实际需求相符
16. 应用使用情况和操作系统版本兼容性相符
17. NSZombieEnabled设为NO
18. 如使用推送通知,需要在entitlements.plist中添加用于“aps-environment”授权信息
19. 若使用推送通知,你的应用ID必须已经激活推送通知功能
20. 在更新iTunes的“新功能”介绍时,内容要和应用实际变化相符
21. 更新应用时,要做到名副其实,并且更新能够被用户发现
22. 更新后的应用版本号要大于上个版本
杂项:
1. 应用要有足够大的市场,比如不能直供小部分人私下里使用
2. 应用里不能存在已经作废的和未来版本发布有关的按钮和功能
3. 简化(Lite)版应用必须能用;也就是说也要做到名副其实
4. 简化(Lite)版应用不能有时间限制
5. 简化(Lite)版应用不得显示完整版应用的价格
6. 作为应用的一部分,应用加载的网页必须是线上的,并且可用
7. 任何相关的email地址都必须存在并且可用
8. 所有应用升级和其他交易都必须通过苹果应用商店完成
9. 应用不能是一个简单的浏览器窗口中的的网站
10. 应用必须满足任何相关的管制规定,比如涉及医疗的应用
11. 若使用加密,必须已经通过BIS注册,并能提供文档
12. 如果你的应用需要登录,需要提供测试账户
13. 如果应用使用MapKit,不得隐藏或掩饰Google Logo
14. 如果使用摄像头,不得关闭快门声音
版权、商标、所有权:
1. 能证明你拥有或有权使用应用中的所有代码
2. 能证明你拥有或有权使用应用中的所有作品
3. 能证明你有权使用应用中的所有品牌名、公众人物名和其他商标材料
4. 比如图片和图标不能有偏光效果的边界
5. 比如图片和图标不能包含iPhone和其他苹果产品
6. 你能证明拥有或有权使用应用中的所有视频、音乐和歌词。

上面文章来自36氪http://www.36kr.com/p/64132.html

上面这些条条框框的规定,不仅仅开发需要遵守,需求、交互,还有我们测试人员都需要注意。测试时往往需要考虑到这些,例如基本要点里的大部分规则,iPad 的特别注意事项,用户界面指南里的6,提交应用程序文件时的细节中的14、16、22,杂项里的2、6、14等等,有些我们无法看到,但有些是实实在在就能在app里体现的,测试时都需要留心检查!

iOS应用审核的通关秘籍的更多相关文章

  1. pwnable.kr详细通关秘籍(二)

    i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...

  2. DVWA 1.9 通关秘籍

    DVWA 1.9 通关秘籍   本文来源:i春秋社区-分享你的技术,为安全加点温度    DVWA (Dam Vulnerable Web Application) DVWA是用PHP+Mysql编写 ...

  3. 【面试题】2018年最全Java面试通关秘籍汇总集!

    [面试题]2018年最全Java面试通关秘籍汇总集!(转载于互联网)   前几天在交流群里有些小伙伴问面试相关的试题,当时给出了一些问题,苦于打字太累就没写下去了,但觉得这是一个很不负责任的表现,于是 ...

  4. iOS App 审核被拒的原因搜罗

    本文转载至 http://ju.outofmemory.cn/entry/108500   iOS app 审核 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游 ...

  5. 【面试题】2018年最全Java面试通关秘籍第五套!

    [面试题]2018年最全Java面试通关秘籍第五套! 原创 2018-04-26 徐刘根 Java后端技术 第一套:<2018年最全Java面试通关秘籍第一套!> 第二套:<2018 ...

  6. 【面试题】2018年最全Java面试通关秘籍 四套!(无答案)

    http://mp.weixin.qq.com/s/RQMQUufCbwlkAK62y57DAw 第一套:<2018年最全Java面试通关秘籍第一套!> 第二套:<2018年最全Ja ...

  7. 想进大厂嘛?这里有一份通关秘籍:iOS大厂面试宝典

    1.NSArray与NSSet的区别? NSArray内存中存储地址连续,而NSSet不连续 NSSet效率高,内部使用hash查找:NSArray查找需要遍历 NSSet通过anyObject访问元 ...

  8. iOS 项目审核被拒原因汇总

    1.程序运行崩溃 Your app crashes on iPhone running iOS connected to an IPv6 network when we: - app crashes ...

  9. iOS提交审核:您的 App 正在使用广告标识符 (IDFA)

    本文转载至  https://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=401172721&idx=1&sn=a369cf1b ...

随机推荐

  1. [解决] [centOS] g++ 带 -static 参数编译时,报错 /usr/bin/ld: cannot find -lm

    静态编译时缺少某个库 yum install glibc-static 从这里找到的 http://www.linuxquestions.org/questions/linux-software-2/ ...

  2. Microsoft Azure File 服务简介

    我们非常高兴地宣布在微软Azure中国区推出 Microsoft Azure File 服务预览版.Azure File 服务使用标准 SMB 2.1 协议提供文件共享.Azure 中运行的应用程序现 ...

  3. c# process 输入输出

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. Problems encountered while deleting resources.

    Error The project was not built due to “Problems encountered while deleting resources.”. Fix the pro ...

  5. HDU 4799 LIKE vs CANDLE 树形dp

    题意:有n个人,他们的关系,形成一棵有根树(0是树根,代表管理员),每个人有一个价值 现在有一条微博,每个人要么点赞,要么送一个蜡烛 初始一些人利用bug反转了某些人的操作(赞变蜡烛 或者 蜡烛变成赞 ...

  6. LoadRunner调用Java程序—性能测试-转载

    LoadRunner调用Java程序—性能测试   为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...

  7. Android 画直线并实现拖动

    自定义View,在onDraw()方法中绘制一条直线,在onTouch()方法中监听手指的移动. public class AroundDragView extends View implements ...

  8. globalfifo设备驱动

    把globalmem中的全局内存变成一个FIFO,只有当FIFO中有数据的时候(即有进程把数据写到这个FIFO而且没有被读进程读空),读进程才能把数据读出,而且读取后的数据会从globalmem的全局 ...

  9. Spark系列(一)Spark1.0.0源码编译及安装

    最近想对自己学的东西做些回顾,想到写博客是个不错的方式,方便他人也有利自己,刚开始写不足之处大家多担待. 编译前需要安装JDK1.6以上.scala.Maven.Ant.hadoop2.20 如下图( ...

  10. HW5.1

    public class Solution { public static void main(String[] args) { int count = 0; for(int i = 1; i < ...