我正在尝试重新创建以下代码返回的条件
AVAuthorizationStatusNotDetermined
:
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
但是,即使删除并重新安装应用程序后,iPad 似乎也会记住相机权限,因此每次都会返回“已授权”或“未授权”。知道如何重置权限以便返回 NotDetermined 吗?
感谢您的阅读。
您无法以编程方式重置权限。如果您想重置权限,有两种方法:
我知道这两个选项对于开发人员来说真的没有帮助,如果他们试图测试一些东西的话。
可以使用三种替代方法来测试应用程序的首次运行场景,而无需重置整个操作系统或等待一天。
如技术说明TN2265中所述:
您可以按照以下步骤实现后者,而无需实际等待一天:
- 从设备中删除您的应用程序。
- 完全关闭设备并重新打开。
- 转到“设置”>“常规”>“日期和时间”,然后将日期提前一天或更多。
- 再次完全关闭设备并重新打开。
当您删除应用程序时,iOS 会将应用程序的权限映射到应用程序的捆绑 ID,并保留一天的数据。因此,您还可以更改应用程序的捆绑 ID 来测试它。
正如 @rmaddy 在评论中建议的,您可以重置所有位置和隐私权限:设置 -> 常规 -> 重置 -> 重置位置和隐私。 请注意,这将重置该设备上所有应用程序的所有位置和隐私权限。
如果您将设备上的操作系统版本更新到最新版本,这将不再是问题。它在 13.3.1 上不起作用,但在 13.4.1 之后确实清除了权限
什么对我有用:
Windows -> 设备和模拟器 -> 已安装的应用程序部分
使用 - 按钮从那里删除应用程序。