自定义Swift Package导入Firebase依赖时出现未知包错误
解决Swift Package依赖FirebaseAuth时的"unknown package 'Firebase'"错误
问题场景
自定义Swift Package依赖Firebase,编写Package.swift后出现错误:
unknown package 'Firebase' in dependencies of target 'FirebaseAuthManagment'; valid packages are: 'firebase-ios-sdk'
移除错误的依赖声明行后,能找到FirebaseStorage、FirebaseAnalytics等产品,但无法引入FirebaseAuth。
问题根源
你在target的依赖中指定的package: "Firebase"不符合实际配置——在dependencies数组里,你引入的包名称是firebase-ios-sdk(对应GitHub仓库的标识),而非"Firebase"。Swift Package Manager会根据这个名称匹配依赖包,名称不匹配就会触发报错。
修复方案
将target依赖中的package参数从"Firebase"改为"firebase-ios-sdk",修正后的完整Package.swift代码如下:
import PackageDescription let package = Package( name: "FirebaseAuthManagment", products: [ .library( name: "FirebaseAuthManagment", targets: ["FirebaseAuthManagment"]), ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "9.6.0") ], targets: [ .target( name: "FirebaseAuthManagment", dependencies: [ .product(name: "FirebaseAuth", package: "firebase-ios-sdk") ]), .testTarget( name: "FirebaseAuthManagmentTests", dependencies: ["FirebaseAuthManagment"]), ] )
补充说明
你指定的Firebase版本9.6.0完全支持FirebaseAuth产品,无需调整版本号。修正后Swift Package Manager就能正确解析并引入FirebaseAuth依赖。
内容的提问来源于stack exchange,提问作者carlo97
相关产品推荐
相关产品推荐

