Выход UISaveVideoAtPathToSavedPhotosAlbum

Когда я сохраняю видео в фотоальбоме с помощью UISaveVideoAtPathToSavedPhotosAlbum, как я могу получить его новый URL-адрес ресурса в assets-library://asset/asset.mov.... формат

//outputURL.path is : file:///private/var/mobile/Applications/4535724C-7ABD-4F00-A363-9A62022F8EB0/tmp/trim.E8CD7632-7C52-4EA4-A462-8C5131B214AA.MOV.exp.mov

UISaveVideoAtPathToSavedPhotosAlbum(outputURL.path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);

Ответ 1

Вместо UISaveVideoAtPathToSavedPhotosAlbum вы можете использовать метод -[ALAssetsLibrary writeVideoAtPathToSavedPhotosAlbum:(NSURL *)videoPathURL completionBlock (ALAssetsLibraryWriteVideoCompletionBlock)completionBlock] (Apple Documentation здесь)

Например:

ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
[library writeVideoAtPathToSavedPhotosAlbum:videoPathURL
                           completionBlock:^(NSURL *assetURL, NSError *error) 
{ 
    /* process assetURL */ 
}];

Важное примечание. Важно помнить, что при работе с ALAssetsLibrary свойство assetURL действителен только для времени жизни экземпляра ALAssetsLibrary. Поэтому убедитесь, что вы держите ссылку на библиотеку до тех пор, пока не закончите обработку объекта assetURL и любого связанного с ним ALAsset.