我有一个FBSDKLoginManagerRequestTokenHandler的问题,因为它应该被调用,但它不是。FBSDKLoginManagerRequestTokenHandler永不回电
let login = FBSDKLoginManager()
login.logInWithReadPermissions(["email"]) { (result, error) in
// should be retuned here after dismissing Safari, as I understood, but app never call this block.
}
它在第一步完美工作,所以应用程序打开Safari,我可以在Facebook上登录。
它说“应用程序已经授权”,然后点击Safari上的确定按钮,然后看到一条提示“在我的应用程序中打开此页面”,我轻轻打开并没有发生任何事情。我的意思是没有回电。
详情:
iPhone 6以及与iOS 9.2.1
荚的Facebook-IOS-SDK', '〜> 4.1'
阿洛斯正如我注意到我在我的日志中有这个错误:
-canOpenURL: failed for URL: "fbauth://authorize/?client_id=1150389881653102&default_audience=friends&display=touch&e2e=%7B%22init%22%3A1459873693399%7D&legacy_override=v2.3&redirect_uri=fbconnect%3A%2F%2Fsuccess&response_type=token%2Csigned_request&return_scopes=true&scope=email&sdk=ios&sdk_version=4.1.0&state=%7B%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A0%2C%220_auth_logger_id%22%3A%228FB19521-A8ED-49DA-A7DC-E5382029252C%22%7D" - error: "This app is not allowed to query for scheme fbauth"
向plist添加数据并不如here建议的那样有帮助。我已经添加了这一点:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
我有这样的应用程序委托:
public func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
{
return self.applicationManager.application?(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) ?? false
}
,但看到它的弃用iOS版9
检查你有没有提到你没有设置'应用程序(应用程序:UIApplication的,的OpenURL网址:NSURL,sourceApplication:字符串?注释:AnyObject?) - > Bool' ?也是网址方案? – HardikDG
@Pyro嘿,我已在一个问题中添加新评论,谢谢 –