ios 保存视频到相册的同时,修改视频的创建时间属性

it2026-04-09  2

问题

我在做根据链接下载视频到沙盒,然后保存到相册的过程中,遇到一个问题:

当我将保存到沙盒中的视频文件保存到相册后,在相册中显示的视频的时间并不是我下载视频的时间,而是视频内部自带的creationDate 属性

解决办法

//#import <Photos/Photos.h> // 此路径为保存到沙盒中的视频文件的完整路径 NSString *fullFilePath = "/Users/username/Library/Developer/CoreSimulator/Devices/88B0FE76-575F-41A9-BF5F-135DA452241D/data/Containers/Data/Application/8FEDE3D6-0B5B-420F-9A6E-7907F8AF8188/Library/Caches/FjYwxHtjg9-z8LLD-sEmIP_VfCow.mp4"; // 保存视频到相册,同时修改视频的创建时间属性 PHPhotoLibrary *photoLibrary = [PHPhotoLibrary sharedPhotoLibrary]; [photoLibrary performChanges:^{ // 将视频保存到相册中 PHAssetChangeRequest *request = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:[NSURL fileURLWithPath:fullFilePath]]; // 修改视频的创建时间属性 request.creationDate = [NSDate date]; } completionHandler:^(BOOL success, NSError * _Nullable error) { if (success) { NSLog(@"已将视频保存至相册"); } else { NSLog(@"未能保存视频到相册"); } }];

局限

因为引入Photos Framework,所以只支持 iOS8.0 及以上版本

参考

Photos(PHAssetChangeRequest)

最新回复(0)