4

我尝试使用 UIImageWriteToSavedPhotosAlbum 和 ALAssetsLibrary 将我的 gif 保存到相册。但是当我尝试通过电子邮件发送 gif 时,它没有动画。我很确定元数据在保存时会丢失。有谁知道我如何保存 gif 元数据?

谢谢

4

2 回答 2

5

一个很老的问题,但它可能对某人有帮助!

我使用此代码将 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);
    }
}];
于 2014-07-27T22:58:24.037 回答
0

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")
    }
}
于 2020-08-11T15:50:16.527 回答