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

纯watchOS应用位置权限描述配置提交报错求助

纯watchOS独立应用位置权限配置解决方案

问题根源

纯watchOS独立应用的权限触发逻辑特殊:仅在Extension的Info.plist加NSLocationWhenInUseUsageDescription不会弹出权限请求;仅在App侧加则弹窗显示系统默认描述而非自定义文本;两者都加虽正常显示,但提交时会因App侧存在该键被审核报错。

正确配置步骤

  • 仅在WatchKit Extension的Info.plist中配置自定义描述
    打开Extension的Info.plist,添加NSLocationWhenInUseUsageDescription键,填入你的自定义权限说明(比如"获取位置用于提供精准的XX服务")。
  • 在WatchKit App的Info.plist中添加空的权限声明
    打开App的Info.plist,添加NSLocationWhenInUseUsageDescription键,但不设置任何值(留空)。这样既能触发权限弹窗,又不会触发审核报错。
  • 代码中正确触发权限请求
    在Extension的业务逻辑里,通过用户操作(比如按钮点击)触发权限请求,示例代码:
    import CoreLocation
    
    class LocationHandler {
        private let locationManager = CLLocationManager()
    
        func requestPermission() {
            guard CLLocationManager.locationServicesEnabled() else { return }
            locationManager.requestWhenInUseAuthorization()
        }
    }
    
    避免在应用启动时自动请求权限,防止被判定为滥用权限。

额外排查项

  • 核对Info.plist键名拼写:确保是NSLocationWhenInUseUsageDescription,大小写完全一致。
  • 确认watchOS部署版本:独立应用要求至少watchOS 6.0,若版本过低可能导致权限逻辑异常。
  • 清理缓存后重新归档:执行Product > Clean Build Folder,再重新打包提交,避免缓存导致的配置不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:14:53