Flutter iOS端如何声明相机与相册权限?
iOS端相机、相册权限配置(适配image_picker与gallery_saver)
需要配置的权限
- 相机权限:调用相机拍摄照片/视频时必需
- 相册读取权限:从相册选择媒体文件时必需
- 相册写入权限:用gallery_saver保存媒体到相册时必需
权限声明位置
权限声明要加到iOS项目的Info.plist文件里,路径是项目根目录/ios/Runner/Info.plist。也可以用Xcode打开Runner工程,在「Info」标签页直接编辑这些权限描述。
具体配置代码
把以下键值对添加到Info.plist中(文案可以根据你的APP场景自定义,要明确说明权限用途):
- 相机权限:
<key>NSCameraUsageDescription</key> <string>需要访问相机来拍摄照片或视频</string> - 相册读取权限(iOS 14及以上必须明确声明):
<key>NSPhotoLibraryUsageDescription</key> <string>需要访问相册来选择照片或视频</string> - 相册写入权限(iOS 11及以上需要,适配gallery_saver):
<key>NSPhotoLibraryAddUsageDescription</key> <string>需要访问相册来保存照片或视频</string>
额外注意点
- 如果你的APP只需要读取相册不需要写入,可以跳过
NSPhotoLibraryAddUsageDescription,但用了gallery_saver就必须加。 - 权限描述文案不能太模糊,苹果审核时会校验,比如只写“需要访问相册”可能会被打回,得说明具体用途。
- 配置完后重新编译iOS项目,权限就能正常生效了。
内容的提问来源于stack exchange,提问作者Devid jons
相关产品推荐
相关产品推荐

