![](/img/trans.png)
[英]No such module 'Firebase' - Xcode and Swift Package Manager
[英]Swift Package Manager issues with unversioned Packages (example: firebase-ios-sdk)
我正在努力将我的一个应用程序的一些功能提取到 package 中,以便我可以集中一些重复使用的代码,在这样做的过程中,我将对 firebase 的依赖性提取到我的 package 中。一旦我这样做了,我由于以下错误,无法再更新我的 package:
解析包失败
因为没有版本的 mobile.ios.MYPACKAGE 符合要求 1.0.7..<2.0.0 和 package mobile.ios.MYPACKAGE 需要使用基于版本的要求,它取决于版本 package firebase-ios-sdk,移动。 ios.MYPACKAGE >=1.0.6 被禁止。 又因为root依赖mobile.ios.MYPACKAGE 1.0.6..<2.0.0,导致版本解析失败。
这个错误是有道理的,因为我的Package.swift
引用了 firebase firebase-ios-sdk
,目前处于测试阶段。 这没关系,因为在今年晚些时候 firebase 退出测试版之前,我不打算发布我的包。
我对 dependencies 数组内部的 package 的引用:
dependencies: [
.package(name: "Firebase",
url: "https://github.com/firebase/firebase-ios-sdk.git",
.branch("6.32-spm-beta")),
...
我在我的目标数组中引用了 firebase package
targets: [
.target(
name: "MYPACKAGE",
dependencies: ["Alamofire", "SwiftyJSON",
.product(name: "FirebaseAuth", package: "Firebase"),
.product(name: "FirebaseCrashlytics", package: "Firebase"),
.product(name: "FirebaseAnalytics", package: "Firebase"),
你可以看到我引用了6.32.spm-beta
作为 firebase 指示你在他们的文档中做。 我怎样才能解决这个问题,以便在 firebase 仍处于测试阶段时,我可以将我的 package 与我的应用程序集成?
有一个基于版本的依赖项,如果您按版本添加 package,那么您必须按版本而不是分支添加依赖项:
注意:不要忘记标记您的提交(在您的包中)。
例如:
dependencies: [
.package(name: "Firebase",
url: "https://github.com/firebase/firebase-ios-sdk.git",from: "1.0.0")
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.