如何为Swift Package库集成Firebase Crashlytics?
如何为Swift Package库集成Firebase Crashlytics?
我来帮你排查这个问题~你遇到的情况是因为Firebase iOS SDK采用模块化设计,直接依赖整个SDK包是不行的,得在Swift Package的target里指定具体需要的子模块(也就是FirebaseCrashlytics)。
第一步:修正Package.swift的依赖配置
你现在的targets里的.target依赖写的是["Kingfisher", "firebase-ios-sdk"],这是错误的——firebase-ios-sdk是包的名称,不是具体可用的模块。需要改成引用该包下的FirebaseCrashlytics产品。
修改后的完整Package.swift代码如下:
// swift-tools-version: 5.7 import PackageDescription let package = Package( name: "lib", platforms: [.iOS(.v15)], products: [ .library( name: "lib", targets: ["lib"]), ], dependencies: [ .package(url: "https://github.com/onevcat/Kingfisher.git", exact: "7.6.2"), .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: "9.6.0") ], targets: [ .target( name: "lib", dependencies: [ "Kingfisher", // 这里改成指定具体产品 .product(name: "FirebaseCrashlytics", package: "firebase-ios-sdk") ]), .testTarget( name: "libTests", dependencies: ["lib"]), ] )
第二步:清理缓存并重新编译
有时候Xcode的缓存会导致依赖识别延迟,做完上面的修改后,可以试试这些操作:
- 选择Xcode顶部菜单的
File > Packages > Reset Package Caches - 然后选择
Product > Clean Build Folder - 最后重新编译你的Package库
完成以上步骤后,你应该就能正常import FirebaseCrashlytics并使用相关API了。
备注:内容来源于stack exchange,提问作者Cheok Yan Cheng
相关产品推荐
相关产品推荐

