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

升级Xcode13.1后请求API出现boringssl_metrics相关报错如何解决

问题原因分析

1. boringssl相关报错的本质

这个[boringssl] boringssl_metrics_log_metric_block_invoke(144) Failed to log metrics日志是Xcode 13+集成的新网络栈打印的系统级警告,并不是导致你接口请求失败的根因,绝大多数情况下这个警告不影响实际网络请求逻辑,可以忽略,你请求失败的问题出在自身的代码逻辑上。

2. 代码存在的问题

你的解码逻辑存在严重的命名冲突问题:

  • 系统Foundation框架本身已经存在名为Data的二进制数据类型,你自己定义的接收JSON结构的模型类/结构体不应该重名叫Data
  • 你当前代码里JSONDecoder().decode(Data.self, from: data!)这里的Data.self实际指向系统的二进制类型,根本不是你自定义的模型,所以解码必然失败,才会走到catch分支打印Error
修复方案
  • 首先将你自定义的接收接口返回结构的模型改名,比如改为ApiResponse,对应内部嵌套的数据结构同步调整命名,不要和系统自带类型重名
  • 增加解码错误的打印逻辑,方便排查后续可能的模型字段不匹配问题
  • 避免强制解包,增加异常兼容

修复后的代码参考:

// 首先定义和接口返回结构匹配的模型,不要用Data作为类型名
struct ApiResponse: Codable {
    let data: ResponseData?
    // 其他接口返回的顶层字段按需补充
}

struct ResponseData: Codable {
    let data: [Item]?
    // 对应结构里的其他字段按需补充
}

struct Item: Codable {
    // 你每条数据的字段按需定义
}

func parse() {
    let jsonUrlString = "https://api.tiki.vn/shopping-trend/api/trendings/hub?cursor=0&limit=20"
    guard let url = URL(string: jsonUrlString) else {
        return
    }
    URLSession.shared.dataTask(with: url) { [weak self] data, response, err in
        if let err = err {
            print("请求错误:\(err)")
            return
        }
        guard let data = data else {
            print("返回数据为空")
            return
        }
        do {
            // 这里填你改完名的顶层模型类型
            let result = try JSONDecoder().decode(ApiResponse.self, from: data)
            DispatchQueue.main.async {
                self?.items = result.data?.data ?? []
                print(self?.items ?? [])
            }
        } catch {
            // 打印解码错误详情,方便排查字段不匹配问题
            print("解码错误:\(error)")
        }
    }
    .resume()
}

额外说明

如果要完全屏蔽boringssl的警告日志,可以在Xcode的Scheme -> Run -> Arguments -> Environment Variables里添加变量OS_ACTIVITY_MODE,值设为disable即可,不过不建议这么做,会屏蔽掉其他有用的系统日志。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:24:01