将照片保存到iOS相册,不要全部保存
Posted
技术标签:
【中文标题】将照片保存到iOS相册,不要全部保存【英文标题】:Save photos to album iOS, do not save all of them 【发布时间】:2014-07-19 02:05:43 【问题描述】:我正在尝试从应用中保存照片,创建相册并将照片保存到其中,但无法正常工作。
有时它会保存一张或另一张照片,但不会保存所有照片。
向大家致以最诚挚的问候和感谢!
for(PFObject *pf in imageFilesArray)
PFObject *imageObject = pf;
PFFile *imageFile = [imageObject objectForKey:@"image"];
[imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error)
if (!error)
UIImage *image = [UIImage imageWithData:data];
[self.library writeImageToSavedPhotosAlbum:[image CGImage] orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error)
if(assetURL)
[self.library assetForURL:assetURL resultBlock:^(ALAsset *asset)
[self addAsset:asset toGroup:@"App Album" inLib:self.library];
NSLog(@"Adicionado");
failureBlock:^(NSError *error)
NSLog(@"%@",error);
];
];
];
[hud hide:NO];
- (void) addAsset:(ALAsset*)a toGroup:(NSString*)name inLib:(ALAssetsLibrary*)lib 方法
[lib enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop)
if([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:name])
[group addAsset:a];
*stop = YES;
NSLog(@"added asset to EXISTING group");
if(!group)
[lib addAssetsGroupAlbumWithName:name resultBlock:^(ALAssetsGroup *group)
[group addAsset:a];
NSLog(@"added asset to NEW group");
failureBlock:^(NSError *error)
NSLog(@"e: %@", error);
];
failureBlock:^(NSError *error)
NSLog(@"e: %@", error);
];
【问题讨论】:
【参考方案1】:我已经和某人HERE讨论过这个问题。
...当没有可用的相册时,只有部分图像保存在 for 循环中。我测试了代码,发现 -addAssetsGroupAlbumWithName:resultBlock:failureBlock: 会异步处理,这个方法会在相册没有创建的时候分派几次(这可能需要一些时间)。
在这种情况下,您可以在添加图像之前创建一个相册。
[self.assetsLibrary addAssetsGroupAlbumWithName:<your_custom_album_name> resultBlock:nil failureBlock:nil];
随意看看这个库:ALAssetsLibrary-CustomPhotoAlbum,它可能对你有很多帮助;)
【讨论】:
以上是关于将照片保存到iOS相册,不要全部保存的主要内容,如果未能解决你的问题,请参考以下文章