如何解决PhotoKit:来自PHChangeRequestHelper中资产的无效响应
在我的应用中,我正在创建视频并将其保存到图库中。 有时(例如,每20次出现一次),代码无法保存视频。
使用AVAssetWriter
创建视频,并将其保存在应用程序临时目录中,直到客户端要求将其保存到图库中为止:
- (void)saveVideoTogallery:(void(^)(NSError* error))completionHandler
{
Nsstring* videoPath = [self tmpVideoFullPath];
__block PHObjectPlaceholder *_placeholder = nil;
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:[NSURL fileURLWithPath:videoPath]];
_placeholder = [createAssetRequest placeholderForCreatedAsset];
} completionHandler:^(BOOL success,NSError * _Nullable error) {
NSLog(@"TAdam Save video to album... %s",success? "✅":"❌");
completionHandler(error);
}];
}
saveVideoTogallery
在后台线程中被调用。
在我的应用中,还有一个模块在后台调用PhotoKit
,但它只读取而不是写入(fetchRequests)。
PhotoKit
失败日志如下:
2020-09-10 13:22:02.315442+0300 MyApp[5448:1561813] [Gatekeeperxpc] Error getting remote object proxy for -[PLAssetsdPhotoKitClient requestUUIDWithCustomUUID:reply:]_block_invoke: Error Domain=com.apple.photos.error Code=41002 "Unable to obtain assetsd xpc proxy for getPhotoKitServiceWithReply:. assetsd Could have crashed" UserInfo={NSLocalizedDescription=Unable to obtain assetsd xpc proxy for getPhotoKitServiceWithReply:. assetsd Could have crashed,NSUnderlyingError=0x28399ef40 {Error Domain=NSCocoaErrorDomain Code=4097 "connection to service on pid 0 named com.apple.photos.service" UserInfo={NSDebugDescription=connection to service on pid 0 named com.apple.photos.service}}}
2020-09-10 13:22:02.315519+0300 MyApp[5448:1561813] [PhotoKit] Failed: Invalid response from assetsd in -[PHChangeRequestHelper _generateUUIDIfNecessary:]_block_invoke Error Domain=com.apple.photos.error Code=41002 "Unable to obtain assetsd xpc proxy for getPhotoKitServiceWithReply:. assetsd Could have crashed" UserInfo={NSLocalizedDescription=Unable to obtain assetsd xpc proxy for getPhotoKitServiceWithReply:. assetsd Could have crashed,NSUnderlyingError=0x28399ef40 {Error Domain=NSCocoaErrorDomain Code=4097 "connection to service on pid 0 named com.apple.photos.service" UserInfo={NSDebugDescription=connection to service on pid 0 named com.apple.photos.service}}}
所以问题是:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。