我发送了另一个版本的应用,允许用户通过Facebook登录。当然,我使用官方Facebook iOS SDK。
但苹果公司两次拒绝了我的应用程序,原因如下:
该应用程序在移动版Safari中打开一个用于登录的网页,然后将用户返回到该应用程序。用户应该能够在不首先打开Safari的情况下登录。
我试图获得更多信息,而评论者的回答是:
感谢您的回复。我们审核了您的应用版本3.2.1,当用户点击Facebook登录时,用户将被带到移动版Safari,然后返回应用。
它提供了糟糕的用户体验,并且不符合指南。
和
感谢您的回复。允许用户在应用程序内登录而不重定向到移动Safari是合适的。
为什么只有我的应用程序出现此错误,当有数十个应用程序以这种方式使用Facebook iOS SDK并且不会被拒绝时?
Facebook iOS SDK中是否有办法在应用内打开登录页面?
答案 0 :(得分:6)
Facebook SDK 4.0 +
FBSDKLoginManager *login = [FBSDKLoginManager new];
if (![UIApplication.sharedApplication canOpenURL:[NSURL URLWithString:@"fb://"]])
{
login.loginBehavior = FBSDKLoginBehaviorWeb;
}
它将阻止通过Safari打开。
答案 1 :(得分:4)
Google+ SDK也会出现同样的问题,因为同样的原因,该应用可能会遭到拒绝:
原因
10.6 :Apple和我们的客户非常重视简单,精致,富有创意,深思熟虑的界面。他们需要做更多的工作但是 值得。苹果设置了很高的标准。如果您的用户界面很复杂或 不太好,可能会被拒绝 ----- 10.6 -----
我们在您的应用的用户界面中发现了以下问题:
该应用程序在移动版Safari中打开一个网页,用于创建帐户或 登录Google+帐户,然后将用户返回到该应用。该 用户应该能够创建帐户或登录而无需打开 Safari首先。
所以最好的解决方案是通过嵌入式WebView移动服务器端oAuth 2.0,SDK不允许你自动处理这个问题(比如Facebook SDK),至少在那些SDK没有进行更新处理之前嵌入式WebView用例。
答案 2 :(得分:2)
答案 3 :(得分:0)
适用于iOS的Facebook SDK提供了各种登录体验,您的应用可以使用这些体验来验证某人。此link包含您在iOS应用程序中实施Facebook登录时需要了解的所有信息。或者检查ray wenderlich教程iOS Facebook教程:如何从iPhone应用程序使用Facebook的新图谱API < / p>