版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337760
思路:要创建自己App的自定义相册,首先要获取系统中的所有自定义相册,看这些自定义相册中是否已经包含了我们自己要创建的自定义相册,如果已经包含自然不用再次创建,如果还没有那么就需要我们自己进行创建。注意:iOS中在创建自定义相册之后并不会给我们返回一个相册的对象,还需要我们自己根据一个标识去系统中获取我们创建的自定义相册。
代码:
// 创建自己要创建的自定义相册
// 创建一个新的相册
// 查看所有的自定义相册
// 先查看是否有自己要创建的自定义相册
// 如果没有自己要创建的自定义相册那么我们就进行创建
NSString * title = NSBundle mainBundle.infoDictionary(NSString *)kCFBundleNameKey;
PHFetchResult<PHAssetCollection *> *collections = PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil;
PHAssetCollection * createCollection = nil; // 最终要获取的自己创建的相册
for (PHAssetCollection * collection in collections) {
if (collection.localizedTitle isEqualToString:title) { // 如果有自己要创建的相册
createCollection = collection;
break;
}
}
if (createCollection == nil) { // 如果没有自己要创建的相册
// 创建自己要创建的相册
NSError * error1 = nil;
__block NSString * createCollectionID = nil;
[PHPhotoLibrary sharedPhotoLibrary performChangesAndWait:^{
NSString * title = NSBundle mainBundle.infoDictionary(NSString *)kCFBundleNameKey;
createCollectionID = PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:title.placeholderForCreatedAssetCollection.localIdentifier;
} error:&error1];
if (error1) {
NSLog(@"创建相册失败...");
}
// 创建相册之后我们还要获取此相册 因为我们要往进存储相片
createCollection = [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@createCollectionID options:nil].firstObject;
}
return createCollection;
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有