我有一個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嘿,我已在一個問題中添加新評論,謝謝 –