Swift 包管理器和 Xcode : Retaining Xcode Settings?

标签 swift xcode swift-package-manager server-side-swift

我正在使用 Swift 开发服务器并使用 Swift 包管理器。并且发现在我的 Mac OS 系统上进行开发时生成一个 Xcode 项目以使用 Xcode 作为我的 IDE 很方便(即,有时,我的包依赖项必须更新。我一直在使用 swift package generate-xcodeproj 来执行此操作。此时我的问题出现了——我在 Xcode 中创建了一些设置。例如,我设置了一个 DEBUG 标志,并且我有一个 .plist 文件位于 Copy文件阶段。当我重新生成 Xcode 项目时,这些文件丢失了。看来我不能简单地使用 swift package update,因为有时文件在依赖项中发生变化,而这些文件不会传播到 Xcode 项目。

我想要的是一种在 Xcode 外部的文件中单独建立 Xcode 设置的方法,当我执行 swift package generate-xcodeproj 时,可以将其导入 Xcode。我还没有找到执行此操作的方法。

一个相关的问题是:当我进行 swift build 时,我希望使用相同的build设置。

建议?

最佳答案

我无法帮助复制文件阶段

但是我一直在玩弄条件编译,就像这样:

swift package generate-xcodeproj --xcconfig-overrides Sandbox.xcconfig

沙箱.xcconfig

FLAG_SANDBOX = -DSANDBOX
OTHER_SWIFT_FLAGS = $(FLAG_SANDBOX)

这将创建一个 Xcode 项目,其中定义了 SANDBOX

这可以在像这样的快速代码中使用

#if SANDBOX
    print("sandbox")
#else
    print("production")
#endif

关于Swift 包管理器和 Xcode : Retaining Xcode Settings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41527782/

相关文章:

ios - 如何跳转到另一个 UINavigationController 中的任何 ViewController

ios - Swift Firebase - 如何更新多个引用的值?

ios - 增加框架的大小 - Keyboardwillshow - Swift

ios - 支持多种环境的 firebase 崩溃报告

ios - 遇到 "ERROR ITMS-90707: "您上传的二进制文件无效。”上传到 App Store Connect 时

swift - 如何通过包管理器安装 Swift 包?

ios - iOS 设备上的 Rest 服务器使用 Swift

swift - 完成处理程序和 if 语句

ios - 如何修复 “Xcode 6 quit unexpectedly"

ios - Swift 包管理器与未版本化包有关的问题(例如 : firebase-ios-sdk)