在 iOS 框架中使用 Firebase
Posted
技术标签:
【中文标题】在 iOS 框架中使用 Firebase【英文标题】:Using Firebase in iOS framework 【发布时间】:2017-02-14 08:33:16 【问题描述】:我创建了一个应该使用 Firebase Analytics 的 Pod。问题是,如果我尝试将我的 Pod 与我的应用程序一起使用,它会失败,因为它在我的 Pod 中找不到 FirebaseAnalytics 模块。这是一个已知的问题。因此,我尝试通过复制所需的 Firebase 框架来集成 Firebase 而不使用 CocoaPods。我创建了 Pod,在 Podspec 文件中列出了 Firebase 框架,但是当我尝试构建应用程序时它失败了
找不到架构 arm64 的 FirebaseInstanceID 框架
任何帮助将不胜感激!
Podspec 如下所示:
Pod::Spec.new do |s|
...
s.platform = :ios, "9.0"
s.vendored_frameworks = 'FirebaseAnalytics.framework', 'FirebaseCore.framework', 'FirebaseInstanceID.framework', 'GoogleInterchangeUtilities.framework', 'GoogleSymbolUtilities.framework', 'GoogleToolboxForMac.framework'
s.dependency 'AFNetworking', '~> 2.6'
s.dependency 'PromiseKit', '~> 4.0'
s.dependency 'KeychainAccess', '~> 3.0'
s.dependency 'libPhoneNumber-iOS', '~> 0.8'
s.dependency 'SVProgressHUD', '~> 1.1'
s.dependency 'SwiftyJSON', '~> 3.1.3'
s.dependency 'JTAppleCalendar', '~> 6.0'
s.pod_target_xcconfig = 'SWIFT_VERSION' => '3'
...
end
【问题讨论】:
【参考方案1】:现在 CocoaPods 支持静态框架,如果您制作一个 static_framework CocoaPod,就可以将 FirebaseAnalytics 和其他静态框架作为依赖项。将 FirebaseAnalytics 改回 s.dependency
并将以下内容添加到 podspec:
s.static_framework = true
【讨论】:
以上是关于在 iOS 框架中使用 Firebase的主要内容,如果未能解决你的问题,请参考以下文章
考虑到需要在某些类中导入框架,如何在 iOS 项目的特定目标中使用框架?
为啥应用存档在 iOS、swift、xcode 9.2 中使用自定义框架失败
如何在 Flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架