iOS

审核被拒绝的各种问题

2018-11-29  本文已影响25人  Geniune

苹果App Store审核指南 https://developer.apple.com/app-store/review/guidelines/

prefs:root跳转

之前我们通过下面方法跳转至对应App蓝牙设置等界面,苹果已不支持这种API。

//iOS10
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Bluetooth"] options:@{} completionHandler:nil];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Bluetooth"]];

网上有很多将字符串转换成16进制,据说用这样的脏套路可以逃过代码审核扫描,在这里告诉大家,不要信!不要信!不要信!重要的话说三遍,已有人尝试并且再次被拒绝。
可以使用下面方法来打开“设置”界面:

if (iOSv8) {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
} else {
    NSURL *privacyUrl = [NSURL URLWithString:@"ACCOUNT_SETTINGS"];
    if ([[UIApplication sharedApplication] canOpenURL:privacyUrl]) {
        [[UIApplication sharedApplication] openURL:privacyUrl];
    } else {
        NSString *message = @"无法跳转到隐私设置页面,请手动前往设置页面,谢谢";
        UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"对不起" message:message delegate:nil cancelButtonTitle:@"好的" otherButtonTitles: nil];
        [alert show];
    }
}

安卓/Android/图标/安卓系统手机等

无论在你的工程代码内、App用户界面、及iTunes Connect预览图、宣传文本、描述、关键字等任何地方!注意!是任何地方!苹果爸爸对这类内容零容忍!
不要出现字眼(安卓、Android)、图标(类似绿色小机器人)等,或诱导用户知晓或安装对应安卓平台应用,曾有电商平台App因为售卖安装安卓系统的三星手机被拒。所以还是不要以身试法的好。

测试数据、有bug闪退等

至少保证苹果方面审核人员看到数据的基本规范,不要出现类似“sdftase”胡乱输入或:“试用”,“演示”,“试用”,或“测试版本” 等字眼。
Apple审核规范中有一个条例,大概就是说明苹果方面没有义务给你的App做“测试工作”,所以开发人员需要保证提交的构建版本:数据规范、没有bug等闪退问题,并且UI需符合最基本的人机交互规范。

抽奖、幸运大转盘、抢购活动等

如果你的App中有类似功能,不想被拒就请注明:“该活动由xxx提供,与设备生产商Apple Inc.无关”。字体再小也要写!

IPv6

协议没有指明必须使用IPv6,但是必须保证运行该App设备在IPv6环境下可以使用,若因为该问题被拒,并且经检查与自己公司服务器无关,就请更新第三方类似:SDWebImage、友盟、百度地图等。

元数据错误:提供的测试账号

如果产品设计审核、认证等业务,可能需要给苹果提供一个已认证通过的账号,请保证账号是在正式环境下,且密码、数据正确(和server端、测试同事沟通好)。


审核信息.png

屏幕快照与App界面不符

上传到iTunes Connect的屏幕快照和App预览内容需要与App内本身呈现的界面相同,不要出现类似:快照中底部有五个Tab,App打开实际只有四个这样的低级错误。

App图标和启动页切图尺寸

Assets.xcassets内AppIcon和LaunchImage内对应的图标和启动页切图像素尺寸符合对应的规范。
如何设置详见:
图标:https://www.jianshu.com/p/a3dad451f9a4
启动页:https://www.jianshu.com/p/c8c45d80ba4c

GPS定位功能常驻后台

苹果为了保证设备的使用流畅,通常是不允许应用在后台持续开启。
若真的需要使用,最好让审核人员能直观的感受到持续定位对App产生的功能影响,有必要的话可以录一个视频(记得上传到YouTube而不是土豆优酷)。
在info.plist中添加:Privacy - Location Always Usage Description(NSLocationAlwaysUsageDescription)并添加对应描述,并在iTunes Connect内对应App描述添加“App在后台持续使用GPS定位可能使您的电池过快被消耗,并降低电池寿命”。

否则请选择在使用过程中定位:Privacy - Location When In Use Usage Description(NSLocationWhenInUseUsageDescription)。

隐私设置

从iOS 10.0开始,苹果更加注重用户隐私,很多像:定位、相机、相册等功能需要用户同意后才能使用。
所以当需要调用对应方法时,请在info.pilst中配置对应项。

Data Class Xcode Key Raw Info.plist Key
Apple Music Privacy - Media Library Usage Description NSAppleMusicUsageDescription
Bluetooth Privacy - Bluetooth Peripheral Usage Description NSBluetoothPeripheralUsageDescription
Calendar Privacy - Calendars Usage Description NSCalendarsUsageDescription
Camera Privacy - Camera Usage Description NSCameraUsageDescription
Contacts Privacy - Contacts Usage Description NSContactsUsageDescription
Health Privacy - Health Share Usage Description
Privacy - Health Update Usage Description
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
Home Privacy - HomeKit Usage Description NSHomeKitUsageDescription
Location Privacy - Location Always Usage Description
Privacy - Location When In Use Usage Description
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
Microphone Privacy - Microphone Usage Description NSMicrophoneUsageDescription
Motion Privacy - Motion Usage Description NSMotionUsageDescription
Photos Privacy - Photo Library Usage Description NSPhotoLibraryUsageDescription
Reminders Privacy - Reminders Usage Description NSRemindersUsageDescription
Siri Privacy - Siri Usage Description NSSiriUsageDescription

注意:使用隐私访问key时,对应value必须填写上使用的目的。例如:需要获取当前用户位置展示在第三方百度地图上,那就填“是否允许App使用您的位置用于在地图上展示实时位置”。否则审核会拒绝

按钮不能点击、第三方登录展示问题

1.不能点击的按钮必须隐藏或者置灰;
2.涉及微信快捷登录,需要判断当前设备是否已安装微信App,未安装应隐藏对应入口按钮。否则点击没有效果会直接导致审核被拒;
3.第三方类似微信、QQ分享、支付功能、跳转高德、百度导航等也一样。

软件级别设置

如有博彩、婚配、两性、色情或暗示、暴力、卡通幻想等内容,需要设置软件级别。

暂时先整理这么多,再次拥护苹果爸爸,三叩首!

如果本文对你有所帮助记得点个赞哈

上一篇下一篇

猜你喜欢

热点阅读