【发布时间】:2024-05-01 14:05:02
【问题描述】:
我正在尝试创建与 Firebase 的 Facebook 登录集成。昨天我做的时候习惯了工作。从昨天开始,只有小的 UI 更改导致了一个空白的 Safari 控制器,该控制器应该是 Facebook 权限页面才能登录。
我已经登录了,因为在我的 Firebase 控制台中存储了我的 Facebook 用户,因此登录功能在 UI 更改之前就可以正常工作。我恢复了 UI 更改,重新配置了所有内容,从设备上清除了应用程序,重新安装了 pod 以查看是否有更新的版本,但仍然无法安装。
这是我说的白屏:
另外,控制台日志告诉我:
[ViewService] 获取远程视图控制器失败,错误:错误:domain=_UIViewServiceInterfaceErrorDomain, code=2
这些是我为 FacebookSDK 实现的 AppDelegate 方法:
/* App Delegate */
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FIRApp.configure()
FBSDKApplicationDelegate.sharedInstance().application(application,
didFinishLaunchingWithOptions:launchOptions)
return true
}
@available(iOS 9.0, *)
func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any])
-> Bool {
return self.application(application,
open: url,
sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String,
annotation: [:])
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application,
open: url,
sourceApplication: sourceApplication,
annotation: annotation)
}
这是我用于 Facebook 登录的 IBAction:
/* didPressFacebookLogin(_sender: Any) */
@IBAction func didPressFacebookLogin(_ sender: Any) {
let facebookLoginManager = FBSDKLoginManager()
facebookLoginManager.logIn(withReadPermissions: ["public_profile", "email"],
from: self) { (result, error) in
if let error = error {
print("Failed to login: \(error.localizedDescription)")
return
}
guard let accessToken = FBSDKAccessToken.current() else {
print("Failed to get access token")
return
}
let credential = FIRFacebookAuthProvider.credential(withAccessToken: accessToken.tokenString)
FIRAuth.auth()?.signIn(with: credential, completion: { (user, error) in
if let error = error {
print("Login error: \(error.localizedDescription)")
let alertController = UIAlertController(title: "Login error",
message: "Something went wrong while trying to login.",
preferredStyle: .alert)
let okAction = UIAlertAction(title: "Ok", style: .cancel, handler: nil)
alertController.addAction(okAction)
self.present(alertController, animated: true, completion: nil)
return
}
})
}
}
我正在寻找那个控制台问题,它告诉我它无法获取远程视图控制器......不过,不知道。有人在 Facebook 遇到过这个问题吗?
更新:适用于装有 iOS 10.3.2 的 iPad
【问题讨论】:
标签: ios swift firebase firebase-authentication facebook-login