如何更新Xcode中的Swift依赖关系

问题描述:

在创建一个新的依赖关系的swift包之后,我打电话给swift package generate-xcodeproj。如果我的依赖关系有新版本,我会拨打swift package update。我的依赖关系的新版本被下载和构建,但Xcode现在对旧版本的依赖关系有不良的引用。我可以再次拨打swift package generate-xcodeproj,但这会删除我设置的任何自定义目标。如何更新Xcode中的Swift依赖关系

如何更新我的swift依赖和我的Xcode项目而不删除我的自定义目标?

+1

我有同样的问题。生成'.xcodeproj'的新副本还会删除用于组织源文件的任何文件夹结构。 –

+1

我建立了一个工具来帮助解决这个问题。 https://github.com/saltzmanjoelh/XcodeHelperCli编译并复制到/ usr/local/bin或任何可以调用'xchelper update-packages -s'的地方这将更新您的包并为您的Xcode项目创建符号链接。通过这种方式,当您的软件包获得新版本时,您不必手动更新引用。 – joels

而不是试图保留对生成的项目的更改,你可以在一个单独的项目中管理依赖项,比如CocoaPods。

在启动新项目:

  1. 为您的应用程序MyApp.xcodeproj
  2. 创建Xcode项目另存为工作区MyApp.xcworkspace
  3. 对你的依赖创建包 mkdir MyDeps && cd MyDeps swift package init --type library
  4. 添加依赖于Package.swift
  5. 生成依赖包的Xcode项目根据需要 swift package generate-xcodeproj
  6. 添加生成项目MyDeps.xcodeproj到工作区MyApp.xcworkspace
  7. 添加目标MyDeps.framework到您的应用程序MyApp.xcodeproj

的链接框架有了这个设置,你可以*地在Package.swift更新依赖和再生依赖项目。

+0

我喜欢这个 - 坚实的解决方法。 –