我的 iOS 应用程序允许用户编辑和保存图像和视频。编辑后的媒体通过调用 PHPhotoLibrary
的 performChanges
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/