我最近发现了一个更新,需要集成Firebase以进行崩溃报告分析,以及先前已实现的Facebook登录。我已经使用FBSDKloginButton实施了FB登录,并且起作用了。
但是,当我在appdelegate
上取消[FIRApp configure]
时,它会停止处理application:openURL:options:
时,我对FB登录实现100%确定,我说如果我评论[FIRApp configure]
。
这是参考的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
BOOL b = [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
[FIRApp configure]; //If I comment this, works fine with FB callback which handles at application:openURL:options:
return b;
}
-(BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:app
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
return handled;
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
我们很快我们取消燃烧燃料配置方法,FB回电更改为以下backtrace:
- [viewController loginbutton:didCompleteWithResult:错误:]
- [fbsdkloginbutton _buttonpressed:] _ block_invoke
- [fbsdkloginmanager InvokeHandler:错误:]
- [FBSDKLOGINMANAGER(本机(handerimpliticcanceloflogin]
- [fbsdkapplicationdelegate applicationdidBecomeycomecomeTive:]
update
问题是 [FIRApp configure]
,,因此请在情况下建议解决方案。
,也可以使用firebaseappdelegateproxy禁用它。在info.plist粘贴firebaseappdelegateproxyenabled具有值编号
请检查此。
在您的项目goto->信息中,您需要在URL类型中粘贴reversegoogle键,这可能就是您正在遇到的错误,只需将代码粘贴到AppDelegate
中- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
if ([url.scheme hasPrefix:@"fb"]){
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}else{
return [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
}
我不确定我的解决方案与OP如何相关,但是通过将其放入我的POD文件中,我的Facebook登录和Firebase之间的冲突已解决:
pod 'FBSDKCoreKit', '4.38.1'
pod 'FBSDKLoginKit', '4.38.1'
如下所述:https://github.com/facebook/facebook-swift-sdk/issues/298