V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chitanda
V2EX  ›  Apple

请问手机爱奇艺是如何在不给权限的情况下访问到了相册

  •  
  •   chitanda · 2020-02-04 23:09:40 +08:00 · 4031 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天我妈把我爱奇艺账号的头像设置成了我的照片(我妈用的华为,因为我是爱奇艺会员所以把账号给了我妈用)
    我发现后,马上用手机上的爱奇艺 app 把头像换成了梓喵的图片(这里是用的我自己的 iPhone)
    换完后突然想起来,我手机上从来没有允许过爱奇艺获取任何相册或文件的权限,而且是直接从爱奇艺 app 内部,换头像那里,浏览到了我手机上整个相册,然后选中某张图片上传为头像,不是从系统相册里点分享拷贝到某个 app
    所以,当我在以下两项里面都没找到爱奇艺时,爱奇艺是如何访问到我的相册的?
    1 设置->隐私->照片
    2 设置->隐私->文件和文件夹

    我自己的设备是 iPhone11,iOS13.3.1

    第 1 条附言  ·  2020-02-05 11:23:23 +08:00
    感谢回复的几位大佬.现在基本确定了,爱奇艺做的是系统相册调用,也就是爱奇艺并不会浏览你的相册,你对相册所做的浏览都是系统状态下完成的,爱奇艺只能看到你选中的那张照片.相比之下微信,淘宝这种流氓就非得给他整个相册的权限才能上传图片,爱奇艺算是很良心了.
    另外 shadowrocket 选择相册也是这种机制.
    16 条回复    2020-02-06 12:05:33 +08:00
    jugelizi
        1
    jugelizi  
       2020-02-04 23:12:50 +08:00   ❤️ 2
    浏览!!!
    就是说 app 是通过系统打开相册列表 并不是 app 读取了图片
    chitanda
        2
    chitanda  
    OP
       2020-02-04 23:34:39 +08:00
    @jugelizi 谢谢.所以是,爱奇艺开了个系统调用,我对相册的操作都是在系统的那个调用里,爱奇艺其实只能看见我选择的那张照片对吗?如果这样的话,为什么诸如微信,淘宝这些必须要在隐私给权限才能访问相册?
    anguiao
        3
    anguiao  
       2020-02-04 23:38:09 +08:00 via Android   ❤️ 1
    没有为什么,它就是想看你的整个相册
    orangy
        4
    orangy  
       2020-02-05 00:41:28 +08:00 via iPhone   ❤️ 1
    更喜欢这种处理方式,app 只能看到你选择的那张图片,而其他 app 都可以随意查看你的整个相册
    janus77
        5
    janus77  
       2020-02-05 01:01:51 +08:00 via iPhone
    安卓的不同是因为安卓并没有一个专门的相册概念,一切都是文件系统和图片文件……所以你的图片可能存在任何路径,所以系统并没有办法把所有的带图片的地方都包括在“相册”范围内,也就没有“相册”的概念
    Tumblr
        6
    Tumblr  
       2020-02-05 01:10:24 +08:00
    猜测:你给了相机的权限,爱奇艺通过相机应用来访问相册的。
    Shadowrocket 对相册的访问好像也是这种机制。

    @jugelizi #1 存疑。
    我在手机上测试,点「更改头像」时提示:
    “您未允许‘爱奇艺’访问您的相册,请在‘设置-隐私-相机’中更改设置。”
    geniussoft
        7
    geniussoft  
       2020-02-05 01:19:36 +08:00
    @chitanda 因为他们想从你的相册里面 采集隐私+分析信息 并赚钱
    而库克手下的苹果并不打算认真管
    Olament
        8
    Olament  
       2020-02-05 04:00:06 +08:00   ❤️ 1
    iOS 11 之后 UIImagePickerController 不需要用户授权了。这个 ImagePicker 运行在单独的 process 里,APP 是拿不到你的整个相册的。
    daozhihun
        9
    daozhihun  
       2020-02-05 05:31:08 +08:00 via Android
    @janus77 安卓也有 image intebt 的概念,用系统会第三方 picker 选图片并不需要存储权限
    chitanda
        10
    chitanda  
    OP
       2020-02-05 09:06:11 +08:00 via iPhone
    @Tumblr 我看了一下并没有给爱奇艺相机权限。你的测试是直接调用相机拍照吗?你什么权限都不给选择相册试试
    learnshare
        11
    learnshare  
       2020-02-05 09:22:53 +08:00
    Android 调用系统的文件选择功能而已
    微信才是自己写了一套文件选择功能,需要更多访问权限
    Tumblr
        12
    Tumblr  
       2020-02-05 10:07:04 +08:00
    @chitanda #10 上面的回复中我有写到,不给相机权限是没办法浏览相册的,并且提示信息中也说明要需要相机权限。
    另外,在爱奇艺的 app 设置中,并没有直接需要相册权限的选项。
    justfindu
        13
    justfindu  
       2020-02-05 10:14:12 +08:00
    浏览是你选的, 其他的爱奇艺并不会看到.
    lizhuoli
        14
    lizhuoli  
       2020-02-06 12:02:49 +08:00 via iPhone   ❤️ 1
    iOS 11 以上,系统的 UIImagePicker 相册选择器,由于使用了跨进程保护,App 无法通过任何方式甚至私有 API 来拿到除了用户选择以外的内容(iOS 10 存在这个风险),只有你能看到列表,但是 App 代码是获取不到的。因此 Apple 团队把系统相册选择器的权限取消了。具体可以看 WWDC,苹果团队详细讲述了原因
    lizhuoli
        15
    lizhuoli  
       2020-02-06 12:04:19 +08:00 via iPhone   ❤️ 1
    截止 iOS 13,基本上所有系统能提供的弹窗或者选择器(包括相册,Apple Music,联系人,短信等等),都使用了这种技术。历史上曾经有不良应用通过一些黑科技绕过这个,现在都已经被苹果团队从底层拦住了
    lizhuoli
        16
    lizhuoli  
       2020-02-06 12:05:33 +08:00 via iPhone   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2674 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:45 · PVG 09:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.