xcode 重置开发中应用的位置权限

vmpqdwk3  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(146)

我正在用Xcode构建一个使用Core Location的应用。第一次运行时,应用会向用户请求权限。我想撤销此权限以重新触发流程。
我在“设置/定位服务”下的应用列表中找不到我的应用。

g9icjywg

g9icjywg1#

奇怪的是,你的应用程序没有在安全和隐私->位置服务。我没有一个答案。
但是,如果您取消选中该窗格中的权限,则不会重新启动流程,而是模拟拒绝权限(用户拒绝了权限请求)。
tccutil命令行程序应该能够操作这些设置。但我在我的机器上尝试了tccutil reset All,它没有影响位置隐私。
它看起来像/var/db/locationd/clients.plist中的属性列表具有授权的应用程序。因此,您可以使用plutil命令行工具编辑该文件以删除您的应用程序。或者只需创建一个副本,使用Xcode编辑以删除您的应用程序,然后交换该副本进行测试。

sudo bash
plutil -p /var/db/locationd/clients.plist

字符串

tf7tbtn2

tf7tbtn22#

通过右键单击应用程序条目并转到应用程序文件夹,从安全和隐私中的位置服务中删除应用程序。将应用程序移动到垃圾桶。关闭安全和隐私。
终端命令:

  1. sudo chown -R [您的Mac ID] /var/db/locationd(临时更改目录所有权,以便您有权访问locationd文件夹中的内容)
  2. plutil -convert xml 1/var/db/locationd/clients.plist(将二进制plist转换为XML格式的基于文本的plist)
  3. vi /var/db/locationd/clients.plist(Edit clients.plist)箭头键移动到起始行,使用“dd”命令删除一行。向下移动直到删除应用条目的key-dict对。用途:wq命令保存并退出。
    重新启动Mac。(重要的是要确保位置服务没有使用内存中的内容。再次强制操作系统从客户端读取。plist)
    附言:没有必要将所有权更改回您或将plist文件转换回二进制格式。操作系统将很快将其重置为默认所有权或格式。

相关问题