设计注意

  • App的设置界面、按钮使用了类似iPhone的操作方式以及icon的圆角设计。
  • App的年龄设置—》不能太低。
  • App里有实物奖励—》要做一个免责声明,和苹果无关。
  • app界面设计不像某个网页会被拒

图片限制

  • 图片上不能出现苹果手机,苹果产品,苹果logo
  • 图片不能是其他知名企业logo,比如:新浪,腾讯,京东。。。
  • 图片不能含有色情、暴力、烟酒、毒品、管制刀具等一些图片,解决办法:调整应用年龄限制等级,并加入举报功能。

文字限制

  • 测试文字不能出现,不如:测试,test等字眼
  • 不能出现iPhone,苹果等
  • 不能出现攻击行语言,不能出现为其他应用做广告,宣传的语言

第三方框架引入问题

  • 分享(shareSDK)

要特别注意当分享失败的时候出现的提示框,例如:当手机上没有要分享的QQ,微信等客户端,这时要分享的话就会出现错误提醒分享失败,{失败信息:。。。。。},出现英文失败提醒信息,当遇见这样的情况的时候,可以在分享失败的代码里把分享失败的message自定义下信息,如下

[ShareSDK showShareActionSheet:nil //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响


                                         items:nil
                                   shareParams:shareParams
                           onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {

                               switch (state) {
                                   case SSDKResponseStateSuccess:
                                   {
                                       UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                                           message:nil
                                                                                          delegate:nil
                                                                                 cancelButtonTitle:@"确定"
                                                                                 otherButtonTitles:nil];
                                       [alertView show];
                                       break;
                                   }
                                   case SSDKResponseStateFail:
                                   {
                                       NSLog(@"%@",error);
                                       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
                                                                                       message:@"请检查设备是否有相应平台的客户端"
                                                                                      delegate:nil
                                                                             cancelButtonTitle:@"OK"
                                                                             otherButtonTitles:nil, nil];
                                       [alert show];
                                       break;
                                   }
                                   default:
                                       break;
                               }
                           }  
                 ];
  • 返回被拒信息10.6 Details

10.6 Details(您的应用程序包括一个更新按钮或提醒用户更新应用程序,为避免用户混淆,APP版本更新必须使用IOS内置的更新机制),2015-3月份,要求关闭所有app内的检查更新功能,苹果Appstore将向用户自动提示更新,所以在项目里最好不要出现更新按钮,可以用一个UILabel代替,label.text = @”当前版本:1.0.0”,这样写也可以,或者就直接用苹果自带的更新机制,可以参考我的博客文:
应用的两种更新方法:应用迭代更新

  • 返回被拒信息2.8

2.8 (安装或运行其他可执行代码的应用会拒),这个可能是你的项目里有的第三方库里有自带的更新功能,或者跳转其他应用功能,我的一个项目里是因为云测的这个第三方库,把云测删了就OK了。
私有API调用被拒

  • 第三方静态库包含私有API的调用,解决办法:联系第三方库的技术支持,更新第三方库
    找项目里哪个第三方用了私有API:
    第一种方法
1. 打开终端,cd至目标文件夹
     2. 执行执行 find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
     3. 这里uniqueIdentifier是方法名,分别查询苹果给出的几个方法确定在哪个a文件里

第二种方法

iOS私有API检查工具

第三方登陆

  • APP内的第三方登陆通过内置浏览器跳转出去被拒,修改成WebView登陆
  • 数据存储被拒

数据存储被拒,网络下载的资源不能直接放在Documents目录下,下面是整理出来的数据存放规则:

只有用户生产的数据应该放在Documents里,
下载可以重用的东西放在Library/Caches里
临时的放/tmp,不用的时候要记得删掉
用do not back up 标记需要留在设备上的数据集,
获取数据存储文件的路径:
@获取数据存取文件路径

苹果官方的数据存储指南 :
@苹果官方手册–数据存储指南


其他原因


  • app有打分的功能->评分按钮上的文字不能使用诱导性或欺骗性语言,可以看下酷狗音乐上面的评分功能,酷狗上写的是:@“赐我好评吧”,有的应用是@“去APPSTORE评分”,也可以通过
    app有location,但没有提示用户允许或拒绝的提示框,会被拒
    做浏览器的应用,分级必须选17+
  • 某个button或者控件的响应,没有与说明描述的一致,被拒
    审核的时候一直提示无法连接到服务器,可能是Reachability返回无法连接,改用request返回数据判断后审核通过
  • 提交视屏类客户端,因为没有视频直播的版权被拒,提供版权说明后通过审核
  • APP内如果涉及到登陆或者需要和硬件设备连接才能继续操作的,需要提供测试账号,或者操作视频。
  • 应用里点击某个功能,提示正在下载,被拒,改为正在加载,过了
    苹果是不允许应用程序遮盖状态栏的
  • 11.13—–>应用中如果提供了IAP以外的收费或订阅机制,

如:“buy”按钮,跳转到一个购买电子书的web页面,会被拒。
QR CODE(二维码)里有Android的下载地址被拒,直接跳转iTunes后通过。

  • AppStore显示名字和软件名称不相符
    和电信合作的应用(因有电信Logo)被拒,需要提供电信合作协议书。
  • 上架期间服务器正好在维护,苹果拒绝理由:登陆注册都不能用
    app里使用广告标识符,但没发现有使用广告标识符订的地方,解决:移除了ADsupport框架(不知道啥时候加的)
  • 评级问题:提交的时候是评级4星,后来被拒,改为12星,通过审核了
  • 开放了文件document分享功能plist文件里的设置(Application supports iTunes file sharing)设置为了yes,被拒,理由:不需要分享,为何开发了。回复邮件说明理由后上线。
  • 审核人员打开app无法加载内容,一般是因为国内服务器的问题,解决办法:录个app的操作视频,放到youtube上,发个苹果就ok了
    界面太丑,被拒(无语。。。)
  • 不能点击的图标要置灰,或直接隐藏
  • 技术支持地址写的微博地址,被拒理由:不能将需要登录才能访问的网址作为技术支持地址
  • 地图应用,Google地图下面的logo被遮挡了,调整位置后OK
  • app介绍最好用中文,有例子是应为app介绍用英文人家审核人员看不懂被拒了,审核人员的英语水平真标准啊。。
  • IAP(内购)价格不能超过99美元

苹果应用上架审核文档

点击这个链接,看苹果官方的审核文档,自己多研究下吧。
@ 苹果审核文档

内购 (IAP)
在一个应用里,特别是游戏应用,刚开始上线的是免费的,过一段时间更新版本后,有的功能需要购买才能使用,这就是内购,下面是内购的使用教程:
@使用教程