我们可以通过快速编程来禁用应用程序级别的权限吗?
Posted
技术标签:
【中文标题】我们可以通过快速编程来禁用应用程序级别的权限吗?【英文标题】:Can we disable App level permissions by programming in swift? 【发布时间】:2021-08-27 11:14:55 【问题描述】:我需要管理特定于设备的应用级权限。 有4个权限:
-
人脸ID登录
相机
存储
位置
我需要开发的是,如果我启用-禁用这些权限的开关,它也应该反映在应用程序设置中。 例如。如果我禁用了相机权限;它应该在设置->隐私->相机->应用程序中显示禁用(禁用) 这可能吗?
目前的发展: 我默认启用了它。并将其存储在 UserDefaults 中。每当用户想要访问该功能时,我都会检查存储在 UserDefault 中的值。如果启用则允许,如果禁用则显示一条消息。 但禁用并不意味着它已从设备设置中禁用。 我希望我已经正确解释了我的问题:/
【问题讨论】:
您不能以编程方式删除您被授予的权限。一旦您拥有权限,您就拥有它,直到用户在设置中将其关闭。 是什么让您认为您的应用不需要用户许可来访问这些功能? 【参考方案1】:您不能以编程方式删除您已授予的权限。
一旦您拥有权限,您就拥有它,直到用户在设置中将其关闭。
因此,提供一个 UI 来禁用您的应用中的权限是没有意义的。
您可以做的是提供一个用户界面来禁用使用这些权限的功能。例如,打开/关闭“使用 FaceId 登录”或“报告我的位置”的开关;如果开关关闭,您的应用可能仍然拥有该权限,但您的应用不会使用它。
【讨论】:
以上是关于我们可以通过快速编程来禁用应用程序级别的权限吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作不应授予用户删除自身权限的 iphone 应用程序。有啥办法吗?
Java 的 ThreadPoolExecutor 可以在应用程序级别充当负载均衡器吗?