这里总结一些被拒的经验与对策,也许对你有些帮助。
UI相关
相机图标
问题
如果使用SDK中标准的照相机ICON(UIBarButtonSystemItemCamera),必须遵循Apple的iPhoneHumanInterfaceGuideline。一般以为是个照相机图标,那么按下后肯定是照相了(UIImagePickerControllerSourceTypeCamera)。其实不然,如果单纯的这样做,肯定会被Reject的。那么正确的做法是什么呢?
解决方法
如果还是使用系统自带的图标,需要提示用户是打开『相册』还是『照相机』,比如下面FaceBook中实现的方法。
或者干脆自己设计一个照相机图标,替代系统默认的那个
相同的理由,使用系统的图标,而执行的不是系统默认的动作,一样会被Reject的
大小图标
iPhone开发入门(11)—在AppStore上发布程序一文中已经讲的,发布程序需要两个图标,大小分别是57x57和512x512。这两个图标不能相差太大,如果设计完全不同的两个图标是肯定不会通过审核的。
UITableView
如果UITableView的cell设置成可以编辑的有可能被Reject。(该项主要看你的运气,我也见过没有被拒的)
使用Home界面
程序中的背景,iTunes上的截图不能使用iPhone的Home界面,如果有100%会被拒。
网络通信相关
嵌入UIWebView的程序,需要注意如果遇到通信障碍或错误的时候,有可以恢复数据用的Retry功能。
网络连接通信出错的时候要有相应的错误处理,提示等。
如果要传递用户的信息(包括请求的参数),必须征得用户的同意。(比如照片传送到网络服务器上时也要有相应提示)
使用WebView等的应用程序中加载网页的时候,如果时间较长,要有相应的「NowLoading..」或IndicatorView等提示。
使用GPRS服务时,当不在服务区时,需要提示用户。
网络程序多在AirPlane模式下测试一下,看看有没有问题。
其他
设备中没有的功能,不能误导用户。比如iPodtouch上没有GPS的机能,程序中如果有GPS的按钮就不能显示。
如果在程序中出现「iPhoneXXX」的字样是不行的,需要改成「XXXforiPhone」。好像说是违法了商标使用。
有时候同一个程序经常发布正式版和免费版两种,在免费版中屏蔽了一些功能。如果功能的按钮还保留,只是点击后弹出提示对话框,这样的程序很可能被Reject,***的方式还是直接不要显示功能的按钮。一句话,没有的功能压根儿就不要显示给用户。
免费版(限定功能版)的名称中使用Free或者是Lite的单词,不要出现LimitedVersion,β的字样。