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

上传应用至App Store报错:provisioning profile未包含NSLocationAlwaysUsageDescription

解决Archive报错:Provisioning Profile未包含位置权限描述

嘿,这个问题我之前帮好几个开发者搞定过,核心是你的App ID权限配置和发布版Provisioning Profile没同步更新导致的,跟着下面的步骤一步步来就行:

1. 给你的App ID开启位置服务权限

登录Apple Developer后台后,按这个路径操作:

  • 进入「Certificates, Identifiers & Profiles」板块
  • 找到「Identifiers」栏目,定位到你项目对应的App ID(就是和你Bundle ID一致的那个)
  • 点击进入编辑页面,拉到「Capabilities」区域,找到「Location Services」
    • 一定要勾选「Always Allow」(如果你的App也用到了When In Use权限,也可以一起勾上)
    • 确认后保存修改

2. 重新生成发布版Provisioning Profile

权限开了之后,得让Provisioning Profile同步这个配置:

  • 回到「Certificates, Identifiers & Profiles」,进入「Profiles」栏目
  • 找到你的发布版(App Store类型)Provisioning Profile,点击进去
  • 右上角点「Edit」,然后直接点「Generate」按钮重新生成
  • 下载新生成的Profile,双击导入到Xcode里

3. 在Xcode中确认配置到位

打开你的项目,做最后检查:

  • 切换到「Signing & Capabilities」标签页,确保选中的是**Release(发布)**配置
  • 检查「Provisioning Profile」是否已经自动选中了你刚重新生成的那个(如果没自动选,手动选一下)
  • 再确认Info.plist里的NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription都已经正确添加,而且描述要清晰(毕竟Apple审核会看这个,得让用户知道为什么需要这个权限)

4. 重新尝试Archive

现在再去执行「Product > Archive」,这个报错应该就消失啦~

补充一句:Info.plist里的描述是给用户看的,而App ID的权限配置是告诉Apple你的App需要用到哪些系统服务,两者必须匹配,不然Provisioning Profile就不会包含对应的权限信息,自然就会报错啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:36:38