2015-11-04 74 views
0

我正在相机胶卷中创建特定相册..但是对于我的每一次运行,它都会在相机胶卷中创建一个新相册,而不是将视频放在同一个相册中。想法?将视频放入相机胶卷中的一个特定相册

__block PHObjectPlaceholder *assetCollectionPlaceholder; 

    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 


     // Create new album. 
     [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 
      PHAssetCollectionChangeRequest *createAlbumRequest = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"Eye Movement"]; 
      assetCollectionPlaceholder = createAlbumRequest.placeholderForCreatedAssetCollection; 
     } completionHandler:^(BOOL success, NSError *error) { 
      if (success) { 
       PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[assetCollectionPlaceholder.localIdentifier] options:nil]; 
       PHAssetCollection *assetCollection = fetchResult.firstObject; 

       // Add it to the photo library 
       [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 
        PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL]; 
        PHAssetCollectionChangeRequest* assetRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; 
        [assetRequest addAssets:@[[createAssetRequest placeholderForCreatedAsset]]]; 
        //PHAssetCollectionChangeRequest *assetCollectionChangeRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection]; 
        //[assetCollectionChangeRequest addAssets:@[[createAssetRequest placeholderForCreatedAsset]]]; 
       } completionHandler:^(BOOL success, NSError *error) { 
        if (!success) { 
         NSLog(@"Error creating asset: %@", error); 
        } 
       }]; 
      } else { 
       //NSLog(@"Error creating album: %@", error); 
       NSLog(@"didFinishRecordingToOutputFileAtURL - success for ios9"); 
      } 
     }]; 

回答

0

您必须先检查相册是否先创建,然后告诉应用程序创建相册,如果它不存在。

__block PHFetchResult *photosAsset; 
__block PHAssetCollection *collection; 
__block PHObjectPlaceholder *placeholder; 

// Find the album 
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init]; 
fetchOptions.predicate = [NSPredicate predicateWithFormat:@"title = %@", @"Your Album Name Here"]; 
collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum 
                 subtype:PHAssetCollectionSubtypeAny 
                 options:fetchOptions].firstObject; 
// Create the album 
if (!collection) 
{ 
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 
     PHAssetCollectionChangeRequest *createAlbum = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"Your Album Name Here"]; 
     placeholder = [createAlbum placeholderForCreatedAssetCollection]; 
    } completionHandler:^(BOOL success, NSError *error) { 
     if (success) 
     { 
      PHFetchResult *collectionFetchResult = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[placeholder.localIdentifier] 
                             options:nil]; 
      collection = collectionFetchResult.firstObject; 
     } 
    }]; 
} 
相关问题