1

我正在使用flutter image_picker,几乎所有东西都很好,除了当我尝试对从画廊(仅在IOS 13真实设备上)在pickVideo上生成的文件执行某些操作时,它会给出错误:

OSError:不允许操作 [Errno 1]。

一些额外的事情是这个视频文件可以用 video_player 播放,我可以很好地处理用 image_picker 生成的相机文件和图像选择文件,但是视频库文件除了用 video_player 播放之外不能做别的事情。

例如,尝试获取文件大小或将其复制到另一个文件失败,代码示例:

var videoFile = await ImagePicker.pickVideo(source: ImageSource.gallery);

print("File path........${videoFile.path}");
print("...................Size: ${await videoFile.length()}");

Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;

File newfile = videoFile.copy("${appDocPath}/video.MOV");

我看到所有权限都很好,主要NSPhotoLibraryUsageDescriptionInfo.plist,但它不起作用。

我需要说,在 android 上一切正常。

我希望有一个人可以帮助我。

4

2 回答 2

1

我使用另一个库调用 file_picker 解决了我的问题,我认为 image_piker 自 IOS 13 以来无法正常工作,他们需要升级它。

于 2019-10-21T16:05:28.670 回答
1

请仔细阅读 Image_picker 的文档,其中说明了 ios 设置:

将以下键添加到位于 /ios/Runner/Info.plist 中的 Info.plist 文件中:

NSPhotoLibraryUsageDescription 
NSCameraUsageDescription 
NSMicrophoneUsageDescription 

https://pub.dev/packages/image_picker

于 2019-10-19T10:27:17.257 回答