SwiftUI预览错误地尝试从另一个平台构建条件依赖关系



SwiftUI预览对我来说是坏的,当导入的Swift包之一对另一个平台有条件依赖时。

复制步骤:

  1. 创建具有2个目标的Xcode项目。一个用于macOS,另一个用于iOS
  2. 添加一个有条件依赖的Swift软件包,例如依赖于另一个软件包,但仅在iOS上。示例:
targets: [
   .target(name: "Components",
dependencies: [
           .productItem(name: "FloatingPanel", package: "FloatingPanel", condition: .when(platforms: [.iOS])),
      ]),
]
  1. 尝试在macOS上运行SwiftUI预览。这行不通

我得到的错误是no such module UIKit。看起来Xcode正试图构建FloatingPanel依赖关系,尽管它的条件指定了iOS平台。

有什么办法解决这个问题吗?

是的,我也有同样的问题。当为iOS构建时,条件适用于其他平台,但当为其他平台构建时,iOS依赖关系也总是包含在内。。。

在swift论坛上发帖:https://forums.swift.org/t/swiftpm-platform-conditional-target-dependancy-not-resolved-for-tvos/56767/2

有几个错误报告。。。

相关内容

最新更新