You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SwiftUI .searchable()出现NaN错误,含义与解决办法?

SwiftUI .searchable()触发CoreGraphics NaN错误的问题解答

1. 你的代码用法没有错误

你对.searchable()的使用完全符合SwiftUI官方规范,将其修饰在NavigationStack外部是合法写法,问题并非出自你的代码。

2. 该错误属于可忽略的日志噪音

这是苹果SwiftUI/UIKit框架底层的已知bug,是框架内部向CoreGraphics API传递了无效的NaN数值导致的,不会影响应用的功能、稳定性或上架审核,完全可以忽略。

3. 抑制该警告的方法

  • 升级开发环境:苹果在iOS/iPadOS 16.4+、Xcode 14.3+的版本中修复了这个问题,升级到最新的系统和开发工具是最彻底的解决方式。
  • 调整修饰符位置:尝试将.searchable()移到NavigationStack内部,部分开发者反馈这种写法能规避错误日志,示例代码如下:
import SwiftUI

struct ContentView: View {
    @State private var searchText = ""
    
    var body: some View {
        NavigationStack {
            Text("Searching for \(searchText)")
                .navigationTitle("Searchable Example")
                .searchable(text: $searchText)
        }
    }
}
  • 关闭特定日志输出:在Xcode的Scheme配置中,添加环境变量CG_NUMERICS_SHOW_BACKTRACE并设置为NO,可以关闭该错误的回溯提示;如果想彻底屏蔽这类系统日志,也可添加OS_ACTIVITY_MODE设为disable,但不建议在调试阶段使用,会影响其他系统日志的查看。

内容的提问来源于stack exchange,提问作者ra9r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:59:55