最近フェイスブックでログインしようとするたびにうまくいかず、以下のエラーが表示されます。これは、iOSシミュレータと実際のデバイスで発生します。iOS Xcode 8.3 Facebook SDKログインエラー
2017-04-27 10:18:04.361 Colour Confuse[43796:1851249] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" 2017-04-27 10:18:04.362 Colour Confuse[43796:1851249] Falling back to storing access token in NSUserDefaults because of simulator bug 2017-04-27 10:18:04.363 Colour Confuse[43796:1851249] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
それは、私はそれが次のエラーをスローして、ビューが空白になり続けるためにクリックしたときただし、ユーザがログインできるようにするためのViewControllerを示しています。 FB View Controllerを閉じるために「完了」を押すと、アプリが完全にクラッシュしました。
Facebook login was cancelled by user. 2017-04-27 10:18:07.346 Colour Confuse[43796:1851249] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" 2017-04-27 10:18:07.346 Colour Confuse[43796:1851249] Falling back to storing access token in NSUserDefaults because of simulator bug 2017-04-27 10:18:07.347 Colour Confuse[43796:1851249] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" 2017-04-27 10:18:07.876 Colour Confuse[43796:1851249] Warning: Attempt to present <FBSDKContainerViewController: 0x7fe74da048c0> on <Colour_Confuse.GameViewController: 0x7fe74db02d80> whose view is not in the window hierarchy!
それは数日前までは正常に動作していますし、私はちょうど私が何も変わっていないとして、それはsuddently動作を停止している理由についての見当もつかない。
let facebookLogin = FBSDKLoginManager()
facebookLogin.logIn(withReadPermissions: ["email", "user_friends", "public_profile"], from: self.view?.window?.rootViewController) { (result, error) in
if result?.isCancelled == true {
self.fbLoginError()
} else if error == nil {
let credential = FIRFacebookAuthProvider.credential(withAccessToken: (result?.token.tokenString)!)
FIRAuth.auth()?.signIn(with: credential, completion: { (user: FIRUser?, error:Error?) in
if error == nil {
print("FB and Firebase Login Successful")
})
} else {
print(error)
self.fbLoginError()
}
})
} else {
print(error)
self.fbLoginError()
}
}
AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FBSDKProfile.enableUpdates(onAccessTokenChange: true)
FIRApp.configure()
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
FBSDKAppEvents.activateApp()
}
それはif文とちょうど完了クロージャ内のすべて無視のいずれかに当たることはありません。私はまた、キーチェーンの共有が
PLIST
あなたが –
を試していたものいくつかのコードを表示することができますあなたはplistファイル –
を表示することができます私はあなたがappdelegateクラスのfunc applicationDidBecomeActiveでこのメソッドを実装するのを忘れ考える(_アプリケーション:のUIApplication){ FBSDKAppEvents.activateApp() } –