取消内容编辑输入请求

Cancel content editing input request

在我的应用程序中,当您下载 contentEditingInput 时,用户可以选择新资产,因此我尝试在开始新请求之前终止之前的请求。不幸的是 cancelContentEditingInputRequest: 不起作用,但我仍然取得了进展,并且在下载完成时触发了完成块。 self.assetself.requestId 具有预期值。从 iCloud 下载资产时出现问题。我是不是用错了API?

if(self.requestId) {
    [self.asset cancelContentEditingInputRequest:self.requestId];
}

PHContentEditingInputRequestOptions *options = [PHContentEditingInputRequestOptions new];
options.networkAccessAllowed = YES;
options.progressHandler = ^(double progress, BOOL *stop) {
    // update UI
};

self.asset = newAsset;
self.requestId = [self.asset requestContentEditingInputWithOptions:options completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {
    self.requestId = 0;

    // handle content editing input
}];

我是对的,我错了。我用错了 API 。 cancelContentEditingInputRequest: 用于取消从设备上的资产准备 contentEditingInput。要取消从 iCloud 的下载,应该使用:

options.progressHandler = ^(double progress, BOOL *stop) {
   *stop = YES;
};

这是一个不同的话题,如果API符合逻辑...