如何更新Xcode中的Swift依赖关系
问题描述:
在创建一个新的依赖关系的swift包之后,我打电话给swift package generate-xcodeproj
。如果我的依赖关系有新版本,我会拨打swift package update
。我的依赖关系的新版本被下载和构建,但Xcode现在对旧版本的依赖关系有不良的引用。我可以再次拨打swift package generate-xcodeproj
,但这会删除我设置的任何自定义目标。如何更新Xcode中的Swift依赖关系
如何更新我的swift依赖和我的Xcode项目而不删除我的自定义目标?
答
而不是试图保留对生成的项目的更改,你可以在一个单独的项目中管理依赖项,比如CocoaPods。
在启动新项目:
- 为您的应用程序
MyApp.xcodeproj
- 创建Xcode项目另存为工作区
MyApp.xcworkspace
- 对你的依赖创建包
mkdir MyDeps && cd MyDeps swift package init --type library
- 添加依赖于
Package.swift
- 生成依赖包的Xcode项目根据需要
swift package generate-xcodeproj
- 添加生成项目
MyDeps.xcodeproj
到工作区MyApp.xcworkspace
- 添加目标
MyDeps.framework
到您的应用程序MyApp.xcodeproj
的链接框架有了这个设置,你可以*地在Package.swift更新依赖和再生依赖项目。
+0
我喜欢这个 - 坚实的解决方法。 –
我有同样的问题。生成'.xcodeproj'的新副本还会删除用于组织源文件的任何文件夹结构。 –
我建立了一个工具来帮助解决这个问题。 https://github.com/saltzmanjoelh/XcodeHelperCli编译并复制到/ usr/local/bin或任何可以调用'xchelper update-packages -s'的地方这将更新您的包并为您的Xcode项目创建符号链接。通过这种方式,当您的软件包获得新版本时,您不必手动更新引用。 – joels