我使用的是 Xcode 13.4,并使用“带有手表应用程序的 iOS 应用程序”项目模板创建了一个新的 SwiftUI 项目。主应用程序的目标设置为 iOS 15.5,手表目标设置为 WatchOS 8。一切都在模拟器上正常构建和运行。
我刚刚使用 Xcode 的 File -> Add packages...
菜单栏选项将
watch-date-picker Swift 包(为 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,但没有任何效果。谢谢!
修改
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",
我不明白为什么。但是,这是我迄今为止使用的解决方法。它对我有用。
添加包时,您可以说出它属于哪个目标。听起来您在添加此包时忽略了使该包成为 Watch 目标的一部分。
我建议完全删除包装并重新开始。