Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将照片保存到照片库中的文件夹_Ios_Iphone_Objective C_Cocoa Touch - Fatal编程技术网

Ios 将照片保存到照片库中的文件夹

Ios 将照片保存到照片库中的文件夹,ios,iphone,objective-c,cocoa-touch,Ios,Iphone,Objective C,Cocoa Touch,因此,我知道,使用以下命令会将图像保存到通用摄影机卷: UIImage *image = imageView.image; UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); 但我想做的是将照片保存到我的照片库中一个专门命名的文件夹中。例如,我用Instagram拍摄的任何照片都会保存到我图书馆的Instagram文件夹中。这也适用于snapchat。首先,您需要创建一个文件夹: ALAssetsLibrary *library = [

因此,我知道,使用以下命令会将图像保存到通用摄影机卷:

UIImage *image = imageView.image;
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); 

但我想做的是将照片保存到我的照片库中一个专门命名的文件夹中。例如,我用Instagram拍摄的任何照片都会保存到我图书馆的Instagram文件夹中。这也适用于snapchat。

首先,您需要创建一个文件夹:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

[library addAssetsGroupAlbumWithName:folderName 
                              resultBlock:^(ALAssetsGroup *group) 
{
         NSLog(@"Added folder:%@", folderName);
}
                             failureBlock:^(NSError *error) 
{
         NSLog(@"Error adding folder");
}];
然后,查找文件夹:

__block ALAssetsGroup* folder;

[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
                             usingBlock:^(ALAssetsGroup *group, BOOL *stop) 
{
      if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:folderName]) 
      {
          folder = group;
      }
}
                           failureBlock:^(NSError* error) 
{
    // Error handling.    
}];
并将您的照片添加到其中

将图像保存到资源库,并将其放入相册:

[library writeImageToSavedPhotosAlbum:yourImage
                                  metadata:[info objectForKey:UIImagePickerControllerMediaMetadata]
                           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];
         }
                      failureBlock:^(NSError* error)
         {
              // Error handling.
         }];
     }
     else 
     {
         // Error handling.
     }
 }];

非常感谢。我不得不通过检查文件夹之前是否已添加来处理这一点,因此我使用了一个带有NSUserDefaults的BOOL,但这是一种方法。当你保存照片时,你有没有发现照片旋转不正确的问题?