joe*_*els 14 xcode swift swift-package-manager
在我创建一个带有依赖项的新swift包后,我调用了swift package generate-xcodeproj.如果我的依赖项有一个新版本我打电话swift package update.我的依赖项的新版本被下载和构建,但Xcode现在对旧版本的依赖项有一个错误的引用.我可以swift package generate-xcodeproj再次打电话,但这将删除我设置的任何自定义目标.
如何更新我的swift依赖项和我的Xcode项目而不删除我的自定义目标?
esi*_*ver 38
我只是偶然发现了这个问题,发现“如何在 Xcode 中更新 swift 依赖项”的解决方案可能已经改变,因为 Swift Packages 已经存在了几年。
对我来说,解决方案是简单地去File-> Swift Packages-> Update to Latest Package Versions。
Moj*_*ini 19
这种方法将节省大量资源和时间。因为它不会强制其他包重新下载。
双击您提到的选项卡中的包,然后将版本更改为其他版本。然后它将重新检查远程存储库。这样做的好处是只更新选定的包。(另外,最好在包中设置当前使用的版本。)
从文件 -> Swift 包 -> 更新到最新的包版本
右键单击左侧导航窗格中的包,然后选择更新包

请注意,您将看到 Xcode 说更新所有包,但它只会更新选定的包
您可以在单独的项目中管理依赖项,而不是尝试保留对生成的项目的更改,如CocoaPods.
开始新项目时:
MyApp.xcodeprojMyApp.xcworkspace
mkdir MyDeps && cd MyDeps
swift package init --type library
Package.swift
swift package generate-xcodeproj
MyDeps.xcodeproj到工作区MyApp.xcworkspaceMyDeps.framework到应用的链接框架MyApp.xcodeproj使用此设置,您可以自由更新Package.swift中的依赖项,并根据需要重新生成依赖项目.
很多包不更新的问题是因为swift包版本规则限制包自动更新到当前的主要版本,即包的v3.3.1会更新到v3.4.0,但不会自动更新到v4.0.1 . 因此,在 Xcode 中使用更新选项不一定会获得包的最新主要版本。
要解决此问题,请从项目面板中打开项目,选择项目(而不是目标),然后选择“Swift Packages”选项卡。双击要更新的包,将最低版本更改为下一个主要版本。
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |