功能描述
XGAssetPickerController
是一款 iOS 相册选择器,支持图片、视频拍摄,以及多图片和多视频的混合选择和预览功能。支持 Gif 浏览(iOS 11+)。多个相册目录同一图片/视频可自动去重,并具有记录已选图片/视频的功能。
系统要求
该项目最低支持 iOS 8.0+
。
安装
CocoaPods
- 在
Podfile
中添加pod 'XGAssetPickerController'
。 - 执行
pod install
或pod update
。 #import "XG_AssetPickerController.h"
使用方法
-
首先使用
[[XG_AssetPickerManager manager] handleAuthorizationWithCompletion:^(XG_AuthorizationStatus aStatus) { };
检查是否获取相册权限,然后根据XG_AuthorizationStatus
进行进一步处理 -
初始化
XG_AssetPickerOptions
对象用于配置选择器,maxAssetsCount
表示最大可选数量,videoPickable
表示是否可选视频,已选的图片或视频会保存在pickedAssetModels
数组中。 -
使用初始化选择器
XG_AssetPickerController
,然后UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:photoPickerVc];
[self presentViewController:nav animated:YES completion:nil];
-
遵循
<XG_AssetPickerControllerDelegate>
协议,并实现协议方法:- (void)assetPickerController:(XG_AssetPickerController *)picker didFinishPickingAssets:(NSArray<XG_AssetModel *> *)assets;
,选择结果在参数assets
中。具体使用方法可参见示例 Demo
注意事项
-
如果运行崩溃,崩溃信息 log 为:
此应用崩溃,因为它尝试在没有使用描述的情况下访问隐私敏感数据。应用的信息.plist 必须包含具有字符串值的 NSPhotoLibraryUsageDescription/NSCameraUsageDescription 键,解释应用如何使用这些数据
。请检查Info.plist
是否添加相册/相机权限:NSPhotoLibraryUsageDescription/NSCameraUsageDescription
-
模拟器环境下,虽然在工程的
Localizations
配置中添加了简体中文Chinese(Simplified)
,但相册名称仍会默认为英文,这是正常的,因为Localizations
在真机环境下才会生效(即真机环境下相册名称会显示成中文)。
许可证
XGAssetPickerController
使用 MIT 许可证,详情见 LICENSE 文件。
Introduction
XGAssetPickerController
是一个支持混合多图、多视频选择和预览的 iOS 照片库选择器。在 iOS 11.0+
支持支持 Gif 浏览。可以自动检测同一图片或视频在不同相册中的情况,并记录选中的图片或视频。
Requirements
本库需要 iOS 8.0+
。
Installation
CocoaPods
- 在你的Podfile中添加
pod 'XGAssetPickerController'
。 - 运行
pod install
或pod update
。 #import "XG_AssetPickerController.h"
手动
- 下载
Picker
子目录下的所有文件。 - 将源文件添加到你的Xcode项目中。
#import "XG_AssetPickerController.h"
.
用法
- 使用
[[XG_AssetPickerManager manager] handleAuthorizationWithCompletion:^(XG_AuthorizationStatus aStatus) { }];
检查你是否可以访问照片库。 - 初始化一个
XG_AssetPickerOptions
对象来配置XG_AssetPickerController
。 - 使用
initWithOptions: delegate:
方法初始化一个XG_AssetPickerController
,并使用UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:photoPickerVc];
[self presentViewController:nav animated:YES completion:nil];
显示它。 - 采用
XG_AssetPickerControllerDelegate
协议并实现它的所需方法assetPickerController: didFinishPickingAssets:
。
注意
如果你的应用崩溃,显示的消息类似于此应用崩溃,因为它尝试在未提供使用描述的情况下访问隐私敏感数据。应用的外部配置文件(Info.plist)必须包含一个NSPhotoLibraryUsageDescription/NSCameraUsageDescription键,其字符串值解释应用如何使用此数据。
,请检查应用的外部配置文件(Info.plist)中是否已添加相应的使用描述。
许可
XGAssetPickerController
提供在MIT许可下。有关详细信息,请参阅LICENSE
文件。