IOS开发笔记-发布iphone/ipad应用程序被拒绝,怎么解决

IOS开发笔记-发布iphone/ipad应用程序被拒绝,如何解决

 

转自:http://lwxshow.com/ios-development-notes-release-application-was-denied-how-to-solve

 

程序提交了到App Stroe需要经过审核,但是不遵循Apple的iPhone Human Interface Guideline,或者使用了Private API,你的程序就很可能被拒。

这里总结一些被拒的经验与对策,也许对你有些帮助。

UI相关

相机图标

问题

IOS开发笔记-发布iphone/ipad应用程序被拒绝,怎么解决

如果使用 SDK 中标准的照相机ICON(UIBarButtonSystemItemCamera),必须遵循Apple的iPhone Human Interface Guideline。一般以为是个照相机图标,那么按下后肯定是照相了(UIImagePickerControllerSourceTypeCamera)。其实不然,如果单纯的这样做,肯定会被Reject的。那么正确的做法是什么呢?

解决方法
  • 如果还是使用系统自带的图标,需要提示用户是打开『相册』还是『照相机』,比如下面FaceBook中实现的方法。

IOS开发笔记-发布iphone/ipad应用程序被拒绝,怎么解决

 

  • 或者干脆自己设计一个照相机图标,替代系统默认的那个
  • 相同的理由,使用系统的图标,而执行的不是系统默认的动作,一样会被Reject的
  • 大小图标

ios开发笔记-在App Store发布应用程序一文中已经讲的,发布程序需要两个图标,大小分别是 57×57 和 512×512。这两个图标不能相差太大,如果设计完全不同的两个图标是肯定不会通过审核的。

UITableView

如果 UITableView 的 cell 设置成可以编辑的有可能被Reject。(该项主要看你的运气,我也见过没有被拒的)

使用 Home 界面

程序中的背景,iTunes上的截图不能使用 iPhone 的 Home 界面,如果有 100% 会被拒。

网络通信相关

  • 嵌入UIWebView的程序,需要注意如果遇到通信障碍或错误的时候,有可以恢复数据用的Retry功能。
  • 网络连接通信出错的时候要有相应的错误处理,提示等。
  • 如果要传递用户的信息(包括请求的参数),必须征得用户的同意。(比如照片传送到网络服务器上时也要有相应提示)
  • 使用WebView等的应用程序中加载网页的时候,如果时间较长,要有相应的「Now Loading..」或 IndicatorView 等提示。
  • 使用GPRS服务时,当不在服务区时,需要提示用户。
  • 网络程序多在AirPlane模式下测试一下,看看有没有问题。

其他

  • 设备中没有的功能,不能误导用户。比如iPod touch上没有GPS的机能,程序中如果有GPS的按钮就不能显示。
  • 如果在程序中出现「iPhone XXX」的字样是不行的,需要改成「XXX for iPhone」。好像说是违法了商标使用。
  • 有时候同一个程序经常发布正式版和免费版两种,在免费版中屏蔽了一些功能。如果功能的按钮还保留,只是点击后弹出提示对话框,这样的程序很可能被Reject,最好的方式还是直接不要显示功能的按钮。一句话,没有的功能压根儿就不要显示给用户。
  • 免费版(限定功能版)的名称中使用 Free 或者是 Lite 的单词,不要出现 Limited Version,β 的字样。

 

段时间忙着提交ipad的app,被拒,修改,再提交...根据我的经验总结了一些注意事项,这里提出来着重让大家留意一下,避免因为类似的原因被拒,也希望有其他经历的兄弟多多补充

肯定会被拒的情况:

1. app命名:不要用类似*** pad的名字,但可以用*** for iPad,*** iPad version之类的名字;
2. popover相关:
a. 除非处于任务编辑状态,popover应该随时可以通过点他范围之外的地方来dismiss掉,换句话说,不要用modal方式;
b. 不要太大,宽度不要超过600;
c. pickerview啥的一定要放在popover里面,宽度不要拉长
d. alertview也要用popover的方式出来
3. 尽量不要使用全屏切换效果(我用了flip导致被拒,不知道curl行不行),好像一定要用全屏的话,可以用modal的方式,这一点我也理解的不是很明白;

不会导致被拒但是建议改进的:
1. 尽量支持4个方向
2. 少用alertview和全屏视图切换
3. 尽量多用ipad相关的UI element,popover,splitview啥的

总体审核比较注重要体现出他和iphone app的不同之处,以及保证用户体验的流畅性。先写这么一些,希望大家继续补充,少走弯路.