Xcode 15 Beta中使用@Observable报错‘Unknown attribute’,如何解决?
Xcode 15 Beta中@Observable属性报错"Unknown attribute 'Observable'"的解决方法
问题描述
我在运行macOS Sonoma首个Beta版本的开发机上安装了Xcode 15 Beta,尝试将ViewModel类从@ObservableObject迁移至新的@Observable属性时,编写如下代码出现报错:
@Observable final class ViewModel { }
错误提示为:Unknown attribute 'Observable'。我已删除旧版Xcode,执行sudo xcode-select --reset后指定Xcode Beta版本,还手动安装了Xcode 15命令行工具,但问题仍未解决。当前swift -version输出如下:
swift-driver version: 1.82.2 Apple Swift version 5.9 (swiftlang-5.9.0.114.6 clang-1500.0.27.1) Target: arm64-apple-macosx14.0
解决方案
Xcode 15 Beta是支持@Observable属性的,你可能遗漏了以下几个关键设置:
- 导入SwiftUI框架:
@Observable是SwiftUI 5.9新增的特性,必须在ViewModel所在文件顶部添加import SwiftUI(无需再导入Combine)。 - 设置项目Swift版本为5.9:打开项目的Build Settings,搜索
Swift Language Version,确保选择Swift 5.9。 - 调整部署目标版本:
@Observable要求最低部署目标为iOS 17、macOS 14、watchOS 10或tvOS 17,检查项目的Deployment Target是否符合要求。 - 清理项目缓存并重启Xcode:按下
Shift+Cmd+K清理Build Folder,完全关闭Xcode后重新打开项目,避免旧缓存干扰新特性识别。
内容的提问来源于stack exchange,提问作者inexcitus
相关产品推荐
相关产品推荐

