簡體   English   中英

在iOS7中將圖像保存到自定義相冊

[英]saving image to custom photo album in iOS7

我正在嘗試將用相機拍攝的照片保存到iOS7中的自定義相冊中。 我的代碼如下所示:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
__block ALAssetsGroup* folder;
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
                       usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
    if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:@"UrbanAlphabets"])
    {
        folder = group;
    }
}
                     failureBlock:^(NSError* error)
{
    // Error handling.
}];
[library writeImageToSavedPhotosAlbum:(__bridge CGImageRef)(image)
                             metadata:nil
                      completionBlock:^(NSURL* assetURL, NSError* error)
{
    if (error.code == 0)
    {
        // Get the asset
        [library assetForURL:assetURL
                 resultBlock:^(ALAsset *asset)
         {
             // Assign the photo to the album
             [folder addAsset:asset];
             NSLog(@"success");
         }
                failureBlock:^(NSError* error)
         {
             // Error handling.
             NSLog(@"error1");
         }];


    }
    else
    {
        // Error handling.
        NSLog(@"error");
    }
}];

並且實際上控制台記錄了“成功”,所以我想一切都應該沒問題,但是它不會將照片放到文件夾中……我幾乎從這里復制了代碼http://www.ggkf.com/iphone /將照片保存到照片庫中的文件夾有什么想法?

這使它起作用

//write to photo library
NSString *albumName=@"Urban Alphabets";
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
__block ALAssetsGroup* groupToAddTo;
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
                       usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
                           if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:albumName]) {
                               groupToAddTo = group;
                           }
                       }
                     failureBlock:^(NSError* error) {
                     }];
CGImageRef img = [croppedImage CGImage];
[library writeImageToSavedPhotosAlbum:img
                             metadata:nil
                      completionBlock:^(NSURL* assetURL, NSError* error) {
                          if (error.code == 0) {

                              // try to get the asset
                              [library assetForURL:assetURL
                                       resultBlock:^(ALAsset *asset) {
                                           // assign the photo to the album
                                           [groupToAddTo addAsset:asset];
                                       }
                                      failureBlock:^(NSError* error) {
                                      }];
                          }
                          else {
                          }
                      }];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM