PHotos框架详解

PHotos框架详解

  • 判断状态
    PHAuthorizationStatusNotDetermined = 0, // 用户还没做出选择
    PHAuthorizationStatusRestricted,        // 用户拒绝当前应用访问相册
    PHAuthorizationStatusDenied,            // 用户允许
    PHAuthorizationStatusAuthorized         // 家长控制
  • PHAsset : 一个资源, 比如一张图片\一段视频
    PHAssetCollection : 一个相簿
  • PHAssetCollection的标识, 利用这个标识可以找到对应的PHAssetCollection对象(相簿对象)

__block NSString *assetCollectionLocalIdentifier = nil;

PHAsset的标识, 利用这个标识可以找到对应的PHAsset对象(图片对象)
```__block NSString *assetLocalIdentifier = nil;```

 如果想对"相册"进行修改(增删改), 那么修改代码必须放在[PHPhotoLibrary sharedPhotoLibrary]的performChanges方法的block中   
  • 使用技巧

    • 保存照片到相机胶卷中,创建图片请求 PHAssetCreationRequest

    • 创建相簿

    • 获得创建相簿

      • fetchAssetCollectionsWithType 抓取所有相簿,返回相簿集合,然后通过for循环找到相应相簿
      for (PHAssetCollection *assetCollection in assetCollections) {
         if ([assetCollection.localizedTitle isEqualToString:MYAssetCollectionTitle]) {
             return assetCollection;
         }
      

    }

    -  获得照片 (通过标识获得图片)
    

    PHAsset *asset = [PHAsset fetchAssetsWithLocalIdentifiers:@[assetLocalIdentifier] options:nil].lastObject;

    -  添加相机胶卷的照片到相簿请求
    

    PHAssetCollectionChangeRequest *request = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection];

    -  添加图片到相簿
        
    

    [request addAssets:@[asset]];

你可能感兴趣的:(PHotos框架详解)