2013-10-30 4 views
4

저는 AlAssetLibrary 클래스를 사용하여 iPad에서 이미지에 대한 정보를 검색합니다. 보시다시피 실제로 자산의 픽셀 너비를 발견했습니다. 지금 내가 알아야 할 것은 각 자산에 대한 앨범의 이름입니다. 따라서 모든 애셋이 "카메라"앨범에 있으면 각 애셋별로 찾아야합니다. 어떻게해야합니까? 내 코드가 있습니다. NSString assetAlbumName을 유의하십시오. 그것은 나에게 오류를 반환하고있다.ALAssetsLibrary를 사용하여 각 이미지의 앨범 이름을 찾는 방법

[library enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { 
     if (group) { 

      [group setAssetsFilter:[ALAssetsFilter allPhotos]]; //search for the photos 
      [group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop){ 
       if (asset){ 
        NSNumber *width = [[[asset defaultRepresentation] metadata] objectForKey:@"PixelWidth"]; //find the key with "PixelWidth" name 
        NSString *widthString = [NSString stringWithFormat:@"%@", width]; //take the value of the key 

        NSString *assetAlbumName = [asset valueForProperty:ALAssetsGroupPropertyName]; //it return to me an ALErrorInvalidProperty 
       } 
      } 
     } 
} 

감사

답변

4

당신이 사과의 샘플 코드는, 당신에게 더 많은 도움이 될 것입니다

NSString *albumName = [assets valueForProperty:ALAssetsGroupPropertyName]; 
다음
4
*// emumerate through our groups and only add groups that contain photos* 
ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) { 

    ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos]; 
    [group setAssetsFilter:onlyPhotosFilter]; 
    if ([group numberOfAssets] > 0) 
    { 
     [self.groups addObject:group]; //groups is NSMutableArray 
    } 
    else 
    { 
     [self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; 
    } 
}; 

// enumerate only photos 
NSUInteger groupTypes = ALAssetsGroupAlbum | ALAssetsGroupEvent | ALAssetsGroupFaces | ALAssetsGroupSavedPhotos; 
[self.assetsLibrary enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:failureBlock]; 


ALAssetsGroup *groupAsset = groups[objectIndex]; 
NSString *albumName = [groupAsset valueForProperty:ALAssetsGroupPropertyName]; 

을하고

NSString *albumName = [group valueForProperty:ALAssetsGroupPropertyName]; 

을 시도 할 수 있습니다 ..

https://developer.apple.com/library/ios/samplecode/MyImagePicker/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010135