APP苹果上线审核微信QQ登录被拒完美解决

新手学堂08

APP苹果上线审核微信QQ登录被拒完美解决,第1张

随着苹果APP审核指南的改变,大家应该能感觉到,APP想要通过审核似乎越来越难了,但其实并不,只要你开发的APP界面没太大问题,不会频繁崩溃(至少在审核人员的运行时不要崩溃),且内容健康,一般都会没有问题,这里需要重点说一下,如果你的APP做了关于登录分享,那就需要注意了。

就此次关于“送个礼物”app开发上线,给大家做下分享总结(纯属个人小分享,也给自己的工作做个总结):

大家都知道,苹果是特别注重用户体验的,同时也非常重视客户的隐私问题,但就国内的APP而言,第三方登录会让用户使用更加方便,减少了过多的账号记录,同时第三方的分享也是我们开发者依赖推广的一个途径。但苹果却不这么认为,因为你可能违反了苹果的审核规定172和106,下面详细说一下:

172: Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected

We found that your app uses Weibo login for authentication purposes only - but does not include any account-based features offered by that site This is not in compliance with the App Store Review Guidelines

It would be appropriate to modify your app to include account-based features of that social network - or use your own authentication mechanism

看到这里,很多开发者可能就明白了,苹果的意思是,用户需要登录才能使用其他功能,也就是说,在不登录的情况下,用户是不能使用APP的某些功能的,比如你的APP里面有收藏或分享的功能,那用户如果不登录,或者没有该登录方式的账号(比如新浪微博、微信和QQ),可能又有人会说,微信和QQ每个人都有啊,情况也确实如此,但是苹果不会因为这个理由就给你过,而且苹果的审核人员是在美国,你就不能保证他们在测试的时候会有新浪微博、微信或者QQ,可是如果确实没有,那就使用不了这两项功能,这和苹果注重客户使用体验是相悖的,那你的APP不拒还拒谁的?那么会有人问,那该怎么办?我亲身体验,因为我也是因为这个原因被拒的,当时在美国的审核人员打来电话明确说明,APP里不能只有第三方登录,应该有自己的账号系统,相信大家应该明白了,我们确实应该有自己的账号系统,你可以用手机号验证注册,也可以使用简单的用户名密码注册,总之,你要让用户能够更简便的使用你的APP。

如果你还没看到这里,那就请不要匆匆忙忙的去提交你的APP,因为问题还没说完,仅仅是做到上面这些还是不够的,否则还会有新的审核反馈等着你,上面提到了被拒理由106:

106: We found that your app requires the installation of another app before it can be used, which is not in compliance with the App Store Review Guidelines Apps should be able to run on launch, without requiring additional applications to be installed

Specifically, we were required to install QQ before we could use your app

Please revise your app so that a user can use it upon launch If your app requires authentication before use, please use a method that can authenticate users from within your app

不懂的可以去百度翻译,如果你的APP使用了微信和QQ的登录和分享,并且你的设备没有安装客户端,那么要特别注意,对于微信的登录和分享我们可以直接去判断为有没有安装客户端,然后动态的去显示或隐藏微信的登录按钮和微信及朋友圈的分享按钮,具体方法如下:[上传失败(image-a5dfca-1522120933162)]

这里需要你的SDK里面有微信API,并且调用头文件:

通过上面的方法判断,如果安装则显示登录和分享按钮:

[上传失败(image-cca2fb-1522120933162)]

未安装则隐藏按钮,就像这样:

[上传失败(image-7438f6-1522120933162)]

对于QQ,我们则不需要隐藏其登录按钮,那么就有人问,为什么?这样不是会被拒吗?那么,请问你有没有听说过QQ可以网页登录,同时我们也可以网页登录授权,它是这样的:

[上传失败(image-2a30e3-1522120933162)]

这里需要特别注意,比如QQ和空间分享:

[上传失败(image-f88cf3-1522120933162)]

你是否出有什么区别?没错,就是当你点击QQ登录按钮,会在我们程序内部弹出UIWebView来让我们授权登录,但是当你点击QQ分享和空间分享按钮的时候并没有像之前这样,它会直接跳转safari来让用户登录,那么?这不是一样吗?我们也可以登录授权啊,不一样!因为直接跳转了safari,那么如果用户的设备在没有升级90系统的情况下,他只能通过多任务或者退到桌面再进入我们的APP,也就是说不是一个好的用户体验,苹果会给你拒的,毫无疑问。那么,我们就同样需要判断有没有安装客户端来显示或隐藏QQ分享和空间分享按钮,调用下面这个方法:

[上传失败(image-1452b9-1522120933162)]

当然,如果你可以把QQ和微信的登录和分享都做成UIWebView来登录授权,那么你就不用再做上面这些了。