66

我正在尝试重新创建以下代码返回的条件AVAuthorizationStatusNotDetermined

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

然而,即使在应用程序被删除并重新安装后,iPad 似乎也会记住相机权限,因此每次都会返回 Authorized 或 NotAuthorized。知道如何重置权限以返回 NotDetermined 吗?

谢谢阅读。

4

4 回答 4

121

您无法以编程方式重置权限。如果要重置权限,有两种方法:

  1. 重置操作系统
  2. 卸载应用程序并等待一天

我知道这两个选项对开发人员来说真的没有帮助,如果他们试图测试它的话。

无需重置整个操作系统或等待一天即可测试您的应用程序的首次运行场景,有三种替代方法。

第一个选项

技术说明 TN2265中所述:

您可以按照以下步骤实现后者,而无需实际等待一天:

  • 从设备中删除您的应用程序。
  • 完全关闭设备并重新打开。
  • 前往“设置”>“通用”>“日期和时间”,将日期提前一天或更长时间。
  • 再次完全关闭设备,然后重新打开。

第二种选择

当您删除一个应用程序时,iOS 会将您的应用程序的权限映射到您的应用程序的捆绑 ID,它会保留一天的数据。因此,您还可以更改应用程序的捆绑包 ID 以进行测试。

第三个选项

正如@rmaddy 在评论中所建议的,您可以重置所有位置和隐私权限:设置-> 常规-> 重置-> 重置位置和隐私。请注意,这将重置该设备上所有应用程序的所有位置和隐私权限。

于 2014-12-31T21:21:45.107 回答
2

在 iOS 14 上,转到“设置”->“隐私”->“定位服务”,选择应用程序并允许位置访问选择“下次询问”

在此处输入图像描述

于 2020-09-13T17:20:40.570 回答
1

什么对我有用:

Windows -> 设备和模拟器 -> 已安装的应用程序部分

使用 - 按钮从那里删除应用程序。

于 2021-01-24T15:18:23.910 回答
1

如果您将设备上的操作系统版本更新到最新版本,这不再是问题。它在 13.3.1 上不起作用,但在 13.4.1 之后确实清除了权限

于 2020-05-02T01:08:22.707 回答