苹果手机老弹出无法验证服务器身份 是什么意思 我改怎么弄?
期在网上看到有网友在反映一些问题,说自己的iPhone在正常的使用过程中,突然出现「无法验证服务器身份」的弹窗,无法验证的地址信息为「imaphekouxincom」。
而且这样的界面还不止弹出一次,有时候连续弹出好几次,使用感受非常不好,点击详细信息,可以看到无法验证的地址是“imaphekouxincom”。
iPhone无法验证服务器身份如何解决?
iPhone无法验证服务器身份如何解决?图一
似乎受此影响的人还有点多,尝试切换Wi-Fi网络与蜂窝数据也无济于事,手机重新启动也没有任何作用。后来以为是系统的问题,后来发现即使是更新到新的系统版本,此弹窗一样出现。这到底是怎么一回事呢?
从知情人士处得知,导致弹出无法验证服务器身份窗口的原因,是中国移动的语音留言相关服务出现了问题,不过具体是什么问题还不清楚,据悉是语音留言邮箱的证书过期了,因此只有移动用户会受到影响。
但从目前掌握的情况来看,也并非所有移动用户都会出现这一问题,只有部分用户会遇到这个问题。不过既然是证书过期,我们用户是无法解决的,相信中国移动很快就会着手处理,我们再耐心等待一下。
iPhone无法验证服务器身份如何解决?
iPhone无法验证服务器身份如何解决?图二
但是遇到这样的情况,我们也可以通过手动操作,有可能也会将问题解决,有一下几种方法,供大家参考使用。
方法一:
一、无法验证服务器身份:是绕过 App Store 安装应用的行为就会提示“无法验证服务器身份”。
二、苹果手机总是弹出无法验证服务器身份的解决办法:
1、当我们的苹果手机为添加信任的时候手机会发现弹出发现弹出“无法验证服务器身份”对话框。
2、我们点击对话框的详细信息。
4、这时点击右上角的信任,就可以了。
5、设置完毕。
方法二:
在“设置--账户与密码”里面选择你设置的邮箱账户,进入后滑到最下面点“高级”,在里面关闭“使用SSL”即可
2 1 Performance: App Completeness
2 5 Performance: Software Requirements
5 11 Legal: Privacy - Data Collection and Storage
5 12 Legal: Privacy - Data Use and Sharing
---------------------------------------------------------------------
Guideline 21 - Information Needed
We have started the review of your app, but we are not able to continue because we need additional information about your app
Next Steps
To help us proceed with the review of your app, please provide detailed information to the following questions The more information you can provide upfront, the sooner we can complete your review
- What are the correlation between information such as national ID, national ID number, educational background, martial status and current address with phone recycling
- What is the correlation of credit score and selling of mobile device
- What is the purpose of requesting contact information
Guideline 2513 - Performance - Software Requirements
We noticed that your app includes facial recognition for account authentication but uses a facial recognition technology other than LocalAuthentication
Next Steps
To resolve this issue, please revise your app to use LocalAuthentication for any account authentication based on facial recognition
Resources
Visit Apple Developer for resources on using LocalAuthentication to request authentication from users
Guideline 511 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access their camera and contact information but does not clarify the use of this feature in the permission modal alert
Please see attached screenshots for details
Next Steps
To resolve this issue, please revise the permission modal alert to specify why the app is requesting access to the user's camera and contact information
Resources
To learn more about requesting the user’s permission to access app features, visit the iOS Human Interface Guidelines You may also want to review the Technical Q&A QA1937: Resolving the Privacy-Sensitive Data App Rejection page for details on how to provide a usage description for permission request alerts
Guideline 512 - Legal - Privacy - Data Use and Sharing
Your app accesses user data from the device but does not have the required precautions in place
Next Steps
To collect personal data with your app, you must make it clear to the user that their personal data will be uploaded to your server and you must obtain the user's consent before the data is uploaded You must also have a Privacy Policy URL and ensure that the URL you provide directs users to your privacy policy
- Starting with iOS 6, there are keys for specifying the reason the app will access the user's protected data When the access prompt is displayed, the purpose specified in these keys is displayed in that dialog box If your app will be transmitting protected user data, the usage string in your access request should clearly inform the user that their data will be uploaded to your server if they consent
Resources
For more information on these keys, please review the Information Property List Key Reference
解决准则21 - 需要的信息
苹果想了解更多的关于app的信息:(因为我们项目中获取了很多用户的隐私信息,身份证,教育背景,住址,通讯录等)
- 国家身份证,国民身份证号码,教育背景,军事身份和当前地址等信息与电话回收之间的相关性如何?
- 信用评分与移动设备销售的相关性是什么?
- 请求联系信息的目的是什么?
这个需要在被拒的申诉里,贴上他们了解的信息,态度要好一点,理由也要充分合理
Dear sir / madam,
hello,
In order to let you know more about our app, more information about our app is below, please check:
/具体获取用户隐私信息的作用/
If you need more informations, please contact us
Thank you very much
All the best
Yours faithfully
申诉的时候,苹果那边回复的邮件:
Guideline 21 - Information Needed
This type of app has been identified as one that may violate one or more of the following App Store Review Guidelines Specifically, these types of apps often:
116 - Include false information, features, or misleading metadata
230 - Undergo significant concept changes after approval
231 - Have hidden or undocumented features, including hidden "switches" that redirect to a gambling or lottery website
321 - Do not come from the financial institution performing the loan services
430 - Are a duplicate of another app or are conspicuously similar to another app
Before we can continue with our review, please confirm that this app does not violate any of the above guidelines You may reply to this message in Resolution Center or the App Review Information section in iTunes Connect to verify this app’s compliance
Given the tendency for apps of this type to violate the aforementioned guidelines, this review will take additional time If at any time we discover that this app is in violation of these guidelines, the app will be rejected and removed from the App Store, and it may result in the termination of your Apple Developer Program account
Should you choose to resubmit this app without confirming this app’s compliance, the next submission of this app will still require a longer review time Additionally, this app will not be eligible for an expedited review until we have received your confirmation
再次申诉:需要再次确认我们并没有违反他们的规定,申请继续审核
Dear sir / madam,
We have checked our app and make sure that we haven’t violated the rules: 116 230 231 321 430
/当然也可以一起把其它问题一并附上,消除苹果那边对我们的疑惑。/
If you need other informations or more details, please contact us soon We will fully cooperates in your demands
Look forward to your soonest reply
Thank you very much
All the best
Yours faithfully
解决准则2513 - 性能 - 软件要求 我们注意到您的应用包含面部识别以进行帐户验证,但使用了LocalAuthentication以外的面部识别技术。
因为我们项目里用到了第三方人脸识别face++,但是苹果条款里: 2513 使用人脸识别进行帐户验证的 app 必须使用 LocalAuthentication (而非 ARKit 或其他人脸识别技术),且必须对未满 13 岁的用户使用备用身份验证方式。
我们解决方案是:把他们提到的人脸识别给隐藏了(其实是后台通过一个字段控制,当审核通过之后,再展示出来)。
解决:准则511 - 法律 - 隐私 - 数据收集和存储。我们注意到您的应用请求用户同意访问他们的相机和联系信息但未在许可模式警报中说明使用此功能。
这个是说,在获取用户的相机,****等,没有给到用户明确的提示,获取这些信息是做什么用的。
解决准则512 - 法律 - 隐私 - 数据使用和共享 要使用您的应用收集个人数据,您必须向用户明确其个人数据将上传至您的服务器,并且您必须获得用户的同意才能上传数据。您还必须拥有隐私政策URL,并确保您提供的URL将用户引导至您的隐私政策。
需要在苹果截图有问题的界面:如获取通讯录上传到服务器上增加一个隐私政策url协议,并且在app提交信息里填写上:
被拒了好几次,最后皆大欢喜。
App提交至App Store审核被拒后,苹果官方会给开发者发送邮件,写明拒绝原因以及如何修改。不知道题主是因为什么原因被拒的,这个需要具体原因具体分析。
不过,通常情况下,应用被拒分为两种:Binary Rejected 和 Metadata Rejected。前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用。
在此将我们之前收集整理的App Store审核被拒的23个理由奉上,供题主对照检查(由于字数限制无法附上官方拒绝理由原文)。
1、应用内包含检查更新功能iOS应用的版本更新必须通过App Store进行,自身App内不能包含提示更新功能。从2015年3月起,所有包含检查更新功能的App都会被拒绝上架。
2、使用第三方登录时未做安装检测接入第三方登录要检测是否安装了第三方客户端,未安装时不要显示对应按钮。2015年9月之前,通常可以采用判断未安装则隐藏登录按钮的方式。但目前隐藏按钮的方式也可能被审核拒绝,QQ和微博提供了web登录的方式,如果判断未安装,需要允许用户使用webview的登录方式。苹果在条款中有声明不允许 iOS 应用的正常使用需要依赖另外一个 App。
3、采集设备IDFA但应用没有广告功能从2014年2月起,Apple开始拒绝采集IDFA (identifier for advertising)却未集成任何广告服务的应用进入App Store。如果App本身没有广告,http://ASO100com建议可以在审核的时候显示一个Banner广告,并且放在比较明显的位置,审核通过后关掉即可。
4、含UGC却未提供用户协议及举报功能如果你的 App 内有发帖等UGC(用户产生内容)功能,必须提供用户协议,并留有内容举报功能,否则就会被审核拒绝。
5、上传时没有使用真实的应用截图应用程序的名称、描述、截图或者预览与应用的内容和功能不相关将会被拒绝。有App因为应用截图使用的是自己设计的插画而被审核拒绝。
6、应用必须使用邀请码才能注册使用苹果要求应用不能限制只有部分用户可以使用。
7、应用内出现第三方移动平台的名字或图标一直以来,苹果都不允许iOS开发者在进行软件描述时提到Android版本,而自从2015年4月起,在App内、截图等任何地方提到安卓、Android的文字、图标、系统界面都会被拒。曾经有电商 App,因为出现了售卖三星安卓手机而被拒……
8、应用内涉及奖励,未声明与苹果无关App里有实物奖励的话,不能使用苹果产品(例如 iPhone、iPad等)作为奖品。另外一定要声明“奖励由本公司提供,与苹果官方无关”。
9、没有提供恢复内购的方法增加一个“恢复购买记录”的按钮即可。
10、未注册时不能使用与账号无关的功能对于资讯等 App,在没有进行与用户信息相关的操作时,却强行让用户登录,甚至不登录就无法看到任何内容,有可能会被拒绝。
11、iPhone应用在iPad上不能正常显示iPhone程序必须不经修改就能以iPhone分辨率和2倍iPhone 3GS的分辨率在iPad上运行。即使你的App 只为 iPhone 用户提供,在 iPad 上也必须能够正常显示,否则审核会被拒绝。
12、侵犯第三方版权对于视频、音乐、图书类的应用很容易因为这一条而被拒。另外ASO100建议应用内最好不要出现第三方的商标,例如运营商的Logo、影视公司的Logo等。
13、应用截图/名称/描述等出现不雅词汇在应用截图、名称、描述等任何地方出现例如诸如「牛逼、绿茶婊、无节操、逗比」等词汇,都会被苹果审核拒绝。
14、应用出现 beta版、测试版字样不要过度谦虚地在启动画面或者应用名称上加上"beta"字样,苹果不允许测试版产品上架。
15、注册缺少隐私政策如果应用包含注册功能,注册页面必须提供隐私说明协议按钮或者链接。另外在 iTunes connect 提交新版本的时候,Privacy Policy URL 必须要填写。
16、应用出现崩溃、加载失败等 bug审核期间出现崩溃会导致审核被拒。ASO100建议,在审核期间务必保证服务器稳定,避免审核人员审核时出现内容加载失败的情况,导致被拒。
17、应用描述、截图和应用功能不符如果应用的描述或截图介绍的功能在审核期间没有体现,则会被拒绝,如果介绍文案不够详细也会有一定概率被拒。
18、应用包含应用推荐功能除特殊情况,苹果明令禁止应用内推荐其他APP。
19、应用包含不正确的诊断功能如果你的应用中,包含不真实的系统检测或优化功能,苹果会认为这项功能有误导用户的嫌疑,审核时会被拒绝。
20、应用提交的新版本与上一版差异过大如果你提交的新版本应用与上一版相比,功能上变化过大,比如将游戏升级为工具类应用,或在新版本中完全改掉前一版产品的功能,则会被苹果拒绝。
21、应用违反当地法律法规应用程序必须遵守上线地区的法律法规,禁止含有赌博、色情、有偿陪伴等违反法律的内容,尤其为用户提供付费社交服务的APP,例如在线直播类APP,必须严格遵守相关规定。
22、应用作者名与金融机构名字不一致针对理财、P2P等金融相关产品,苹果增加规定,开发者的名字必须与APP内的金融机构名字保持一致,否则会被拒。
且由同一品牌的金融机构提供服务的APP,必须发布在同一个开发者账号跟名称下。
如果你已经代表委托人或者公司发布了这些APP,你的委托人或者公司应该注册iOS开发者账号,并把你添加到他们的开发者账号里,这样你就可以在他们账号下面提交并发布APP了。
23、应用提供功能过于简单应用内的功能不能太过单一,苹果虽然理念中提倡“简单”,但并不代表能接受功能不够完善的应用,他们对应用的核心要求,是希望能够给用户更有价值的体验。当然,如果你的产品太有创意,可能苹果的审核员没能理解它的独到之处,这样的情况下,你可以通过申诉来更详细的描述产品优势,以便通过审核。
以上为我的回答,如果帮到了你,忘了点击采纳哦~
因为公司之前上线了一款针对商业AR相关的App,时间上非常紧迫,在这期间我们出现过很多错误和经验,记录一下过程。
问题1:提交加急审核
1提交时离既定上线时间还有几天时间,所以选择了加速选项,因为第一次上线App,所以有很多地方不是很明确,首次提交加速审核时很随意的写了理由:
大致内容:
很明显,苹果很快回复NO!我不能给你加速审核!
分析原因:加速的原因写的很LOW,因为虽然你很着急,但是苹果是以用户至上的一家公司,你必须让审核人员知道,如果这个App上线,将能给苹果、苹果的用户带来哪些好处,如果没有按时上线,将会给苹果、苹果的用户带来哪些损失。
SO,又重新提交了一次加速审核要求。并认真的写了一大段原由
大致内容:
2提交后,因为正赶上美国的复活节,所以我们并没有报多大希望能申请加速审核成功。但是意外的是第二天我们又收到了苹果的邮件,显示已经开始审核了。
高兴,然而很快我们又收到苹果解决的邮件。
大致内容就是你的App存在2个问题,1)我们在ipad上测试,在IPv6网络情况下,加载图标一直在旋转,界面无法加载内容。2)ipad界面截图不对。
附图是测试的截图
问题2:ipv6问题
这个问题相信大家都会遇到,国外的网络基本都是ipv6,但是国内的网络情况还停留在ipv4,我们的服务器是阿里的,我们在国内和香港通过TestFlight测试的时候虽然加载内容有时会卡慢,但是依旧可以正常测试使用的。
然而处于美国的审核员在ipv6网络情况下,测试无法加载内容。
1我们经过了解和讨论马上列出了场景和解决方案:
a阿里云国内地域的云服务器ECS没有分配有效的公网IPv6地址,但苹果APP审核时,可能会要求内容能通过IPv6地址访问
b国外服务商tunnelbrokernet,可以提供IPv6的隧道地址,使用的协议是6in4
c阿里云国内地域的云服务器ECS有“经典网络”和“专有网络”的网络类型,“经典网络”环境里可以使用tunnelbrokernet提供的隧道地址,“专有网络”则不可以,因为阿里云工程师确认在“专有网络”环境下不支持41协议
那么就是说,只有2个解决方案了,a)调试阿里云,b)购买国外支持IPv6的主机
2经过一些测试和查询,排除了阿里,我们通过 Online Ping IPv6 测试阿里的服务器不支持ipv6。
然后询问了阿里工程师回答:
目前ecs服务器时支持配置ipv6的,但是网络不支持ipv6访问, 还请您知晓。如果您需要服务器可以被ipv6访问的话您可以考虑搭建ipv6隧道,具体您可以参考:https://bbsaliyuncom/read/304532html
进行配置下,相关的配置还需要您自行完成,还请您知晓,谢谢。
3OK。那么我们搭建ipv6隧道就行了,不需要购买支持IPv6的服务器了,所以马上查了一下,先是找国外的tunnelbroker,配置
其中摸索了很长时间,因为各种问题都没有配置完成。我们一度想直接购买国外的服务器。
后来又发现腾讯的DNSPos去年就声明支持ipv6的新闻,好嘛,我们把阿里的域名解析到DNSpod,依旧不支持IPv6。腾讯这个坑爹货。
4最后我们在搬瓦工花了299美元买了一个VPS,搭建了IPv6的隧道,经过调试终于可以正常访问了。
OK,我们马上提交过去,这里需要知道的是,只要你的App处于加急审核中,无论是被打回几次再提交,App都是处于加急审核的状态。
这一次提交已经是第三次提交了,第二天却又被苹果打回,原因为:“因为审核人员看不懂中文界面,所以要求我们提供一段录制的演示视频,帮助他们学习如何使用App,才能继续审核。”
问题3:演示操作视频问题
因为第一次上线App,所以有很多地方不是很明确,我们只上传了界面截图等,并没有上传操作和演示的视频。
好,马上录制了使用操作的演示视频。
再提交。
很快再后台收到回复。
大致是说,你的App没有用户交互的东西,只是推销你的广告balabala,你拒绝你的App理念。
首先我怀疑苹果审核员根本就不知道怎么使用这个App,也不清楚这个App的功能。
其次,苹果可能对我们把内容服务器放在随时可以更改内容的方式很反感,他无法控制我们的内容。OK,那就需要明确的沟通和申诉,告诉审核员我们这么做的原因。
反思了一下,是不是视频录制的不够明确。
我们马上采取2个申诉内容:
1)告诉苹果审核员,这个App的功能和有趣的地方
2)再录制一段明确展示App功能的视频
申诉内容:
好吧,终于,在第二天,我们收到了苹果审核通过的邮件。看来审核人员还是非常人性化的,这一点有利有弊,最重要的是你可以和对方沟通,对方也能认同你的想法。这一点非常难得。
历时9天的审核过程。
虽然加急审核成功,但因为第一次提交App,诸多经验不足,当然,因为展览会也因为其他原因延迟开展了,所以,最终我们还是赶在了展会之前将这个App商家苹果APP Store成功。
楼主问的问题范围很广,审核被拒的原因有很多~
在这里我简单的整理下,总结了以下十几种常见的原因。
楼主看下是否有您家App遇到的问题吧~ ↓↓↓
一、应用出现崩溃、加载失败等非常明显的Bug
《App Store Review Guidelines》21中明确指明:Make sure your app has been testedon-device for bugs and stability before you submit it……Please don’t treat AppReview as a software testing service We will reject incomplete app bundles andbinaries that crash or exhibit obvious technical problems(请确保你的应用在提交审核之前经过充分测试并且没有Bug……不要把应用程序审核当作软件测试服务,如果你的应用不完整或者存在明显的技术缺陷,它将直接被拒绝。)
虽然审核人员发现应用的Bug是几率事件,但是为了保证应用按时上线,在提交之前还是尽量确保它没有明显的Bug比较好。此外,在审核期间,保证服务器稳定也非常重要,如果审核人员审核时出现内容加载失败等情况,也会导致被拒的。
被拒理由原文:
Performance -21
We discoveredone or more bugs in your app when reviewed on Wi-Fi
Specifically,when we attempt to log-in, an activity indicator would spin briefly, thendismisses itself with no further action taken by the app
The user remainson the log-in screen, and is unable to use your app
We've attachedscreenshot(s) for your reference
Next Steps
Please run yourapp on a device to identify the issue(s), then revise and resubmit your app forreview
注:我们这里举出的,只是其中比较有代表性的一条信息。应用审核被拒后,苹果会在ResolutionCentre (解决方案中心)告知被拒的原因以及解决方案。有时候,即使因为同一原因被拒,也可能收到表述不同的苹果反馈信息。
二、应用描述、截图等与应用功能严重不符
如果应用描述、截图和预览视频等营销/宣传性资料中介绍的功能与应用的实际功能大相径庭,或者苹果审核人员并没有在应用中发现应用描述或截图中展示的功能,都有可能被拒。
除此之外,截图太过艺术化,完全不符合应用的实际内容,或选择的分类和应用性质完全不符等等都有可能被拒。
被拒理由原文:
23 Details
We were unableto locate some of the features described in your marketing materials or appname
Specifically, weare unable to locate 'xxx ' features that marketed in the app name
Next Steps
If thesefeatures are located in your app, please reply to this message in theResolution Center to provide information on how to locate them
Alternatively,please revise your app to ensure that these features are fully implemented orrevise your application description, release notes and screenshots to removethis content
三、错误使用抽奖、竞猜等促销方式
抽奖、**、竞猜等功能可能是应用使用最普遍的促销方式之一了,而苹果对这些也做出了规定。例如:①用于抽奖和竞猜的官方规则必须在应用当中予以提供,并且明确表明苹果公司不是赞助商或者以任何形式参与了该活动;②应用不允许使用应用内付费购买信用点或者虚拟货币,并把它们与实际的货币结合使用,也不允许在应用当中购买**、抽奖券,和进行资金转移……如果你没有完全明白苹果对这方面的审核条款,很可能被拒!
被拒理由原文:
Legal - 533
Your app enablesusers to purchase a raffle ticket, top-up their accounts or initiate fundtransfers in the app, which does not comply with the App Store ReviewGuidelines
Next Steps
While raffletickets cannot be purchased within the app, you may provide a link thatlaunches your web site, in Safari, and enables ticket purchase
四、包含虚假、误导用户的信息或功能
如果名称、描述等应用信息或功能中包含虚假、山寨的成分,被苹果认定为:有误导用户的嫌疑,审核时就会被拒绝。
被拒理由原文:
222 Details
Your app or itsmetadata contains misleading content Specifically, your app name, xxx,misleads users that the app includes ability to earn cash
Next Steps
Please remove orrevise any misleading content in your app and its metadata
五、包含隐藏功能
不要在应用中包含任何隐藏以及没有相关说明文档的功能。如果应用的功能不能让审核人员了解清楚,很可能被拒。且苹果在审核规则中还有这样一条规定:如果这样的行为过分或者反复出现,你可能会被从开发者身份当中除名。
被拒理由原文:
Performance -231
We noticed thatyour app contains hidden features
Specifically,your app contains a hidden music downloader
Next Steps
Please removethese features from your app
六、侵犯第三方版权
苹果对知识产权的保护力度是有目共睹的——不仅在审核条款中单独设了52知识产权这一条,还开通了投诉通道。
App Store审核条款里明确规定:
①不要使用受保护的第三方内容,如商标、版权作品,或者在应用中使用未经专利许可的创意。
②如果你的应用使用、访问、展示和商业化第三方的服务,请保证你已经获得了相应的授权许可,且必须根据要求在审核前一并提供许可文件。
③应用程序不能对非法分享、保存、转换或者来自第三方源的数据的非法使用提供方便,除非具有相应的合法授权协议。
除此之外,苹果也出台了一系列保护自身知识产权的条款,例如:
①不要明示或暗示苹果公司是你的应用的供应商,或者苹果为你的应用的功能和质量代言。
②禁止创建一个与苹果已有产品、用户界面、应用、广告主题相似的应用,且不允许拼错苹果产品名称。
被拒理由原文:
Legal - 523
Your app alsoallows users to either save or download music and/or video content withoutauthorization from the relevant third-party sources
Next Steps
Please providedocumentary evidence of your rights to allow music or video content downloadfrom their sources If you do not have the requested permissions, please removethe music or video download functionality from your app
七、出现第三方移动平台的名字、图标等
苹果应用商店审核指南2310规定:Make sure yourapp is focused on the iOS, Mac, Apple TV or Apple Watch experience, and don’tinclude names, icons, or imagery of other mobile platforms in your app ormetadata, unless there is specific, approved interactive functionality(确保你的应用专注于iOS、Mac、Apple TV orApple Watch,在应用或者元数据中不包含其他平台的名称、图标、图像,除非有特定的、被认可的互动功能。)
也就是说,最好不要在苹果的应用商店出现和Android等平台有有关的信息,否则被拒的风险大大的。
被拒理由原文:
2310
DetailsWe foundthat your app and/or its metadata contains inappropriate or irrelevant platforminformation, which is not in compliance with the App Store Review Guidelines
Specifically,your app mentioned other platforms, such as Android
Next Steps
Providing futureplatform compatibility plans, or other general platform references, is notappropriate in the context of the App Store It would be appropriate to removethis information
八、采集了IDFA却未集成广告服务
IDFA (identifierfor advertising)能够较精准地识别用户,尤其对广告主追踪广告转化率帮助很大。苹果开发者计划许可协议中规定:只有使用广告服务才有权采集IDFA。
被拒理由原文:
PLA 3312
We found thatyour app uses the Advertising Identifier but does not include ad functionalityThis does not comply with the terms of the Apple Developer Program LicenseAgreement, as required by the App Store Review Guidelines
Specifically,section 3312 of the Apple Developer Program License Agreement states:
"You andYour Applications (and any third party with whom you have contracted to serveadvertising) may use the Advertising Identifier, and any information obtainedthrough the use of the Advertising Identifier, only for the purpose of servingadvertising If a user resets the Advertising Identifier, then You agree not tocombine,correlate, link or otherwise associate, either directly or indirectly,the prior Advertising Identifier and any derived information with the resetAdvertising Identifier"
九、含UGC却未提供用户协议及举报功能
如果应用内有发帖等UGC(用户产生内容)功能,但是却没有要求用户同意条款(EULA),也没有对敏感信息的举报措施等,也可能被拒。
被拒理由原文:
Safety - 12
Your app enablesthe display of user-generated content but does not have the requiredprecautions in place
Next Steps
Please reviseyour app to implement all of the following precautions:
- Requirethat users agree to terms (EULA) and these terms must make it clear that thereis no tolerance for objectionable content
- A method forfiltering objectionable content
- A mechanismfor users to flag objectionable content
- The ability toblock abusive users from the service
- The developermust act on objectionable content reports within 24 hours by removing thecontent and ejecting the user who provided the offending content
十、用个人账户上传金融类应用
将这一点列出来,是想再次提醒一下理财、P2等金融类相关产品的开发者们:目前,金融类应用只能用对应公司名称的开发者账号上传了。也就是说,如果用个人开发者账号提交金融类应用,会收到苹果的审核未过信息↓↓
被拒理由原文:
PLA12
The Seller andArtist names associated with your app do not reflect the name, "xxx有限责任公司," in the app or its name and metadata, as requiredby Section 12 of the Apple Developer Program License Agreement(您的应用开发商名称和应用内/应用名称/关键词/描述中的名字(XXX有限责任公司)不匹配,违反了苹果开发者计划许可协议12。)
Next Steps
Your app must bepublished under a Seller name and Artist name that reflects the xxx有限责任公司 brand, If you have developed these apps on behalf of aclient, please advise your client to add you to their development team of theirdeveloper account(您的应用必须以符合XXX有限责任公司品牌名称的开发者账号上传。如果您是帮助客户开发的应用,请通知您的客户将您添加到他们的开发者账号团队成员中。)
您的应用必须以符合XXX有限责任公司品牌名称的开发者账号上传。如果您是帮助客户开发的应用,请通知您的客户将您添加到他们的开发者账号团队成员中。
当然,以上只是近期出现地比较频繁的被拒原因,除了这些之外,比较常见的原因还有以下几点:
1 提交的新版本与上一版相比,功能上变化过大,或在新版本中完全改掉了前一版产品的某些功能。
2 应用内推荐了其他App。
3 在iTunes Connect的应用预览信息中,提供的信息不足。也就是说,如果应用的某些功能需要登录,你却没有提供一个有效的demo账户的用户名和密码,就可能被拒。
4 应用内包含检查更新功能。
5 含有赌博、色情等违反法律的内容,或出现过于令人反感或者低俗的内容。
6 应用使用了私有API。
7 应用内的功能不能太过单一,或产品太有创意,苹果的审核人员没能理解到它的独到之处。
8 反复提交类似的应用。也就是说,如果提交几个本质上一样的应用,不仅会影响其他应用的审核进程,还会有被拒的风险。
9 不恰当的评级。
10 应用名称、安装包等地方包含test、demo等字样。
其实审核被拒一般分为两种情况:Binary Rejected(因应用代码问题被拒,需要重新上传应用并重新排队)和 MetadataRejected(因元数据被拒,只需修改信息,不再需要重新上传),虽然后者发生后只需要修改信息即可,但无论哪种情况发生,都会浪费一定的时间。所以,在提交审核前,建议楼主仔细研究一下苹果的各项审核规则及常见的被拒原因。
此外,如果真的不幸中招,也不用太过慌张。被拒后,苹果会将被拒理由、解决方案、具体违反了哪项条款(一般情况下,反馈信息中,最前面的数字对应的便是App Store审核规则或开发者计划许可协议的相应条款)等发到Resolution Centre (解决方案中心)。通常情况下,按照苹果的建议仔细进行修改,再次提交便能通过。
原文来至:http://wwwcnblogscom/haohao-developer/p/5626821html
负责 iOS 应用开发的同学们,想必已被 APP Store 的审核机制折磨心累不止。新的一年,又一轮审核即将来袭,你们做好准备了么?
为了帮助各位 iOS 应用开发的同学免受折磨,腾讯 Bugly 特邀互娱 iOS 预审组的同学通过大量的数据分析,对苹果的审核机制进行了一番总结,连夜赶稿写出提升 iOS 审核的通关秘籍(因为内容较多,因此分为上下两篇),来与大家分享。
经过互娱 iOS 预审组近一年的数据监控,分析过往提审被拒的案例,我们对 iOS 的审核进行了缜密分析,统计出最常见的被拒原因:
通过以上案例,并结合《苹果应用商店审核指南》,大体可以将审核工作分为三块:客户端资源检查、应用内容检查、提审资源检查,我们将通过这三步来为您揭秘iOS审核的真相。
第一步:客户端检查篇
客户端检查的主要目的是通过客户端配置检查来保证客户端符合苹果的开发者规范以及其他更新的要求,包括存储系统、配置文件、网络连接(***)、icon检查、私有API检查,提审前的审核会覆盖这几个部分的各个测试点。
1存储系统检查
苹果官方对用户数据存储有严格的规范,因此如果要通过审核,首先要了解一下苹果官方数据存储指引的相关内容:
被拒条款:223
Apps must follow the iOS Data Storage Guidelines or they will be rejected( 应用启用iCloud存储功能后,必须遵守iOS数据存储指南,否则将被拒。)
被拒案例
被拒原因描述如下:
We found that your app does not follow the iOS Data Storage Guidelines, which is required per theApp Store Review Guidelines
In particular, we found that on launch and/or content download, your app stores 56 MB To check how much data your app is storing:
Install and launch your app
Go to Settings > iCloud > Storage & Backup > Manage Storage
If necessary, tap “Show all apps”
Check your app’s storage
The iOS Data Storage Guidelines indicate that only content that the user creates using your app, eg, documents, new files, edits, etc, should be backed up by iCloud
Temporary files used by your app should only be stored in the /tmp directory; please remember to delete the files stored in this location when the user exits the app
Data that can be recreated but must persist for proper functioning of your app - or because customers expect it to be available for offline use - should be marked with the “do not back up” attribute For NSURL objects, add the NSURLIsExcludedFromBackupKey attribute to prevent the corresponding file from being backed up For CFURLRef objects, use the corresponding kCFURLIsExcludedFromBackupKey attribute
简评:
应用在启动时就在Documents下产生了56 M的数据,说明不是用户自行创建并用于备份的,通过修改应用,在document目录加一个不备份的属性(NSURLIsExcludedFromBackupKey)后审核通过。再来总结一下iOS5以后的存储规范:
ü 只有那些用户生成的文档和其他数据或者是那些不能被你的应用所重建的数据应当保存在/Documents 目录内。这些数据文件将会自动的通过iCloud备份。
ü 那些可以重新下载或者重新创建的数据应当保存在/Library/Caches 目录内。你可以把数据库缓存文件或者可下载的内容如杂志、报纸、地图应用的数据等放入缓存目录里(Caches directory)
ü 临时需要的数据应该保存在/tmp 目录内。尽管这些文件不会备份到iCloud里,但记住不再需要它们时立即删除掉这些文件,这样它们就不会继续浪费用户设备的储存空间了。
ü 使用“do not back up”属性指定不需要iCloud备份的文件(比如需要离线环境使用的文件;该属性能在任何目录下生效)。由于这些文件占用设备空间,所以应用需要有一套定期监控与清理这些文件的机制。
应对措施
本例中该应用未启用iCloud备份,如果启用了iCloud备份,则可以通过把较大的数据(模板类、联网下载的数据等)存到/Library/Caches目录,则同样可以解决问题。
2配置文件(Infoplist)检查
每个 APP 都使用Infoplist文件来存储以上的元信息,就是通常所说的 “属性列表”。IOS用Infoplist来决定bundle所显示的icon,当前app支持打开的文档类型,等等其它的信息。正如以上所提到的,Infoplist本身是一种结构化的文本文件,它包含了一些重要的配置信息。关于此部分的检查,我们通常关注如下方面的内容:
被拒条款
Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc(多任务应用只允许在后台运行如下相应的服务:VoIP,音频播放,地理位置,任务记录,本地提醒等。)
被拒案例
被拒原因描述:
We found that your app uses a background mode but does not include functionality that requires that mode to run persistently This behavior is not in compliance with the App Store Review Guidelines
We noticed your app declares support for VoIP in the UIBackgroundModes key in your Infoplist but does not provide any Voice over IP services
We recognize that VoIP can provide “keep alive” functionality that many app features would like to use However, using VoIP in this manner is not the intended purpose of VoIP, which, as indicated in the iOS Application Programming Guide, is that: “A Voice over Internet Protocol (VoIP) application allows the user to make phone calls using an Internet connection instead of the device’s cellular service”
It would be appropriate to add VoIP features or remove the “VoIP” setting from the UIBackgroundModes key
简评:
应用为了实现后台保持在线的功能,在 Infoplist 中定义的 UIBackgroundModes,间接声明了支持 VoiP 功能,实际应用被苹果认为并未按照 Voip 的定义去实现,导致被拒;从 Infoplist 移除了 UIBackgroundModes(VoIP)和相关代码后审核通过。总结,应用首次提交审核时,有争议的功能尽量先砍掉,先保证尽快上架。
3网络连接(***)
大多数App的审核服务器是部署在中国,然而苹果的iOS审核团队却又是在美国,他们进行审核时,使用的是美国网络,跨洲际的网络连接,难免会出现时延大、抖动、丢包等网络问题,因此被拒。
应对措施
为了提前验证App后台服务器基于此场景下的反应,预审团队采用美国***方式来模拟苹果审核团队的访问网络环境。
4Icon检查
苹果官方对iPhone、iPad、iPod等应用程序的icon有明确的要求:要求ipa包中必须包含180x180,120x120,76x76,152x152尺寸的PNG格式的icon(详见下表),并且不同尺寸的icon内容要一致。
5私有API检查
私有API是指放在PrivateFrameworks框架中的API,未公开的API是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录的API。
之前 APP Store 便下架了包括《爸爸去哪儿2》、《找你妹》在内的256款APP,原因是调用私有API,很明显,苹果明确不允许App使用这类API。
被拒条款:25
Apps that use non-public APIs will be rejected(使用非公开API的应用会被拒。)
被拒案例
被拒原因描述如下:
We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change
We found the following non-public API/s in your app:
descriptionWithCalendarFormat:
If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple’s private APIs to avoid your application being flagged in future submissions
Additionally, one or more of the above-mentioned APIs may reside in a static library included with your application If you do not have access to the library’s source, you may be able to search the compiled binary using “strings” or “otool” command line tools The “strings” tool can output a list of the methods that the library calls and “otool -ov” will output the Objective-C class structures and their defined methods These techniques can help you narrow down where the problematic code resides
We appreciate that you may have made the precautions in your code for using non-public APIs, however, there is no way to accurately or completely predict how an API may be modified and what effects those modifications may have For this reason, we do not permit the use of non-public APIs in App Store apps
简评:
这个条款被拒的描述文字比较多。先来看看苹果API的分类:
1) Published API(公开的API):又称 Documented API(文档中记录的API)。是苹果通过 Cocoa Touch 向全世界第三方开发者公开的所有 API 。
2) UnPublished API(未公开API):又称 Undocumented API(文档中未记录的API),是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录的API。按苹果的说法,未公开的API是还不够成熟,可能还会变动的API,等完全成型了后会变成公开的API,但是目前不对其提供承诺,就是系统版本升级后可能会失效。
3) Private API(私有API):指的是SDK下的 PrivateFrameWorks框架下的API,真实存在于 Cocoa Touch 中。私有API是苹果明确规定不能使用的API,当然在越狱渠道没这个限制,比如91渠道。
被拒文字中的non-public APIs,后两种分类都算。源码中如果恰好定义了方法与非公开的API重名,也会导致被拒;比较常见的是,使用的第三方静态库中,包含了非公开的API,那么可以通过strings或otool命令来查找相关的API:
strings LibNamea | descriptionWithCalendarFormat
或
strings AppNameapp | descriptionWithCalendarFormat
其中app是编译结束后Build目录下的文件。
使用otool –ov LibNamea 输出Object-C类结构以及定义的方法。
应对措施
采用自动化工具扫描来实现,实现原理如下:
1、获取未公开库:基于iOS的SDK,dump出全库,全库减去私有库和公开库后,得到未公开库(non-public API);
2、获取头文件方法和成员的列表:使用Otool等工具,对ipa的可执行文件进行反编译解析,获取头文件中方法和成员的列表;
3、与未公开库、私有库进行匹配:将列表中的方法和成员,分别与私有库和未公开库进行匹配,如未有匹配成功项,则扫描通过,如有匹配成功项,则扫描不通过(给出告警和API名称)。
6硬件与版本差异
iOS 2007年作为手机系统发布至今,已经陆续套用到iPod touch、iPad以及Apple TV等产品上,并更新了多个版本。而苹果的硬件也在不停地推陈出新,外部市场上也已经有比较多的产品硬件版本,面对如此之多的硬件及系统版本,怎么去保证提审版本的质量,是一直困惑测试和产品团队的大难题。
被拒案例
对应措施
1、与苹果关注同样的验收版本:推测苹果审核团队设备验收选型也会遵循原则:验收最新发布的两个系统版本,两个硬件版本。保证游戏可以在市场占有率最高的两个系统版本及硬件配置上可以流畅运行。
2、关注beta版本:苹果在新版本上线前会发布beta版本做少量测试,此时需要跟进beta版本,可以提前发现问题,避免突然版本发布造成措手不及。
总结:
1、实际上存储系统的检查是一套规范,遵循同系列理念,比如用户本地存储空间与苹果iCloud服务器存储的合理使用,节约空间;
2、Infoplist文件检查实际上是xml文件的键值检查,并且值检查关系是并列的。通过存储文件、plist用例的检查,基本避免了因该类原因被拒的情况;
3、通过自动化工具扫描是否调用了私有API, 苹果除了对提审版本扫描还会不定期对线上的版本进行扫描,所以别想着通过云控开关或者代码下发来绕开私有API。同样需要注意的是,不调用私有API,但跟私有API函数重名也会被apple认为违反了私有API规定。
Apple 应用商店审核要多长时间
一个应用提交到 App Store 上到底要多长时间?如果非要一个均值的话,我们的经验是:首次上架七天,更新四天,被拒如果能很快再次提交的话,估计两天就够了。保守估计的话,为应用上架留出 15~20 天比较稳妥。
以下是我们遇到的具体情况及分析。
应用审核周期
首次提交
6次提交,3次被拒(好吧,一开始兄弟们年少无知)。几次提交的周期:16天(2012-9 被拒),11天(2012-10 被拒),8天(2013-6),7天(2013-11),7天(2013-11 被拒),4天(2014-1)。
可见应用审核的速度是越来越快了,现在一周之内应该能拿下。
版本升级
五次升级,一次被拒。升级审核的周期:5天(2012-11),3天(2012-12),3天(2013-8),1天(2013-11),7天(2014-2,不知道为什么,可能受到春节影响?)。
升级审核的时间一般不到上架时间的一半吧。
被拒后重新提交
被拒后,有三次是重新提交:
第二天重新提交,当天通过(2012-10);
升级版本被拒,当天提交,两天后通过(2012-12);
六天后提交,六天后通过(2013-11)。
所以,被拒后尽快重新提交吧,放久了可能就要重新排队了。
其他
一般当应用状态变成审核中后,一天之内就能完成审核并能在市场上访问到。
点击 “协议、税务和银行业务”
内购用的是付费应用程序,先签署《付费应用程序协议》,同意后状态变更为“用户信息待处理”,等待审核。
状态更改完毕后,点击“开始设置税务、银行业务和联系信息”。
(1)添加银行账户,按照要求填写相关内容即可。
(2)选择报税表,并填写。所有与 Apple 有商业合作者必选都是美国,若有其他需求,可以多选。
继续填写,首先认证公司基本信息,选择所有人类型,确认无误后认证条款处打对勾
Part I 部分,继续核对公司相关信息,选填内容可不填。
Part III 部分,签署税务条约,设置利益限制条款的种类,选填内容可不填。此部分如果需要可勾选上下图勾选框,不需要可不勾选,我们这个项目没有用到part III 部分,所以没有勾选。
Part XXX 部分,确认之前填写的信息,勾选完毕后,提交
(3)填写联系信息,共5个。高级管理、财务、技术、法务、营销。只需要提供5个人的基本信息即可。
https://appstoreconnectapplecom/apps/1604297713/appstore/addonsm=
只可使用一次的产品,使用之后即失效,必须再次购买。
示例: 钓鱼 App 中的鱼食。
只需购买一次,不会过期或随着使用而减少的产品。
示例: 游戏 App 的赛道。
允许用户在固定时间段内购买动态内容的产品。除非用户选择取消,否则此类订阅会自动续期。
示例: 每月订阅提供流媒体服务的 App。
允许用户购买有时限性服务的产品。此 App 内购买项目的内容可以是静态的。此类订阅不会自动续期。
示例: 为期一年的已归档文章目录订阅。
App 内购买项目的截屏,即所售项目的示意图。例如,如果 App 内购买项目是一本图书,您可以提交图书的截屏。您也可以提交购买页的截屏。该截屏仅用于 Apple 审核,不会在 App Store 中显示。
截屏要求如下:
iOS 至少需要 640 x 920 像素
Apple tvOS 需要 1920 x 1080 像素
macOS 需要 1280 x 800 像素
App 审核图像上传后,可以替换,但无法移除。当您的 App 内购买项目处于审核中时,您无法更新截屏。
https://appstoreconnectapplecom/access/testers
沙箱账号是不能直接在App Store进行登录的,只能在点击了购买商品之后,在弹出的登录框进行登录 。
验证是否已登录沙箱测试账号:
设置--iTunes Store与App Store,页面拉到最底部,会看到沙箱账户项会列出你已登录的沙箱测试账号!
操作方法一:打开App Store应用首页滑到最下方--选中AppleID--注销
操作方法二:设置--iTunes Store与App Store--选中AppleID--注销
checks if the client can make payments(检测App是否能支付)
getAvailablePurchases
Get all non-consumed purchases 获取未消费的商品
打印信息查询;
原因:
没有先执行getProducts,直接执行requestPurchase方法,要先拉取商品列表,再执行购买操作
问题描述;
1漏单必须要处理,玩家花RMB购买的东西却丢失了,是绝对不能容忍的。所谓的漏单就是玩家已经正常付费,却没有拿到该拿的道具。
解决:只要购买成功,便将购买记录(receipt等账单信息)保存下来,然后将账单信息传送给我们游戏服务器,游戏服务器获得账单后,和苹果服务器验证,账单有效的话,回馈给游戏服务器处理,游戏服务器处理后,返回给游戏客户端处理,处理完毕,将本地保存的购买记录删除。
https://developerapplecom/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotelyhtml 官方文档:向苹果校验支付凭证
21000 App Store无法读取你提供的JSON数据
21002 收据数据不符合格式
21003 收据无法被验证
21004 你提供的共享密钥和账户的共享密钥不一致
21005 收据服务器当前不可用
21006 收据是有效的,但订阅服务已经过期。当收到这个信息时,解码后的收据信息也包含在返回内容中
21007 收据信息是测试用(sandbox),但却被发送到产品环境中验证 请求sandbox校验支付凭证
21008 收据信息是产品环境中使用,但却被发送到测试环境中验证
消耗类型: 例如:金币、道具等。
非续订订阅: non-renewable subscription 例如:VIP
您的首个 App 内购买项目必须以新的 App 版本提交。请创建您的 App 内购买项目,然后前往 App 的“App Store”页,从“App 内购买项目”中进行选择,点按“提交”。 了解更多
在上传二进制文件并提交首个 App 内购买项目以供审核后,您可以使用下表提交其他 App 内购买项目。
唐巧-iOS应用内付费(IAP)开发步骤列表
未完~待续
当使用内购购买过商品之后没有把这个交易关闭,所以再次去购买商品后就会调用以前已经购买成功的交易去购买因为已经购买过,才会有这个提示
原因:添加内购项目时,信息填写不完整,app审核图像未上传
处理方法:上传app审核( 合适的尺寸 ),点击提交,状态改为正在准备审核中。
这个是内购选择类型不匹配原因导致。
购买成功之后,Apple会返回以下四个数据给应用
Reference
Review the updated Paid Applications Schedule
游客身份解决方案:即不登录也要能购买
1)服务器端做一个苹果审核机制,审核期间游客身份可以进行一切行为,一旦审核通过,修改服务端即可达到强制用户登录进行内购买的目的(这个有点。。。)
2)游客可以进行内购买,购买时以设备UUID为准,生成一个游客账号,将购买信息保存在服务器和本地,当用户登录正式账户后判断此设备是否进行过内购,有的话提示用户将游客身份购买的权益与现有账号绑定,如果绑定,游客权益则迁移到正式账户,如果不迁移,则游客身份和正是账户是两个独立账户,正式账户不享有游客身份的权益(我用的这个)
内购游客模式解决方案
iOS内购规则
0条评论