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

iOS集成WeatherKit SDK调用天气接口返回401网络错误

WeatherKit调用返回401 invalidJWTResponse错误排查

问题背景

  • 测试WWDC22推出的WeatherKit能力时,从苹果官方渠道下载的示例项目可正常拉取天气数据,自行创建的Demo项目调用天气接口失败
  • 测试用核心请求代码如下:
func fetchWeather() async {
    let service = WeatherService.shared
    let location: CLLocation = CLLocation(latitude: 22.7196, longitude: 75.8577)
    
    let weatherData = try? await service.weather(for: location, including: .current)
    print(weatherData)
}

错误表现

运行代码后控制台输出错误,核心异常为请求https://weather-data.apple.com/v2/token接口时返回401状态码,错误类型为invalidJWTResponse,最终返回的weatherData结果为nil。错误日志关键片段如下:

2022-06-22 17:31:48.470130+0530 WeatherAPIDemo[25490:231389] [Database] Attempting to invalidate an assertion that is no longer valid 
2022-06-22 17:31:49.208346+0530 WeatherAPIDemo[25490:231387] [WeatherService] Encountered an error when fetching weather data subset; location= +/- 0.00m (speed -1.00 mps / course -1.00) @ 6/22/22, 5:31:48 PM India Standard Time,  error=invalidJWTResponse(Optional( { URL: https://weather-data.apple.com/v2/token } { Status Code: 401, Headers {
    Connection = (close);
    "Content-Length" = (0);
    // 其余响应头字段省略
} }))
nil

注:日志开头的[Database] Attempting to invalidate an assertion that is no longer valid是系统打印的无关日志,不影响WeatherKit功能,无需额外处理。

排查解决步骤

  • 检查开发者后台服务配置
    登录苹果开发者账号,找到当前Demo项目对应的App ID,确认已勾选WeatherKit服务权限,不要复用官方示例项目的App ID配置。权限修改完成后更新对应描述文件,避免Xcode拉取到旧的缓存签名配置。
  • 检查Xcode项目能力配置
    打开项目的Signing & Capabilities页,点击添加能力按钮,搜索并添加WeatherKit能力,确认能力列表中存在WeatherKit条目,和官方示例项目的本地配置保持一致。
  • 清理缓存后重新验证
    1. 执行Xcode菜单Product > Clean Build Folder清理构建缓存
    2. 删除模拟器/真机上已经安装的旧版本Demo安装包
    3. 完全退出Xcode后重新打开项目,重新签名构建运行
      注意:开发者后台修改服务配置后,苹果服务端的配置同步通常有1-10分钟延迟,刚开通权限后不要立刻测试,等待几分钟再发起请求
  • 校验基础配置一致性
    确认项目的Bundle ID和开发者后台配置的App ID完全一致,无拼写错误。如果后续改用REST接口自定义请求WeatherKit,需要自行生成符合规范的JWT签名,使用系统WeatherService类时不需要手动处理Token逻辑,只要签名和权限配置正确即可正常请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:21:28