在模拟器中重置 ALAssetsLibrary 的权限
Posted
技术标签:
【中文标题】在模拟器中重置 ALAssetsLibrary 的权限【英文标题】:Reset permissions for ALAssetsLibrary in the simulator 【发布时间】:2013-02-23 19:35:51 【问题描述】:我有一个ios
应用程序,它需要询问用户是否有权访问他们的照片。我试图通过在应用第一次请求 iOS 权限时向用户显示提示和解释来增强用户体验。
我可以使用[ALAssetsLibrary authorizationStatus]
来获取当前状态(我的应用程序仅定位> iOS 6.0
)。我正在尝试测试ALAuthorizationStatusNotDetermined
案例,但我已经授予我的应用访问权限。根据另一个 SO 问题here,设备无法重置权限(即使删除并重新安装应用程序,它们也可以打开或关闭)。
但我想知道这是否可以在模拟器中完成。 我可以在模拟器中重置照片访问权限吗?似乎没有任何关于此的谷歌问题/答案?简单地在模拟器中删除并重新安装应用程序是行不通的。
是否有任何我们可以重置的幕后文件? - 了解我们如何访问模拟器文件系统,这与设备不同。
任何想法都会很棒! 谢谢!
【问题讨论】:
您是否尝试过 iOS 模拟器菜单中的“重置内容和设置...”? (但请注意,这会从模拟器中删除所有应用程序并重置模拟器中的所有内容!) 不幸的是,这不起作用。 authorizationStatus 仍然返回为ALAuthorizationStatusAuthorized
。还有其他想法吗?
【参考方案1】:
在 iOS 7 中,您可以像在设备上一样重置模拟器中的隐私警告:
General -> Reset -> Reset Location & Privacy
【讨论】:
【参考方案2】:根据iOS 6.0 Release Notes:
iOS 模拟器中不会为访问的应用显示任何隐私警报 照片、通讯录、日历和提醒。
因此,您根本无法在模拟器上测试要求访问照片的提示,您必须在设备上进行测试。在设备上,您可以在“设置”应用中重置隐私设置(常规 > 重置 > 重置位置和隐私)。
【讨论】:
以上是关于在模拟器中重置 ALAssetsLibrary 的权限的主要内容,如果未能解决你的问题,请参考以下文章