苹果拒绝了应用10.6,因为Facebook打开Safarilogin
我发送了另一个版本的应用程序,允许用户通过Facebooklogin。 当然,我使用官方的Facebook iOS SDK。
但苹果两次拒绝我的应用程序,原因如下:
该应用程序在移动Safari中打开一个网页login,然后将用户返回到应用程序。 用户应该能够在不打开Safari的情况下login。
我试图得到更多的信息,审稿人的答案是:
感谢您的答复。 我们检查了您的应用程序版本3.2.1,当用户点击Facebooklogin时,用户被带到移动Safari,然后回到应用程序。
它提供较差的用户体验,不符合本指南。
和
感谢您的答复。 允许用户在不redirect到移动Safari的情况下login应用程序将是适当的。
为什么只有我的应用程序得到这个错误,当数十个应用程序使用Facebook iOS SDK这种方式,并没有被拒绝?
Facebook的iOS SDK中有没有办法打开应用程序内的login页面?
使用Google+ SDK也会出现同样的问题,因为相同的原因,该应用可能会遭到拒绝:
原因
10.6 :苹果和我们的客户通过界面高度重视简单,精致,创造性和思想。 他们需要更多的工作,但是值得。 苹果设置了一个高的标准。 如果你的用户界面很复杂或者不太好,可能会被拒绝—– 10.6 —–
我们发现以下问题与您的应用程序的用户界面:
该应用在移动版Safari中打开一个网页,用于创build帐户或loginGoogle+帐户,然后将用户返回到该应用。 用户应该能够创build一个帐户或login,而无需先打开Safari。
所以最好的解决scheme是将服务器端oAuth 2.0移动到Embedded WebView中,SDK不允许你自动处理(如Facebook SDK),至less在这些SDK没有更新以处理Embedded WebView用例。
Facebook SDK 4.0+
FBSDKLoginManager *login = [FBSDKLoginManager new]; if (![UIApplication.sharedApplication canOpenURL:[NSURL URLWithString:@"fb://"]]) { login.loginBehavior = FBSDKLoginBehaviorWeb; }
它将阻止通过Safari打开。
现在苹果公司的规定越来越严格。
你可以在这里的官方Facebook文档中find你的问题的答案。
embedded式WebViewlogin对话框
适用于iOS的Facebook SDK提供了各种login体验,以便您的应用可以用来validation某个人。 这个链接包括你需要知道的所有信息,以便在您的iOS应用程序中实现Facebooklogin。或者检查ray wenderlich教程Facebook教程的iOS:如何使用Facebook的新的graphicsAPI从您的iPhone应用程序
- iOS Facebook框架login过程
- “CUSTOM_APP_EVENTS”活动需要参数“custom_events”或“custom_events_file”
- 使用Swift 3的FBlogin不会返回任何值,并且在成功login后不会返回用户到应用程序
- 从iPhone应用程序发布Facebook上的“feed”图片
- Facebook SDK iOS邀请用户没有FBWebDialogs
- 用iPhone使用最新的FBConnect SDK发布到用户的Facebook墙上
- 在Facebook iOS 3.1.1 SDK中使用FBSession openActiveSessionWithReadPermissions处理无效的accessToken
- Facebook应用程序邀请iOS SDK v4.0configuration和状态
- Facebook iOS SDK 3.x提要对话框消失了吗?