1.Carthage配置
CartFile 接入如下模块
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseGoogleSignInBinary.json"
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json"
2.Carthage更新,因还接入了facebook,不加--xcframeworks, fb编译失败,加上后发现比不加好用,不需要copy frameworks了
carthage update --use-xcframeworks --platform ios
3.开始踩坑
1. _OBJC_CLASS_
开始我只加入了如下库
FirebaseCore.xcframework
FirebaseAnalytics.xcframework
然后编译报错 _OBJC_CLASS_$_xxxx
解决方法:把其它没引用的库也加入进去 如:FirebaseInstallations...等n个库
接入google sign in 报错 _OBJC_CLASS_$_LAContext
解决方法:加入系统库 LocalAuthentication.framework
2. Exception 'presentingViewController must be set'
解决方法:在viewDidLoad 加入 [GIDSignIn sharedInstance].presentingViewController = self;
3.找不到 URL Schemes
1.确认URL Types是否添加
2.确认clientID是否正确(我是因为字符串最后多了个空格)
参考文档
https://github.com/firebase/firebase-ios-sdk/blob/master/Carthage.md