之前,当我在我的应用程序中点击“使用facebook登录”时,它将打开本机FB应用程序。现在它只在safar中打开facebook,我该怎么改变呢?
我已经在文档中编辑了我的info.plist:https://developers.facebook.com/docs/facebook-login/ios
我正在使用版本:
FBSDKCoreKit(4.22.0)
FBSDKLoginKit(4.22.0)
appDelegate:
import FBSDKCoreKit
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
//Init Facebook
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
// Override point for customization after application launch.
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
let handled = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
return handled
}
登录页面:
import FBSDKLoginKit
@IBAction func fbLoginBtnDidTouch(_ sender: AnyObject) {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
DispatchQueue.main.async {
fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) -> Void in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult = result!
if (result?.isCancelled)! {
return
}
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
}
}
}
}
}
func getFBUserData(){
if((FBSDKAccessToken.current()) != nil){
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, email"]).start(completionHandler: { (connection, result, error) -> Void in
if (error == nil){
let fbJson = JSON(result ?? [])
if let fbId = fbJson["id"].string, let fbEmail = fbJson["email"].string {
//do stuff
}
}
})
}
}