swift 在面向iOS 15.0的项目中,“...仅在iOS 13.0或更高版本中可用”

kmb7vmvb  于 2022-12-02  发布在  Swift
关注(0)|答案(2)|浏览(208)

我使用的是Xcode 13.4,并使用“带手表应用的iOS应用”项目模板创建了一个新的SwiftUI项目。主应用的目标设置为iOS 15.5,手表目标设置为WatchOS 8。在模拟器上构建和运行一切正常。
我刚刚使用Xcode的File -> Add packages...菜单栏选项将watch-date-picker Swift package(一个为WatchOS添加日期选择器的软件包)添加到我的项目中:

现在我无法构建我的项目--我在添加的watch-date-picker包的代码中收到了大量的错误,抱怨各种东西都是only available in iOS 13.0 or newer。我甚至还没有尝试使用这个库--我只是通过File -> Add Packages添加了它。

// swift-tools-version:5.5
import PackageDescription

let package = Package(
  name: "watch-date-picker",
  defaultLocalization: "en",
  platforms: [
    .watchOS(.v8)
  ],
  products: [
    .library(name: "WatchDatePicker", targets: ["WatchDatePicker"]),
  ],
  targets: [
    .target(name: "WatchDatePicker", dependencies: []),
    //.executable(name: "WatchDatePickerExamples", dependencies: ["WatchDatePicker"]),
  ]
)

我很困惑为什么会出现这个错误--据我所知,我的目标是最新版本的所有操作系统-- iOS 15.5和WatchOS 8.5。有人能解释一下为什么会出现这个错误,以及我能做些什么来解决这个错误吗?我是否遗漏了什么?我是否需要做些什么来告诉软件包只为WatchOS而不是iOS构建?我已经尝试过清理、删除衍生数据、关闭Xcode,都不管用谢谢!

ozxc1zmp

ozxc1zmp1#

当你添加一个包时,你说它属于哪个目标。听起来你在添加它的时候忽略了让这个包成为监视目标的一部分。
我会建议完全删除软件包,重新开始。

qco9c6ql

qco9c6ql2#

修改Package.swift

// swift-tools-version:5.5
import PackageDescription

let package = Package(
  name: "watch-date-picker",
  defaultLocalization: "en",

// swift-tools-version:5.5
import PackageDescription

let package = Package(
  name: "watch-date-picker",
  platforms: [.iOS(.v15)],
  defaultLocalization: "en",

我不明白为什么。但是,这是我目前正在使用的变通办法。它对我很有效。

相关问题