为什么首次启动应用时会要求用户获取访问权限?

时间:2015-05-22 05:39:14

标签: ios permissions photo breakpoints privacy

首次运行该应用时,它会要求获得访问照片的权限!

这是什么原因?

一种方法是逐行运行代码或另一种方法是将代码恢复为以前的版本。

从哪个版本开始,应用程序首次启动时会获得许可。

以前,当我们进入选择照片屏幕时,我们会编写代码来请求许可。

我还尝试添加符号断点,如:

-[UIAlertView initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:]

甚至找到一个类转储UIAlertView标头,以便添加符号断点但不起作用。添加UIAlertController断点也不起作用。

模拟器OS为8.3。每次我必须重置内容并设置重现问题。

任何提示或好主意都将受到赞赏!

2 个答案:

答案 0 :(得分:0)

从iOS 6开始,Apple现在要求应用程序在访问“联系人”,“日历”,“提醒”和“照片”之前获得明确的用户权限。来自"数据隐私" Apple的iOS 6发行说明中的​​部分: 除了位置数据之外,系统现在在允许第三方应用访问某些用户数据之前询问用户的许可,包括:

  • 联系人
  • 日历
  • 提醒
  • 照片库

对于联系人,日历和提醒数据,您的应用需要准备好被拒绝访问这些项目并相应地调整其行为。如果尚未提示用户允许访问,则返回的结构有效但不包含任何记录。如果用户拒绝访问,则应用程序将收到NULL值或没有数据。如果用户授予应用程序权限,系统会随后通知应用程序需要重新加载或还原数据。

答案 1 :(得分:0)

最后,我发现以下代码会导致iOS系统弹出"允许我们的应用访问他们的照片库"对话。感谢Vijay的回答。

[[PHPhotoLibrary sharedPhotoLibrary] registerChangeObserver:self];