ios app 访问照片的方式有两种,一种是用户自己选择可以访问什么照片,第二种是直接整个照片都可以让你选,而且 app 无法知道整个照片图库的内容(这种是 PHPickerViewController )
第一种方法虽然具有隐私性,但是每次想要多加几个照片,就要去设置里面改(某些 app 无法触发提示增加照片的对话框),非常不爽。第二种直接解决了此问题,为什么很多软件都不采用这个接口呢?
https://blog.csdn.net/weixin_39339407/article/details/141155159
PHPickerViewController 权限 PHPickerViewController 我们已经使用过了,它是代替 UIImagePickerController 新的用户媒体资源选择器,支持搜索,多选照片和视频,并提供路程的内容缩放功能。 最主要的一点是由于它是系统在单独的进程中管理其生命周期,因此默认情况下它是私有的。用户在使用它选择照片或者视频时无需明确授权,这无疑改善了用户与应用交互是的整体体验,几乎所有的用户都会对授权的弹窗持谨慎和怀疑的态度。
有人说阿里系的 app 支持 PHPickerViewController ,卸载重装后可以使用,如果没卸载,旧版里面由于已经存在了相册可以访问哪些照片的设置,所以无法使用 PHPickerViewController
我个人测试了闲鱼,发现卸载重装后还是不行
![]() |
1
Raymondx 14 天前
ChatGPT, obsidian, notion 是
|
2
msdurex 13 天前
阿里,京东似乎都不行。但是国外 App 基本都可以。
|
3
Pazakui1259 13 天前 ![]() iOS 14 加了受限访问相册以后默认是 app 每次启动访问相册都会弹窗一次提示用户要不要更改选择的照片,这样 app 开发者懒的话不需要额外适配也可以基本能在新的受限访问权限下使用,比如 YouTube 。
但是开发者可以在 info.plist 里设置 PHPhotoLibraryPreventAutomaticLimitedAccessAlert 为 True 来屏蔽每次都显示这个弹窗,这是为了开发者自己做个按钮调用 presentLimitedLibraryPicker()让系统弹窗让用户选择受限访问哪些照片,比如微信。 为了催用户开全部相册权限,做个按钮跳转到系统设置 app 也有,比如小红书。 出现既不自动弹窗也没有额外做按钮选择更多照片那就是 app 开发者自己干的。 两种接口都有,也是各有各的用途。网盘备份、图片编辑、相册清理 app 可以申请用全部图库,这样比较方便无感能访问到全部照片进行备份、编辑或扫描清理。即时通讯、备忘待办邮件、AI app 可以用 PHPickerViewController ,几行代码就能实现获取照片。 |
![]() |
4
movq OP @Pazakui1259 #3 有时候是弹窗了一次,选了几张照片,结果发现没选好,然后又进入 app 的照片选择界面,此时就不弹窗了。这个按照你的说法应该是系统层面的逻辑就是只让弹窗一次,但是这种逻辑没有考虑到我所说的没有选好的场景
|