在我创建一个带有依赖项的新 swift 包后,我调用swift package generate-xcodeproj
. 如果我的依赖项有新版本,我会调用swift package update
. 我的依赖项的新版本被下载并构建,但 Xcode 现在对旧版本的依赖项有一个错误的引用。我可以swift package generate-xcodeproj
再次调用,但这将删除我设置的任何自定义目标。
如何在不删除自定义目标的情况下更新我的 swift 依赖项和 Xcode 项目?
在我创建一个带有依赖项的新 swift 包后,我调用swift package generate-xcodeproj
. 如果我的依赖项有新版本,我会调用swift package update
. 我的依赖项的新版本被下载并构建,但 Xcode 现在对旧版本的依赖项有一个错误的引用。我可以swift package generate-xcodeproj
再次调用,但这将删除我设置的任何自定义目标。
如何在不删除自定义目标的情况下更新我的 swift 依赖项和 Xcode 项目?
您可以在单独的项目中管理依赖项,而不是尝试保留对生成项目的更改,就像 CocoaPods 一样。
开始新项目时:
MyApp.xcodeproj
MyApp.xcworkspace
mkdir MyDeps && cd MyDeps
swift package init --type library
Package.swift
swift package generate-xcodeproj
MyDeps.xcodeproj
到您的工作区MyApp.xcworkspace
MyDeps.framework
到应用程序的链接框架MyApp.xcodeproj
通过此设置,您可以自由更新 Package.swift 中的依赖项并根据需要重新生成依赖项目。
我在使用 Xcode 12.5 时遇到了 CryptoSwift 的问题。我的版本是 1.3.1,问题在 1.4.0 中得到修复。我试过了 :
但两者都没有工作。
我手动去更改了目标-> Swift 包-> 版本规则,Xcode 自动安装了较新的版本,我没有出错。