PHotos框架詳解
- 判斷狀態(tài)
PHAuthorizationStatusNotDetermined = 0, // 用戶還沒做出選擇
PHAuthorizationStatusRestricted, // 用戶拒絕當(dāng)前應(yīng)用訪問相冊
PHAuthorizationStatusDenied, // 用戶允許
PHAuthorizationStatusAuthorized // 家長控制
- PHAsset : 一個資源, 比如一張圖片\一段視頻
PHAssetCollection : 一個相簿 - PHAssetCollection的標(biāo)識, 利用這個標(biāo)識可以找到對應(yīng)的PHAssetCollection對象(相簿對象)
__block NSString *assetCollectionLocalIdentifier = nil;
PHAsset的標(biāo)識, 利用這個標(biāo)識可以找到對應(yīng)的PHAsset對象(圖片對象)
```__block NSString *assetLocalIdentifier = nil;```
如果想對"相冊"進(jìn)行修改(增刪改), 那么修改代碼必須放在[PHPhotoLibrary sharedPhotoLibrary]的performChanges方法的block中
-
使用技巧
保存照片到相機(jī)膠卷中痘拆,創(chuàng)建圖片請求 PHAssetCreationRequest
創(chuàng)建相簿
-
獲得創(chuàng)建相簿
- fetchAssetCollectionsWithType 抓取所有相簿昔榴,返回相簿集合,然后通過for循環(huán)找到相應(yīng)相簿
for (PHAssetCollection *assetCollection in assetCollections) { if ([assetCollection.localizedTitle isEqualToString:MYAssetCollectionTitle]) { return assetCollection; }
}
- 獲得照片 (通過標(biāo)識獲得圖片)
PHAsset *asset = [PHAsset fetchAssetsWithLocalIdentifiers:@[assetLocalIdentifier] options:nil].lastObject;
- 添加相機(jī)膠卷的照片到相簿請求
PHAssetCollectionChangeRequest *request = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection];
- 添加圖片到相簿
[request addAssets:@[asset]];