React Native使用react-native-cameraroll时如何禁用iOS“选择更多照片”弹窗
定位结论验证
你的判断完全正确。
iOS 14及以上版本推出有限相册权限能力后,提供了标准API presentLimitedLibraryPickerFromViewController 用于主动唤起「选择更多照片」弹窗,你找到的第244行对应的函数内部正是调用了该系统API,注释后弹窗消失完全符合预期。
你测试的第101行属于权限申请逻辑,仅在首次向用户申请相册权限时触发,和每次拉取照片时主动弹出的选择更多提示没有关联,该测试结论也准确。
禁用弹窗落地方案
无需反复手动修改源码,可通过patch-package工具固化改动,避免每次重装依赖重复操作:
- 安装
patch-package开发依赖
npm install patch-package --save-dev
- 手动修改
node_modules/@react-native-camera-roll/camera-roll/ios/RNCCameraRollManager.m文件,注释掉第244行附近调用presentLimitedLibraryPicker相关的逻辑 - 生成补丁包
npx patch-package @react-native-camera-roll/camera-roll
补丁会自动保存在项目根目录的patches文件夹下,后续所有npm install操作都会自动应用该修改,不需要额外处理。
对应弹窗参考

内容的提问来源于stack exchange,提问作者qwerty qwerty
相关产品推荐
相关产品推荐

