App Store上架审核过程中常见问题整理,无法连接itunes store是怎么回事App Store上架审核过程中常见问题整理一、iOS APP上架流程简介1.申请开发者账号苹果的开发者账号主要分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种......
一、iOS APP上架流程简介
1.申请开发者账号
苹果的开发者账号主要分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费)。一般开发者申请的都是个人或者公司的,企业的开发者账号开发应用不能发布到App Store,只能企业内部使用。这个申请过程一般可能需要一个星期左右。公司和企业的需要邓白氏码,如果邓白氏码未申请,请先申请邓白氏码,这个过程需要一到两个星期。
2.创建证书、AppID、生成描述文件
通过Mac的钥匙串工具,生成证书请求文件,下载证书,这里需要注意的是下载下来的证书只能在请求该证书的电脑上使用,如果想给其他开发者使用需要将已经导入的证书导出为个人信息交换(.p12)格式供他人使用。AppID的创建需要用到项目的Bundle ID,之后便可以创建描述文件了。
3.在开发者中心的iTunes Connect中配置App相关信息
在开发者中心里的iTunes Connect里的APP选项中新建APP项目并配置相应的信息(需要各个版本的屏幕截图,运行模拟器,调到最大(command+1),用command+s截图,还有就是一个1024*1024的图标,不能有圆角)
4.使用Xcode打包上传App
将2步骤中申请好的证书和描述文件正确配置到Xcode中,设置好Xcode的一些属性:
1.在Xcode中选择iOS Device(这里不能选择模拟器);
2.如果应用不支持横屏,请在General选项中将Landscape Left和
Landscape Right两项的勾选去掉;
3.查看版本号和构建版本号;
4.将断点、全局断点、僵尸模式等都去掉;
5.设置为Release模式。
之后便可选择Xcodegt;Productgt;Archive打包项目,打包完成后选择Upload to App Store上传。如果不想使用Xcode上传的话,也可以选择Export导出ipa文件,需要注意的是在导出时,必须选择Save for iOS App Store Deployment。然后通过Application Loader工具上传ipa文件。
5.提交审核
以上步骤完成后,返回iTunes Connect上查看自己的App信息,在构建版本中选择刚刚上传的App版本,此时有可能显示正在处理,这时可能需要等几分钟再回来查看。选择好版本后点击提交以供审核,这时App会变成等待审核状态。
6.后续
后续就是等待苹果的审核人员审核应用了,如果一切顺利的话,这个过程需要一到两个工作日便可完成审核,当然前提是你的应用符合苹果的审核条款。如果审核不通过,请及时根据反馈信息修改应用,再次提交直到符合要求。审核通过后,如果之前选择已经选择好自动发布,便可在AppStore上查看和下载应用了。
二、iOS上架审核过程常见的坑与解决方法
1.问题:用户生成内容(UGC)缺少必要的审核
为了防止非法滥用用户生成的内容,从而给用户提供虚假信息、盗取用户的知识产权,社交应用以及应用当中包含用户生成的信息的应用必须包括下述功能:
1.过滤不良内容
2.提供举报机制
3.后台服务可以提供阻止骚扰用户的行为
4.提供官方联系方式,让用户可以快速联系到开发商
解决方案:
维秀直播App提供了用户实时弹幕功能,所以涉及到了UGC,他们的处理方法是增加关键词过滤,还有通过房管的方式人工审核,处理违规用户。
2.问题:应用中使用了IDFA被拒绝
IDFA主要被用于广告中区分设备的作用。AppStore禁止没有使用广告而采集IDFA的App上架,所以如果App本身没有广告的话,使用第三方SDK要注意检查是否含有IDFA广告模块。
解决方案:
如果应用本身有集成广告的话,只需要在提交审核的时候勾选正确的广告标识符选项即可。
如果应用本身未集成广告,却包含IDFA的话。这种情况一般都是集成的第三方SDK中包含IDFA导致的。首先寻找是否有不包含IDFA的SDK版本,如果没有的话可以参考ShareSDK的解决方法,通过后台配置在审核期间为应用添加广告,审核完成过后将广告展示去掉。
3.问题:应用不支持IPv6网络下使用
2016年6月1号起,苹果的审核人员会在IPv6网络上审核你的应用,所以如果你的应用程序无法使用IPv6协议,可能会被拒绝。
解决方案:
卓易夺宝和乐动听App上架过程中就因为IPv6的支持原因被拒。他们的解决方案是:
协调后端人员添加对IPv6网络的支持。
App端更新相关的第三方SDK,比如使用ASI或者AFN的版本太低,使用最新的AFN即可解决问题。当然这些做完之后最好在Mac上面搭建IPv6网络供测试人员进行完测试再重新发布。
4.问题:第三方登录、支付、分享未安装应用,提示下载被拒
这个问题其实被拒的原因有两种,第一种是未安装应用没有任何提示,这种情况下相当于应用有无效的按钮所以会被拒;第二种是提示下载对应的第三方App,这也是苹果所不允许的。
解决方案:
最新的第三方登录等相关的SDK目前已知的(微信,QQ,微博)都已经对这种情况做了处理,在未安装的情况下会调用web进行登录,所以如果测试过程中发现可以成功在web上登录的话可以不做处理。以前在没有这种处理机制的情况下需要开发者调用对应接口,先判断是否安装了相应的第三方APP,如果未安装,需要隐藏按钮,这样便可轻松过审。
5.问题:虚拟产品未使用应用内支付(IAP)被拒
根据苹果官方最新的审核条款:如果你希望通过付费才可以解锁你的应用当中的一些功能(例如,订阅内容,游戏货币,游戏关卡,获取优质内容,解锁完整版本),你必须使用应用内付费(IAP)。如果这种情况下,应用使用了其他的第三方支付,应用将被拒绝上架。
解决方案:
审核的时候,把相应的虚拟产品隐藏起来,通过后再放出来,此招有风险,可能会受到警告信,甚至被封号,如果用户量小就无所谓了,先把App搞上架!
审核的时候,走IAP的支付方式,审核完成后再通过服务器配置动态切换到支付宝、微信等第三方支付。该法类似于方案1,也存在风险。
学习58同城,让用户去网站购买产品,买了产品的账号到移动端使用功能。
老老实实的使用IAP吧。
6.问题:使用后台定位被拒
关于位置服务苹果的审核条款原文如下:
使用位置服务的应用程序必须提供和位置服务直接相关的功能。使用基于位置的API不允许用于提供紧急服务,或者实现自动控制车辆、飞行器以及其他设备(小型的设备例如小型无人机和玩具例外),远程控制汽车警报系统等。在收集、传输和使用用户的位置数据之前,请确保你已经取得了用户的同意。如果应用程序使用了后台定位服务,务必在应用当中阐明其目的。并且使用后台定位的话需要提供一个明确的提醒告诉用户这么做会加快电量消耗。
一般应用在这一块被拒的原因有以下几种:
1.应用根本不需要定位功能。
2.应用需要定位功能,但是只需要短暂的获取少数的用户的位置,比如美团,新闻类的应用需要获得当前用户的所在城市,却使用了后台定位模式。
3.应用确实需要使用后台定位,比如打车类软件,但是应用中却没有任何界面展示这些定位数据。
解决方案:
4.如果你的应用根本不需要定位功能,但是还是在info.plist里面添加了location in theUIBackgroundModes key,那么在plist文件里面移除UIBackgroundModes key就可以,这中情况较少,新手小白会犯这种错误。
5.如果只是简单获取位置不需要使用后台定位,只需要去掉info.plist的文件中的UIBackgroundModes即可。
6.这种情况比较复杂,推荐的做法是通过表格或者轨迹展示出后台定位的数据,再提交审核的时候告诉苹果那个功能需要后台定位,具体展示后台定位的数据在那个界面,最后需要Continued use of GPS running in the background can dramatically decrease battery life加到App描述里面,可以参考滴滴出行的描述,否则也会被拒绝。
7.问题:info.plist权限配置被拒
iOS 10之后如果需要调用相机,蓝牙等设备时,需要在info.plist文件中进行相应的配置,否则应用会直接崩溃,在iOS 10之前则是无法访问。另外,如果在info.plist中调用了配置了权限在应用中却没有使用到也是会被拒的。
解决方案:
一定要注意自己的App在使用中用到了哪些权限,不要添加无用的权限,也不要缺少必要的权限。
8.问题:应用提示更新被拒
应用内不能有任何提示更新应用的字样,且应用的更新只能通过AppStore。因为苹果对于应用的更新有自己的一套策略,所以禁止应用本身提供更新方式,只要应用内出现。
解决方案:
如果不是很必要的话,尽量将应用内涉及到应用更新的部分去掉。如果真的需要使用应用更新,推荐的方法是应用启动的时候获取下应用在AppStore上面的版本号,与自己的版本号进行比较,当自己的版本号小于AppStore上面的版本号时,提示更新,否则的话不显示更新相关的内容。
9.问题:夺宝(抽奖)类应用被拒
根据AppStore审核准则20.4的规定,抽奖卷或抽奖参与权的购买,不论是透过第三方支付渠道或者余额扣款实现,都不能够在app内执行。
解决方案:
卓易夺宝App上架过程中遇到的问题,最后的解决方法是在审核过程中,所有的支付行为都跳转到Safari浏览器上面进行,审核完成后再使用支付宝等app平台支付。
10.问题:隐私条款问题被拒
在未获得用户事先允许,或未告知用户信息将被如何,在哪里使用的情况下,应用不可以传输用户数据。
解决方案:
《网站服务协议》《隐私条款》这些都不要少,注册时候让用户可勾选。另外注明需要的用户信息用来做什么。
11.问题:未提供测试账号被拒
如果应用中有需要用到账号或者其他资源的(例如:一个二维码)才能使用的一些功能,但未提供给苹果,可能会被拒绝上架。原因是苹果审核人员无法测试这些功能。
解决方案:
提供一个有效的测试帐号以及登录信息,并提供测试功能必要的的硬件和资源(例如,一个测试用的二维码)
12.问题:未通过HTTPS访问被拒
App Transport Security(ATS)是Apple为增强iOS App网络通信安全提出的安全功能,适用于iOS App和App Extension;在启用ATS之后,它会强制应用通过HTTPS(而不是HTTP)连接网络服务。WWDC 2016上提出,2016年底或2017年初,具体时间未定。App Store上架审核加强对ATS配置的review,即强制应用必须通过HTTPS连接网络服务,而不是随手将NSAllowsArbitraryLoads置为YES,否则审核不予通过。
解决方案:
ATS的提出,是为了在系统层面保障iOS APP网络通信的安全;Apple只所以加强对ATS配置的审核,是为了防止开发者们遇到ATS相关的场景时,只是简单地将ATS完全关闭(只要没有强制性措施,开发者会这么做);在此基础上,App审核同样会遵循原则:App Review will requirereasonable justificationfor most ATS exceptions。
Apple官方给出的可以通过审核的声明demo如下:
1.必须使用第三方提供的服务,但是其没有支持HTTPS;
2.必须通过域名连接到设备,但该设备不能支持安全连接;
3.必须展示不同来源的网页内容,但是不能基于NSAllowsArbitraryLoadsInWebContent支持的类(UIWebView/WKWebView)实现;
4.载入加密的媒体资源并且其中不涉及个人信息。
由于Apple官方并没有给出ATS审核的完整说明,ATS审核时什么才是合适合理的声明也没有明确的客观定义,以上demo描述仅能作为参照。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部