ios - 照片错误 : Unable to obtain assetsd XPC proxy 是什么意思

标签 ios photosframework photokit

我的 iOS 应用程序允许用户编辑和保存图像和视频。编辑后的媒体通过调用 PHPhotoLibraryperformChanges block 中的 PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL:) 等进行保存。

这些调用经常失败,并出现错误代码 41002(域:com.apple.photos.error)。它的localizedDescription是:

Unable to obtain assetsd XPC proxy for getPhotoKitServiceWithReply:. assetsd could have crashed

这个错误是什么意思?我试图从描述中搜索错误代码、域和关键字,但找不到任何内容。是否有关于此域中错误的官方引用?我应该向用户显示什么错误消息?

最佳答案

苹果工程师向我提供了以下解释:

应用程序无法与辅助应用程序(即照片库)通信。 assetsd 崩溃的最常见原因是前台应用程序使用大量内存(或非常快地分配内存),并且系统决定终止 assetsd 以缓解一些内存压力。

为了防止这些错误,您应该确保您的应用不会触发高内存压力情况。

这应该只是暂时的问题。换句话说,如果您稍后尝试提交相同的请求,它可能会起作用(假设任何高内存压力情况已得到解决)。因此,我建议您将失败的请求排队并稍后尝试提交它们,并以某种方式通知您的用户,以便他们知道保存尚未完成。

同样的问题也可能会产生代码 4099、域 NSCocoaErrorDomain 和描述的错误:

Couldn’t communicate with a helper application.

关于ios - 照片错误 : Unable to obtain assetsd XPC proxy 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051945/

相关文章:

ios - 使用具有固定宽度和可变高度的 PHImageManager 时的低分辨率图像

ios - 带位掩码的 NSPredicate 用于过滤 NSArray

ios - 如何在 VoiceOver 打开时更改 UISlider 的更新范围?

按下弹出 View Controller 时,iOS 11 导航栏大标题为黑色

ios - SKSpriteNode 不会居中

ios - 使用相机拍摄的 UIImage 的 PHAssetChangeRequest 失败

ios - 后台设备运动更新

ios - PHAssetChangeRequest 在创建视频 Assets 时总是返回 nil

ios - PhotoKit:fetchAssetCollectionsWithLocalIdentifiers 失败

ios - 如何使用 PhotoKit 访问慢动作视频的 NSData/NSURL