簡體   English   中英

“...僅在 iOS 13.0 或更高版本中可用”在針對 iOS 15.0 的項目中

[英]"... is only available in iOS 13.0 or newer" in a project targeting iOS 15.0

我正在使用 Xcode 13.4 並使用“帶有手表應用程序的 iOS 應用程序”項目模板創建了一個新的 SwiftUI 項目。 主應用程序的目標設置為 iOS 15.5,手表目標設置為 WatchOS 8。一切都在模擬器上正常構建和運行。

我剛剛使用 Xcode 的File -> Add packages...菜單欄選項將watch-date-picker Swift package (一個 package 為 WatchOS 添加了一個日期選擇器)添加到我的項目中:

在此處輸入圖像描述

現在我無法構建我的項目 - 我在添加的 watch-date-picker 包的代碼中遇到大量錯誤,抱怨各種東西only available in iOS 13.0 or newer 我什至還沒有嘗試使用該庫 - 我只是通過File -> Add Packages添加了它。 以下是 package 設置:

// 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。 誰能解釋這是為什么以及我能做些什么來解決它? 我錯過了什么嗎? 我需要做些什么來告訴 package 只為 WatchOS 而不是 iOS 構建? 我試過清理、刪除派生數據、關閉 Xcode,但沒有任何效果。 謝謝!

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

當你添加一個包時,你說明它屬於哪個目標。 聽起來您在添加此包時忽略了將其作為 Watch 目標的一部分。

我建議完全刪除包並重新開始。

從修改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",

我不懂為什么。 但是,這是我目前使用的解決方法。 這個對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM