mit*_*tnt 7 objective-c ipad ios alassetslibrary
我正在尝试开发一个应用程序,它可以下载图像(来自摄影网站)并为每个图像创建一个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];
}];
Run Code Online (Sandbox Code Playgroud)
但是我得到了assetsURL和error都为空的打印件.
2012-04-15 02:58:06.850 XXXXXX.com[5966:c607] Asset (null) created error:(null)
Run Code Online (Sandbox Code Playgroud)
如果有人可以建议我如何在相册中创建新资产,那将会很棒
你不能创建一个像这样的新ALAsset.您需要做的是使用以下方法将图像数据保存到Photo-Library:
- (void)writeImageDataToSavedPhotosAlbum:(NSData *)imageData metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock
Run Code Online (Sandbox Code Playgroud)
完成块将返回新创建的资产的NSURL.使用方法
- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock
Run Code Online (Sandbox Code Playgroud)
使用NSURL将返回新创建的资产的ALAsset实例.
干杯.
亨德里克
| 归档时间: |
|
| 查看次数: |
5378 次 |
| 最近记录: |