hey there,
The PHAsset sourceType is PHAssetSourceTypeCloudShared. It means some one shared a vidoe to my icloud account.
hey there,
The PHAsset sourceType is PHAssetSourceTypeCloudShared. It means some one shared a vidoe to my icloud account.
- (void)requestAVAssetFromiCloudWithModel:(AWEAssetModel *)assetModel
idx:(NSUInteger)index
videoArr:(NSMutableArray *)videoArray
locationInfos:(NSMutableArray *)locationInfos
{
PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
options.networkAccessAllowed = YES;
//run animation ahead
assetModel.iCloudSyncProgress = 0.f;
[self updateProgressWithModel:assetModel];
@weakify(self);//icloud download
options.progressHandler = ^(double progress, NSError *error, BOOL *stop, NSDictionary *info) {
BTDLog(@"video icloud sync progress is %.2f",progress);
dispatch_async(dispatch_get_main_queue(), ^{
if (assetModel && weak_self.view.window && [weak_self.lastVideoArray isEqual:videoArray]) {
assetModel.iCloudSyncProgress = progress;
[weak_self updateProgressWithModel:assetModel];
}
});
};
PHAsset *sourceAsset = assetModel.asset;
NSURL *url = [sourceAsset valueForKey:@"ALAssetURL"];
[[PHImageManager defaultManager] requestAVAssetForVideo:sourceAsset
options:options
resultHandler:^(AVAsset *_Nullable asset, AVAudioMix *_Nullable audioMix,
NSDictionary *_Nullable info) {
dispatch_async(dispatch_get_main_queue(), ^{
if (weak_self.view.window) {
if (asset) {
assetModel.avAsset = asset;
if (SYSTEM_VERSION_LESS_THAN(@"9") && assetModel.mediaSubType == AWEAssetModelMediaSubTypeVideoHighFrameRate) {
AVURLAsset *urlAsset = [AVURLAsset assetWithURL:url];
if (urlAsset) {
assetModel.avAsset = urlAsset;
}
}
assetModel.info = info;
if ([videoArray count] > index && assetModel) {
[videoArray replaceObjectAtIndex:index withObject:assetModel];
}
for (id item in videoArray) {
if ([item isKindOfClass:[NSNumber class]]) {
return;
}
}
if ([weak_self.selectedVideoAssetModelArray count] && [weak_self.lastVideoArray isEqual:videoArray]) {
[weak_self fetchAssetsFinishedWithVideoArr:videoArray locationInfos:locationInfos];//goto clip page
}
} else {
[AWEToast show:@"something wrong"];
}
}
});
}];
}
hello? apple engineer pls take a look.