【发布时间】:2023-03-13 02:45:01
【问题描述】:
我有一个使用 UIImagePickerConteroller 拍照的原生 Objective-C 应用程序。一旦 UIImagePickerController didFinishPickingMedia 委托函数返回图像,我将图像存储在我的应用程序文档目录中并将图像位置存储在一个数组中,以便我可以在我的应用程序库视图中显示它。
不经常,但每月一两次,在用户完成拍照后,我会在 AppSee/Fabric 崩溃跟踪器中收到崩溃日志。
在 Appsee 视频中,我可以看到崩溃发生的确切位置。崩溃日志说 NSArray 在被枚举时发生了变异(检查附加的图像)。现在我在枚举时没有对我的照片 mutableArray 执行任何 addObject 或 removeObject 功能。在读取数据以显示我的照片库之前,我正在对我的照片数组进行可变副本。所以在被枚举的时候没有变异的机会。
根据崩溃日志,问题似乎与 UIImagePickerController 有关。因为日志说——
-[CAMPriorityNotificationCenter _postNotification:forEntries:]
-[CAMPriorityNotificationCenter _notificationReceiver:]
UIImagePickerController 类使用“CAMPriorityNotification”。但不确定 UIImagePickerController 是否引发错误并导致崩溃。我将@try @catch 放入didFinishPickingMedia 函数中以查找崩溃问题。但是@try @catch 没有抛出错误。所以这让我更加困惑。
有没有人在拍照后遇到过类似的崩溃问题?任何建议我都将不胜感激。
【问题讨论】:
标签: ios objective-c nsarray uiimagepickercontroller