Swift Package Manager 平台特定资源:iOS xibs 不支持目标设备类型“mac”

Tim*_*del 6 xcode xcodebuild xib ios swift-package-manager

我正在使用 Swift Package Manager 构建一个库。我添加了一个 XIB 文件来定义自定义UICollectionViewCell. 我的包无法在 Xcode 中编译,因为 XIB 文件特定于 iOS。如果我创建 macOS XIB,则会出现相反的错误。这似乎是因为:

  1. 由 Swift Package Manager 构建的库始终是跨平台的,因此我无法构建“仅限 iOS”的包。
  2. 代码可以使用诸如#if os(iOS)处理特定于平台的代码之类的机制。
  3. resources: [ .process("resource.name") ]没有BuildSettingCondition告诉它仅在为 iOS 构建时包含特定的 XIB 文件。
  4. .xib由 Xcode 自动处理,无需声明,Package.swift因为很明显它们是资源文件,因此Xcode 会自动处理它们
  5. xcodebuild似乎没有规则来分隔两个不同的.xib文件以进行特定于平台的处理。

我缺少什么?如何确保 iOS 特定资源不会被强制包含在最终包中?

Nat*_*han 0

在构建设置下,将目标从任何值更改为“任何 iOS 类型”

在此输入图像描述