美文网首页
相册权限的变化

相册权限的变化

作者: 黑羽肃霜 | 来源:发表于2018-12-07 14:05 被阅读24次

    关于相册读写权限的问题补充

    ios11 中,苹果对于相册权限进行了更细的区分:

    • ios 11 之前
      • NSPhotoLibraryUsageDescription 将读写权限都包含在内了(统称相册权限)。而且不需要配置这个权限对应的提示语。而且在你选择取消或授权之后,不会再弹出第二次。即使你卸载了 App 也不会。
    • ios 11 之后
      • NSPhotoLibraryUsageDescription仅仅作为读取权限。如果需要使用他的话,也许要配置,否则会闪退。(实测 ios 10不会闪退,但是上架会被拒)
      • NSPhotoLibraryAddUsageDescription 仅仅是写权限,需要配置使用相册权限的目的的提示语,不配置的话官方说法是会闪退。但是我自己测试发现是不配置的话上架会被拒。

    以下部分翻译自官方文档

    NSPhotoLibraryAddUsageDescription 写权限

    NSPhotoLibraryAddUsageDescription 用于描述用户需要获取相册写入的权限信息。当系统提示用户需要允许访问该权限时,会弹出一个对话框提示。

    为了保护用户的隐私,在 ios10或以上的设备需要获取相册的权限时,必须静态的声明这一试图。在你的 info.plist 中针对 NSPhotoLibraryAddUsageDescription (ios 11后生效) 或 NSPhotoLibraryUsageDescription 这两个功能,各自给定一个用途的声明字符串。 若你的 app 尝试获取用户的相册权限但没有对应的声明提示语,你的 app 会闪退。

    This key is supported in iOS 11.0 and later.


    NSPhotoLibraryUsageDescription 读权限

    NSPhotoLibraryUsageDescription 这个 key 用于描述你获取用户相册权限的原因。当系统提示用户需要允许访问该权限时,会弹出一个对话框提示。

    尽管该 key 控制了用户相册的读写权限,但如果你的 app 只是需要写入文件而且不必读取,最好还是用上面提到的 NSPhotoLibraryAddUsageDescription key

    (和上面那个权限的描述相同)为了保护用户的隐私,在 ios10或以上的设备需要获取相册的权限时,必须静态的声明这一试图。在你的 info.plist 中针对 NSPhotoLibraryAddUsageDescription (ios 11后生效) 或 NSPhotoLibraryUsageDescription 这两个功能,各自给定一个用途的声明字符串。 若你的 app 尝试获取用户的相册权限但没有对应的声明提示语,你的 app 会闪退。
    This key is supported in iOS 6.0 and later.

    最后,预告下,下一篇整理的内容是关于 info.plist 中将privacy权限的提示语进行国际化。

    相关文章

      网友评论

          本文标题:相册权限的变化

          本文链接:https://www.haomeiwen.com/subject/mysthqtx.html