我在应用商店上有一个完全功能的应用程序已经运行了一年多,其中包括Facebook注册,一切都没有任何问题。然而,几天前,我收到了一些用户的投诉,他们说Facebook登录会导致应用程序在登录屏幕上卡住。我调查了这种行为,发现当您使用Facebook应用程序进行身份验证时,单击登录按钮后来自Facebook的回调不起作用。通过Safari进行身份验证可以正常工作。我已将我的Cocoapod库更新到最新版本,并在我的AppDelegate中添加了以下内容:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(app, open: url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
我的所有Plist文件都是有序的,Facebook没有暂停我的应用或类似的事情,当我尝试使用Safari登录时,它又可以正常工作了。iOS版本为11,我正在使用Swift 3。