微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PhotoKit:来自PHChangeRequestHelper中资产的无效响应

如何解决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}}}

所以问题是

  1. 如果使用PhotoKit可能是一个错误,还是应该以某种方式分析我的代码
  2. 在发生故障之前,您是否知道一些环境变量来获取PhotoKit日志?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。