【问题标题】:Image picker view not crashing not even asking for user permission, Why and How?图像选择器视图没有崩溃,甚至没有请求用户许可,为什么以及如何?
【发布时间】:2018-08-27 03:29:55
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: uiimagepickercontroller ios11 xcode9 user-permissions info.plist


    【解决方案1】:

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

    必须添加您将要使用的权限的使用说明(来自 iOS 11)。 苹果states那个

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

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

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

    如果您尝试提交没有说明的应用以供发布,Apple 将通过此消息拒绝它

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

    总结:

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

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

    参考: Privacy Settings in iOS 10

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2020-07-10
      • 2017-05-25
      • 1970-01-01
      相关资源
      最近更新 更多