问题描述
我正在努力将其中一个应用程序的某些功能提取到一个程序包中,以便可以集中一些重用的代码,并在此过程中将对Firebase的依赖项提取到了程序包中。一旦这样做,由于以下错误,我将无法再获取软件包的更新:
无法解析软件包
因为没有任何版本的mobile.ios.MYPACKAGE符合要求1.0.7 .. = 1.0.6。 并且由于root依赖于mobile.ios.MYPACKAGE 1.0.6 ..
该错误是有道理的,因为我的Package.swift
引用了firebase-ios-sdk
(目前处于测试版)。没关系,因为在Firebase今年下半年退出Beta之前,我不打算发布pacakge。
我对依赖项数组中的包的引用:
dependencies: [
.package(name: "Firebase",url: "https://github.com/firebase/firebase-ios-sdk.git",.branch("6.32-spm-beta")),...
我对我的目标数组中的firebase包的引用
targets: [
.target(
name: "MYPACKAGE",dependencies: ["Alamofire","SwiftyJSON",.product(name: "FirebaseAuth",package: "Firebase"),.product(name: "FirebaseCrashlytics",.product(name: "FirebaseAnalytics",
您可以看到我正在引用6.32.spm-beta
,因为firebase指示您在他们的文档中这样做。我该如何解决这个问题,以便在Firebase仍处于测试版时将其与应用程序集成在一起?
解决方法
有一个基于版本的依赖,如果你是按版本添加你的包,那么你必须按版本而不是从分支添加依赖:
注意:不要忘记标记您的提交(在您的包中)。
例如:
dependencies: [
.package(name: "Firebase",url: "https://github.com/firebase/firebase-ios-sdk.git",from: "1.0.0")
]