iOS定位权限提示文案修改后不生效,如何解决?
iOS定位权限弹窗文案修改后不生效的解决办法
我碰到过不少刚入门iOS开发的朋友遇到这个头疼的问题——明明改了plist里的权限弹窗文案,重新编译运行后,弹出来的还是旧内容,完全摸不着头脑。结合你用的Xcode 10.3和iOS 12.4环境,给你几个亲测有效的解决步骤:
先给你说下核心原因:iOS系统会缓存App的权限请求记录,包括弹窗文案,一旦你调试时见过一次旧文案,系统就会把它记下来,不会轻易更新,除非你彻底清除这些缓存。
具体解决步骤:
- 先卸载设备上的测试App
直接长按设备上的App图标,选择删除。这一步能清除App在设备上的所有本地缓存,包括和权限相关的配置记录。 - (可选但更保险)重置设备的定位权限
如果卸载后还是没效果,去iOS设备的「设置」→「通用」→「还原」→「还原位置与隐私」。这会重置所有App的定位权限状态,让系统彻底忘掉之前的缓存文案。放心,调试阶段这么做完全没问题,大不了其他App重新请求权限就行。 - 清理Xcode缓存后重新编译
回到Xcode,按下Cmd+Shift+K清理项目的编译缓存,然后再按Cmd+R重新运行到设备上。
另外给你个小建议:你代码里调用的是requestWhenInUseAuthorization(),其实plist里只需要配置NSLocationWhenInUseUsageDescription这一个键就够了,其他几个可以暂时删掉,避免后续配置混乱~
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

