图像选择器视图不会崩溃甚至不要求用户许可,为什么以及如何?



我正在做一个副项目,它具有图像视图,用户可以在其中单击并从照片库中选择图像。我正在使用UIImagePickerController。

我的问题是我没有在 plist 或其他任何地方添加用户权限。 据我所知,如果您不添加权限,应用程序就会崩溃,另外,当应用程序首次打开时,对话框出现要求许可,但就我而言,它没有询问。 我想知道这怎么可能,或者苹果是否在新的Xcode或操作系统中进行了一些更改?

我正在使用版本 9.2 (9C40b) 并尝试在 iPhone 6(真实设备 iOS 11.2.6)上运行代码,在不同的模拟器中相同的结果,我删除了该应用程序并再次运行它,同样没有对话框。

如果苹果在iOS 11中更改了某些内容,我们应该添加还是不添加权限? 对于我们不想问的开发人员来说,最好的方法是什么,也不希望应用程序崩溃。

答案是肯定的,你必须提供描述

必须添加要使用的权限的使用说明(从iOS 11开始)。 苹果公司表示,

您的应用负责隐私敏感数据的所有使用,包括您应用中使用的所有第三方库对此数据的访问。如果您的应用尝试在没有使用情况说明的情况下访问隐私敏感数据,您的应用将退出。

如果 Info.plist 中未提供权限说明,您将在控制台日志中看到此错误

此应用已崩溃,因为它尝试在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSCameraUsageDescription 键和一个字符串值,向用户解释应用如何使用此数据。

如果您尝试提交没有发布说明的应用程序,Apple 将拒绝它并显示此消息

缺少 Info.plist 键 - 此应用尝试在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSSpeechRecognitionUsageDescription 键和一个字符串值,向用户解释应用如何使用此数据。

总结:

如果您之前未提供使用说明并上传应用程序,那么您的应用程序将在未请求许可的情况下崩溃

如果您没有提供使用说明并尝试最近提交,那么Apple将拒绝它。

参考: iOS 10 中的隐私设置

相关内容

  • 没有找到相关文章

最新更新