Flutter Xcode 构建失败 - 'TARGET_OS_WATCHOS' 未定义,评估为 0

Posted

技术标签:

【中文标题】Flutter Xcode 构建失败 - \'TARGET_OS_WATCHOS\' 未定义,评估为 0【英文标题】:Flutter Xcode Build Failed - 'TARGET_OS_WATCHOS' is not defined, evaluates to 0Flutter Xcode 构建失败 - 'TARGET_OS_WATCHOS' 未定义,评估为 0 【发布时间】:2021-05-14 21:17:01 【问题描述】:

我已经创建了 Flutter 项目。它正在成功地在适用于 android 的 Windows 操作系统上运行。我第一次尝试在 XCode (Mac OS) 中运行它,但出现如下错误。

正在运行 Xcode 构建... Xcode 构建完成。 14.3s 无法构建 ios 应用 Xcode 构建的错误输出:↳ ** 构建失败 **

Xcode 的输出:↳ 在包含的文件中 /xxx/xxx/xxx/ios/Pods/FirebaseAuth/FirebaseAuth/Sources/Utilities/FIRAuthURLPresenter.m:24: /xxx/xxx/xxx/ios/Pods/FirebaseAuth/FirebaseAuth/Sources/Utilities/FIRAuthDefaultUIDelegate。 h:18:24: 错误: 'TARGET_OS_WATCHOS' 未定义,计算结果为 0 [-Werror,-Wundef-prefix=TARGET_OS_] #if !TARGET_OS_OSX && !TARGET_OS_WATCHOS ^ 产生 1 个错误。 注意:使用新的构建系统 注意:并行构建目标 注:规划建设 注意:分析工作区 注意:构建构建描述 注意:构建准备完成

无法为模拟器构建应用程序。启动错误 iPhone 12 Pro Max 上的应用程序。

我添加了错误仅供参考。如果你需要什么,请告诉我。

【问题讨论】:

clang 正在编译时,-target $ARCH-apple-watchos6.2 命令行 arg 和 -mwatchos-version-min=6.2 arg 导致定义正确的宏(并且模拟器构建传递 -mwatchsimulator-version-min=6.2 arg 而不是第二个) 【参考方案1】:

如果您使用的是 Xcode 12.5,可以通过将 TARGET_OS_WATCHOS 更改为 TARGET_OS_WATCH

来解决此问题

你也可以参考这个 GitHub 问题https://github.com/FirebaseExtended/flutterfire/issues/5034

【讨论】:

【参考方案2】:

可能您的某些文件有非法字符或语法错误。

去掉多余的行

#endif without if 

它会起作用的。

【讨论】:

以上是关于Flutter Xcode 构建失败 - 'TARGET_OS_WATCHOS' 未定义,评估为 0的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:Xcode 中的 firebase_admob 构建失败

Xcode 构建因并发构建失败,将在 Flutter 中重试 2 秒

在 Xcode 升级后 Flutter iOS 构建失败错误并带有多个命令

Flutter Xcode 12 存档构建失败,符号未定义:_OBJC_CLASS_$_STPAPIClient

Flutter Xcode 构建失败 - 'TARGET_OS_WATCHOS' 未定义,评估为 0

Xcode 构建和运行应用程序工作但存档失败(颤振)