iOS应用审核的通关秘籍

磨刀不误砍柴工。作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果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应用审核的通关秘籍的更多相关文章
- pwnable.kr详细通关秘籍(二)
i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...
- DVWA 1.9 通关秘籍
DVWA 1.9 通关秘籍 本文来源:i春秋社区-分享你的技术,为安全加点温度 DVWA (Dam Vulnerable Web Application) DVWA是用PHP+Mysql编写 ...
- 【面试题】2018年最全Java面试通关秘籍汇总集!
[面试题]2018年最全Java面试通关秘籍汇总集!(转载于互联网) 前几天在交流群里有些小伙伴问面试相关的试题,当时给出了一些问题,苦于打字太累就没写下去了,但觉得这是一个很不负责任的表现,于是 ...
- iOS App 审核被拒的原因搜罗
本文转载至 http://ju.outofmemory.cn/entry/108500 iOS app 审核 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游 ...
- 【面试题】2018年最全Java面试通关秘籍第五套!
[面试题]2018年最全Java面试通关秘籍第五套! 原创 2018-04-26 徐刘根 Java后端技术 第一套:<2018年最全Java面试通关秘籍第一套!> 第二套:<2018 ...
- 【面试题】2018年最全Java面试通关秘籍 四套!(无答案)
http://mp.weixin.qq.com/s/RQMQUufCbwlkAK62y57DAw 第一套:<2018年最全Java面试通关秘籍第一套!> 第二套:<2018年最全Ja ...
- 想进大厂嘛?这里有一份通关秘籍:iOS大厂面试宝典
1.NSArray与NSSet的区别? NSArray内存中存储地址连续,而NSSet不连续 NSSet效率高,内部使用hash查找:NSArray查找需要遍历 NSSet通过anyObject访问元 ...
- iOS 项目审核被拒原因汇总
1.程序运行崩溃 Your app crashes on iPhone running iOS connected to an IPv6 network when we: - app crashes ...
- iOS提交审核:您的 App 正在使用广告标识符 (IDFA)
本文转载至 https://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=401172721&idx=1&sn=a369cf1b ...
随机推荐
- [解决] [centOS] g++ 带 -static 参数编译时,报错 /usr/bin/ld: cannot find -lm
静态编译时缺少某个库 yum install glibc-static 从这里找到的 http://www.linuxquestions.org/questions/linux-software-2/ ...
- Microsoft Azure File 服务简介
我们非常高兴地宣布在微软Azure中国区推出 Microsoft Azure File 服务预览版.Azure File 服务使用标准 SMB 2.1 协议提供文件共享.Azure 中运行的应用程序现 ...
- c# process 输入输出
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Problems encountered while deleting resources.
Error The project was not built due to “Problems encountered while deleting resources.”. Fix the pro ...
- HDU 4799 LIKE vs CANDLE 树形dp
题意:有n个人,他们的关系,形成一棵有根树(0是树根,代表管理员),每个人有一个价值 现在有一条微博,每个人要么点赞,要么送一个蜡烛 初始一些人利用bug反转了某些人的操作(赞变蜡烛 或者 蜡烛变成赞 ...
- LoadRunner调用Java程序—性能测试-转载
LoadRunner调用Java程序—性能测试 为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...
- Android 画直线并实现拖动
自定义View,在onDraw()方法中绘制一条直线,在onTouch()方法中监听手指的移动. public class AroundDragView extends View implements ...
- globalfifo设备驱动
把globalmem中的全局内存变成一个FIFO,只有当FIFO中有数据的时候(即有进程把数据写到这个FIFO而且没有被读进程读空),读进程才能把数据读出,而且读取后的数据会从globalmem的全局 ...
- Spark系列(一)Spark1.0.0源码编译及安装
最近想对自己学的东西做些回顾,想到写博客是个不错的方式,方便他人也有利自己,刚开始写不足之处大家多担待. 编译前需要安装JDK1.6以上.scala.Maven.Ant.hadoop2.20 如下图( ...
- HW5.1
public class Solution { public static void main(String[] args) { int count = 0; for(int i = 1; i < ...