iOSは携帯電話内のすべての写真を取得します

ここでは、AssetsLibrary を使用して携帯電話内のすべての写真を取得します。これ以上はナンセンスです。
まず、関連するライブラリをインポートする必要があります

#import <AssetsLibrary/AssetsLibrary.h>

コード:

写真= [[ NSMutableArray alloc ] init ];

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

    ディスパッチキュー_tディスパッチキュー =ディスパッチ_get_global_queue ( DISPATCH_QUEUE_PRIORITY_DEFAULT , 0 );

    dispatch_async (dispatchQueue, ^( void ){    

            //すべてのアルバムをループします

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

                [グループenumerateAssetsUsingBlock :^( ALAsset *result, NSUIntegerインデックス, BOOL *stop){

                    NSString *assetType = [プロパティの結果: ALAssetPropertyType ];            

                    NSDictionary *url = [プロパティの結果: ALAssetPropertyURLs ];

                    if ([assetType isEqualToString : ALAssetTypePhoto ])

                    {

                        [写真追加オブジェクト:url];

                        NSLog ( @"url == %@" , url);

                    }

                }];

                dispatch_async ( dispatch_get_main_queue (), ^{

                    if (写真!= nil )

                    {

                        //ここに電話することに害があるかどうかはわかりません

                    }

                    

                });

                

            }

                                      失敗ブロック:^( NSError *エラー)

             {

                 NSLog ( @"失敗" );

             }];

    });

このようにして、すべての写真の URL が写真配列に配置されます。

 UIImageView *imgView = [[ UIImageView alloc ] initWithFrame : CGRectMake ( 5 , 5 , 20 , 20 )];

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

        [ libassetForURL :[[ photo objectAtIndex :0 ] valueForKey : @"public.jpeg" ] resultBlock :^( ALAsset *asset)

         {

//ここで写真の関連情報を取得できます

             ALAssetRepresentation *assetRep = [asset defaultRepresentation ];

//サムネイルを取得する

             CGImageRef imgRef = アセット。サムネイル;

             imgView. image = [ UIImage imageWithCGImage :imgRef

                                                 スケール:assetRep. 規模

                                           方向:( UIImageOrientation )assetRep。方向];

         }

            失敗ブロック:^( NSError *エラー)

         {

             NSLog ( @"失敗しました!!" );

         }];


おすすめ

転載: blog.csdn.net/Twan1234/article/details/48490099