iPhone开发技巧之发布篇(3)--- 你的程序被拒了吗?

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

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

UI相关

相机图标
问题

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

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

 

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

iPhone开发入门(11)— 在App Store上发布程序一文中已经讲的,发布程序需要两个图标,大小分别是 57x57 和 512x512。这两个图标不能相差太大,如果设计完全不同的两个图标是肯定不会通过审核的。

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,β 的字样。

如果你还有什么“悲剧”的经验,欢迎共享。

你可能感兴趣的:(--iPhone发布篇,iphone,interface,apple,网络,facebook,相册)