我尝试使用 UIImageWriteToSavedPhotosAlbum 和 ALAssetsLibrary 将我的 gif 保存到相册。但是当我尝试通过电子邮件发送 gif 时,它没有动画。我很确定元数据在保存时会丢失。有谁知道我如何保存 gif 元数据?
谢谢
我尝试使用 UIImageWriteToSavedPhotosAlbum 和 ALAssetsLibrary 将我的 gif 保存到相册。但是当我尝试通过电子邮件发送 gif 时,它没有动画。我很确定元数据在保存时会丢失。有谁知道我如何保存 gif 元数据?
谢谢
一个很老的问题,但它可能对某人有帮助!
我使用此代码将 GIF 保存在相册中,它工作正常,通过在 MailViewComposer 和 iMessage 中打开 GIF 进行测试。
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSData *data = [NSData dataWithContentsOfFile:tempPath]; // Your GIF file path which you might have saved in NSDocumentDir or NSTempDir
[library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
if (error) {
NSLog(@"Error Saving GIF to Photo Album: %@", error);
} else {
// TODO: success handling
NSLog(@"GIF Saved to %@", assetURL);
success(tempPath);
}
}];
GIF 可以很容易地从 URL 保存到相册
let url = FileManager.default.urlForFile("lion.gif") // Document Directory or Bundle url path
PHPhotoLibrary.shared().performChanges ({
PHAssetChangeRequest.creationRequestForAssetFromImage(atFileURL: url)
}) { saved, error in
if saved {
print("Your image was successfully saved")
}
}