2017-07-18 68 views
3

時避免重複的視頻文件我正在編寫一個應用程序通過HTTP從遠程服務器(無人機)導入視頻文件。將文件下載到本地存儲器(/Documents/video)後,使用PHAssetChangeRequest.FromVideo將其導入到PHPhotLibrary中的自定義相冊中。如何使用PHAssetChangeRequest.FromVideo

我可以導入視頻,並且在模擬器中訪問照片應用程序時,視頻將顯示在正確的相冊中。但是,如果我從相冊中刪除它,文件不會從我的應用程序/Documents/video文件夾中刪除。

然後,我使用PHAssetChangeRequest.FromVideo導入文件後嘗試從/Documents/video中刪除該文件,但視頻從照片應用中消失。

如何確保只有一個視頻文件副本,最好存儲在共享照片庫中?我是否可以檢測到文件已被刪除,以便我可以從/Documents/video文件夾中刪除它?或者每次應用程序啓動時都需要「同步」這個我的自我?

回答

0

我想你應該下載的視頻保存到臨時目錄像

NSString *outputPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"output.mov"];

然後你可以將它保存到相冊應用。

將其存儲到臨時目錄的好處是OS會自動清除它需要的時候,但是你可以根據需要隨時手動創建以下類方法

+ (void)clearTemporaryDirectoryData 
{ 
    NSArray* tempDirectory = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:NSTemporaryDirectory() error:NULL]; 
    for (NSString *file in tempDirectory) { 
     [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), file] error:NULL]; 
    } 
} 

你的情況,你也可以在刪除臨時數據刪除將下載的視頻保存到照片應用程序。