在 iOS 模拟器中重置对联系人的访问权限?

Posted

技术标签:

【中文标题】在 iOS 模拟器中重置对联系人的访问权限?【英文标题】:Reset access to contacts in iOS simulator? 【发布时间】:2012-10-27 22:13:26 【问题描述】:

我想测试联系授权流程,但模拟器不再要求我许可。我尝试过重置隐私设置,我尝试过完全重置模拟器,我尝试过删除应用程序,但无论如何,它从不征求我的许可。它只是假设我已经同意了。

我正在运行 ios 6 模拟器。 SO上有几个similar questions这样的人,但令人惊讶的是没有像样的答案。真的没有办法吗?

【问题讨论】:

看看我的回答:***.com/a/33940858/1415713 【参考方案1】:

从 iOS 7 开始,转到“设置”、“通用”、“重置”并点按“重置位置和隐私”

【讨论】:

我确认这个答案对 iOS 9 Simulator 也有效。我的应用程序引发了“应用程序想要访问照片”的系统警报。我能够使用上述说明重置此警报的状态(即重新设置,以便再次引发警报)。 我可以通过模拟器菜单中的模拟器 -> 重置内容和设置来重置 iOS 8.1 模拟器的权限。重置位置和隐私似乎对我不起作用。【参考方案2】:

这些说明适用于 Xcode 6。

    在 Xcode 的“设备”窗口中找到您要重置其访问设置的模拟器的标识符。

    删除~/Library/Developer/CoreSimulator/Devices/<device>/data/Library/TCC/TCC.db

    重新启动模拟器。

【讨论】:

【参考方案3】:

重置位置/隐私选项仅适用于设备。它在模拟器中不起作用。

编辑:这不再是真的,请参阅 laktak 的回答。

【讨论】:

【参考方案4】:

似乎这已经改变了。要重置权限,请转到:

设置 > 隐私 > 联系人

【讨论】:

【参考方案5】:

您现在可以使用xcrun simctl privacy 来控制这些设置。

例子:

xcrun simctl privacy booted reset all 将为当前启动的模拟器中安装的所有应用重置所有支持的权限。 xcrun simctl privacy booted revoke contacts com.example.my-app 将拒绝对当前启动的模拟器上给定的 Bundle ID 的完全联系人访问权限。

更多详情请见xcrun simctl help privacy

【讨论】:

以上是关于在 iOS 模拟器中重置对联系人的访问权限?的主要内容,如果未能解决你的问题,请参考以下文章

重置世博会权限

当用户更改联系人访问权限时,应用程序在 iOS 6 中崩溃

如何在 Facebook API for iOS 中重新请求某些访问令牌

Linux提权宝典

如何在 ios Swift 的单个警报中访问推送通知、联系人和照片?

Java编程思想学习 访问权限