File? imageFile;
ImagePicker imagePicker = ImagePicker();

Future\<File?\> getImage(ImageSource imageSource) async {
final XFile? pickedFile = await imagePicker.pickImage(source: imageSource);
if (pickedFile == null) {
return null;
}
return File(pickedFile.path);
}
// source is camera

// save to SharedPreferences
final String duplicateFilePath = await getApplicationDocumentsDirectory().then((value) =\> value.path);
final fileName = basename(file.path);
final File newImage = await file.copy('$duplicateFilePath/$fileName');

// save newImage.path

重新启动应用后,当我try 加载图像时,遇到以下错误: 解析图像编解码器时引发以下PathNotFoundException: 无法检索文件的长度,路径="/var/mobile/Containers/Data/Application/7D7645C5—CAF6—43F5—A484—CA93872D2996/Documents/image_picker_46D51663—C51D—4DA6—B350—57C79EFAC368—3158—0000333318B1CCD.jpg"(操作系统错误:没有这样的文件或目录,errno = 2)

有什么问题吗?这个问题只有iOS而不是Android

推荐答案

这不是一个bug,这是一个功能(从苹果的Angular 来看)

此值7D7645C5—CAF6—43F5—A484—CA93872D2996是iOS应用程序安装的唯一散列.

从IDE重新启动应用程序是重新安装.所以价值会改变.这就是为什么应用程序找不到文件位置.

如果您从TestFlight或App Store安装了同一个应用程序,然后关闭并再次打开该应用程序,文件就会到位.删除应用程序并再次安装后,将不会.

祝你好运!

Ios相关问答推荐

iOS中的分段拾取器—手柄点击已 Select 的项目

带外部笔划的圆形进度视图

避免从CoreData加载图像列表时出现SwiftUI挂起

在iOS 17脉冲符号效果不起作用的情况下制作UIBarButtonItem动画(没有UIImageView)

一堆UIGraphics方法在iOS 17中被弃用,没有明确的替代方法?

为什么常量属性可能在 Swift 类中被初始化两次?

为什么@FetchRequest 在删除时不更新和重绘视图?

Swift Combine 防止初始值触发接收器并同时防止重复?

SwiftUI 中的描边图像边框

从父母到子元素的 Swift Pass 事件

如何忽略touch 事件并将它们传递给另一个子视图的 UIControl 对象?

在主线程上发布 NSNotification

在滚动视图中使用动态大小的控制器调整容器视图的大小

关闭通过模态 segue 显示的视图

比较没有时间分量的 NSDates

将视图控制器从一个情节提要移动或复制到另一个情节提要

如何找到 UILabel 的实际行数?

xcode 5.1:libCordova.a 架构问题

将 struct 保存到 UserDefaults

如何创建 Select 器数组