Swift Package Manager平台特定资源:iOS XIB不支持目标设备类型';mac';

Swift Package Manager平台特定资源:iOS XIB不支持目标设备类型';mac';,ios,xcode,xib,xcodebuild,swift-package-manager,Ios,Xcode,Xib,Xcodebuild,Swift Package Manager,我正在使用Swift软件包管理器构建一个库。我添加了一个XIB文件来定义自定义UICollectionViewCell的布局。我的包不会在Xcode中编译,因为XIB文件是特定于iOS的。如果创建macOS XIB,则会出现相反的错误。这似乎是因为: Swift Package Manager构建的库始终是跨平台的,因此我无法构建“仅限iOS”的包 代码可以使用诸如#if os(iOS)之类的机制来处理特定于平台的代码 resources:[.process(“resource.name”)]没

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

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

  • 我错过了什么?如何确保特定于iOS的资源不会被强制包含在最终的软件包中?

    尝试将运行目标更改为iOS设备,如iPhone 12。很遗憾,目前还没有答案。如果构建过程能够检测到它是一个iOS XIB,那么它也应该能够自动排除它,你不这么认为吗?尝试将运行目标更改为一个iOS设备,如iPhone 12。真的,真的很不幸,目前还没有答案。如果构建过程能够检测到它是一个iOS XIB,那么它也应该能够自动排除它,你认为呢?