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

SwiftUI WatchOS启用HealthKit后真机运行报错求助

启用HealthKit后真机运行Watch App出现SceneConfiguration相关报错

仅在启用HealthKit并在真机上运行Watch App时,触发以下日志报错:

2023-01-30 19:40:27.907022-0700 Watch App[381:50291] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)") 

2023-01-30 19:40:27.907136-0700 Watch App[381:50291] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "Default Configuration") 

2023-01-30 19:40:28.483274-0700 Watch App[381:50291] [scenes] unable to send desiredFidelity:Never response to desiredFidelityAction:<BLSDesiredFidelityAction: 0x15ebc010; info: 0x0; responder: <_BSActionResponder: 0x15eba5e0; active: YES; waiting: NO> clientInvalidated = NO; clientEncoded = NO; clientResponded = NO; reply = <BSMachPortSendOnceRight: 0x15ebd320; usable: NO; (381:0:send-once xpcCode) from (354:0:send-once take)>; annulled = YES;> 

已确认Info.plist中所有HealthKit所需键值对均已配置。

可能的解决方案

  • 补全Watch App的Scene配置:打开Watch App的Info.plist,确保存在UIApplicationSceneManifest字典,其下的UISceneConfigurations中添加Default Configuration条目,指定对应的UISceneDelegateClassName(如$(PRODUCT_MODULE_NAME).SceneDelegate),若使用Storyboard则补充UISceneStoryboardFile键并设置对应文件名。
  • 匹配watchOS部署版本:若项目部署目标为watchOS 10+,必须正确配置Scene;若为旧版本,可尝试在Info.plist中添加UIApplicationSupportsMultipleScenes并设置为NO(仅适用于不支持多场景的旧版本)。
  • 清理重建项目:删除Xcode的Derived Data,重启Xcode后重新将App安装到真机,避免缓存导致的配置不生效。
  • 调整HealthKit授权时机:避免在SceneDelegate的scene(_:willConnectTo:options:)方法中同步发起HealthKit授权请求,改用异步方式(比如放在sceneDidBecomeActive(_:)中),防止阻塞Scene初始化流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:50:28