iPhone 使用 AlAssetsLibrary 与您的应用程序自动同步照片
Posted
技术标签:
【中文标题】iPhone 使用 AlAssetsLibrary 与您的应用程序自动同步照片【英文标题】:iPhone auto sync photos with our application using AlAssetLibrary 【发布时间】:2011-04-13 11:52:24 【问题描述】:我刚刚开始开发一个应用程序,我想在其中自动同步存储在用户照片库中的所有图像作为资产。
我能够获取存储为资产的图像的 URL。
e.g. assets-library://asset/asset.JPG?id=1000000003&ext=JPG
现在,我如何将此图像复制到我的应用程序的文档目录中,或者如何通过在NSData
或UIImage
中获取图像来显示存储在资产中的图像?
提前致谢。
【问题讨论】:
【参考方案1】:您可以在UIImagePickerControllerDelegate
委托实现中使用以下代码
- (void) imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
//obtaining saving path
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"my_photo.png"];
//extracting image from the picker and saving it
UIImage *editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
NSData *imageData = UIImagePNGRepresentation(editedImage);
[imageData writeToFile:imagePath atomically:YES];
【讨论】:
@RuchirAgile,一旦您获得资产,请立即按照@Jhaliya 的建议复制它。 我没有使用 ImagePickerController,因为使用 ImagePicker 一次只能获取一张图像。我想在我的应用启动时同步/获取所有照片。以上是关于iPhone 使用 AlAssetsLibrary 与您的应用程序自动同步照片的主要内容,如果未能解决你的问题,请参考以下文章
iOS - ALAssetsLibrary 使用的缓存数据未更新
ALAssetsLibrary enumerateGroupsWithTypes 不返回数据