Xcode13开发iOS应用 位置数据访问权限请求配置路径问询
Xcode13 配置iOS位置权限请求的方案
Xcode13 并未完全移除Info.plist,只是默认改为自动生成,相关配置迁移到了Target的可视化设置页,你可以通过以下两种方式添加位置权限配置:
方法1:直接通过Target配置页添加(推荐)
- 点击左侧项目导航栏顶部的蓝色项目根图标
- 在中间编辑区的
TARGETS列表中选中你要配置的应用目标 - 切换到编辑区顶部的「Info」标签
- 找到「Custom iOS Target Properties」区域,该区域就是可视化的Info.plist配置列表
- 点击任意配置项左侧的+号,搜索添加你需要的权限Key:
- 仅App使用期间获取位置:添加
NSLocationWhenInUseUsageDescription,值填写向用户展示的权限申请说明,例如「需要访问您的位置以提供周边服务查询」 - 始终允许获取位置:需要同时添加
NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription,若需兼容iOS13及更早系统,还要额外添加NSLocationAlwaysUsageDescription
- 仅App使用期间获取位置:添加
方法2:手动恢复传统Info.plist文件
如果你习惯直接编辑plist文件,可以手动创建并启用自定义Info.plist:
- 右键点击左侧导航栏的项目文件夹,选择「New File」,创建类型为「Property List」的文件,命名为
Info.plist并保存到项目目录 - 选中新建的
Info.plist文件,右键选择「Show Raw Keys/Values」,按方法1中提到的权限Key添加对应配置 - 回到Target配置页,切换到「Build Settings」标签
- 搜索
Info.plist File,将值修改为你新建的Info.plist的项目相对路径 - 搜索
Generate Info.plist File,将值改为NO,关闭Xcode自动生成Info.plist的逻辑即可
注意:所有权限的说明文案必须如实说明位置信息的实际用途,否则会被App Store审核拒绝
内容的提问来源于stack exchange,提问作者user1465078
相关产品推荐
相关产品推荐

