gpt4 book ai didi

objective-c - 如何从下载的图像创建新的 ALAsset

转载 作者:可可西里 更新时间:2023-11-01 03:30:14 27 4
gpt4 key购买 nike

我正在尝试开发一个应用程序来下载图像(从摄影网站)并为每个图像创建一个 ALAsset,然后将它们放在一个新的 ALAssetsGroup 下。

我可以创建新相册 (ALAssetsGroup) 并从网站下载数据。但是我对如何创建新的 ALAsset 有点困惑。

我试过如下

            ALAsset *asset = [[[ALAsset alloc] init] autorelease];
NSDictionary *metadata = [NSDictionary dictionaryWithObjectsAndKeys:p.id, @"id", p.thumbnail_url, @"thumbnail_url", p.photo_url, @"photo_url", nil];
[asset setImageData:data metadata:metadata completionBlock:^(NSURL *assetURL, NSError *error) {
ESLog(@"Asset %@ created error:%@", assetURL, error);
[group addAsset:asset];
}];

但是我得到的打印结果中 assetURL 和错误都是空的。

2012-04-15 02:58:06.850 XXXXXX.com[5966:c607] Asset (null) created error:(null)

如果有人可以建议我如何在相册中创建新 Assets ,那就太好了

最佳答案

你不能像那样创建一个新的 ALAsset。您需要做的是使用以下方法将图像数据保存到照片库:

- (void)writeImageDataToSavedPhotosAlbum:(NSData *)imageData metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock

完成 block 将返回新创建 Assets 的 NSURL。使用方法

- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock

使用 NSURL 将返回新创建 Assets 的 ALAsset 实例。

干杯。

亨德里克

关于objective-c - 如何从下载的图像创建新的 ALAsset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10157538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com