Apple拒绝app 10.6,因为Facebook打开Safari登录

时间:2015-01-13 08:46:07

标签: ios itunesconnect facebook-ios-sdk

我发送了另一个版本的应用,允许用户通过Facebook登录。当然,我使用官方Facebook iOS SDK。

但苹果公司两次拒绝了我的应用程序,原因如下:

  

该应用程序在移动版Safari中打开一个用于登录的网页,然后将用户返回到该应用程序。用户应该能够在不首先打开Safari的情况下登录。

我试图获得更多信息,而评论者的回答是:

  

感谢您的回复。我们审核了您的应用版本3.2.1,当用户点击Facebook登录时,用户将被带到移动版Safari,然后返回应用。

     

它提供了糟糕的用户体验,并且不符合指南。

  

感谢您的回复。允许用户在应用程序内登录而不重定向到移动Safari是合适的。

为什么只有我的应用程序出现此错误,当有数十个应用程序以这种方式使用Facebook iOS SDK并且不会被拒绝时?

Facebook iOS SDK中是否有办法在应用内打开登录页面?

4 个答案:

答案 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)

现在,苹果的规则更加严格。

您可以在官方Facebook文档here中找到问题的答案。

“嵌入式WebView登录对话框”

答案 3 :(得分:0)

适用于iOS的Facebook SDK提供了各种登录体验,您的应用可以使用这些体验来验证某人。此link包含您在iOS应用程序中实施Facebook登录时需要了解的所有信息。或者检查ray wenderlich教程iOS Facebook教程:如何从iPhone应用程序使用Facebook的新图谱API < / p>