功能
要求
- iOS 12.0+
- Xcode 12.0+
- Swift 5.4+
安装
Swift Package Manager
⚠️ 需要 Xcode 12.0 及以上版本来支持资源文件/本地化文件的添加。
dependencies: [
.package(url: "https://github.com/SilenceLove/HXPHPicker.git", .upToNextMajor(from: "1.2.3"))
]
CocoaPods
将下面内容添加到 Podfile
,并执行依赖更新。
pod 'HXPHPicker'
Carthage
将下面内容添加到 Cartfile
,并执行依赖更新。
github "SilenceLove/HXPHPicker"
使用方法
我们在 Wiki 中提供了更详细的使用说明。
准备工作
按需在你的 Info.plist 中添加以下键值:
Key | 备注 |
---|---|
NSPhotoLibraryUsageDescription | 允许访问相册 |
NSPhotoLibraryAddUsageDescription | 允许保存图片至相册 |
PHPhotoLibraryPreventAutomaticLimitedAccessAlert | 设置为 YES iOS 14+ 以禁用自动弹出添加更多照片的弹框(已适配 Limited 功能,可由用户主动触发,提升用户体验) |
NSCameraUsageDescription | 允许使用相机 |
NSMicrophoneUsageDescription | 允许使用麦克风 |
快速上手
import HXPHPicker
class ViewController: UIViewController {
func presentPickerController() {
// 设置与微信主题一致的配置
let config = PhotoTools.getWXPickerConfig()
let pickerController = PhotoPickerController(picker: config)
pickerController.pickerDelegate = self
// 当前被选择的资源对应的 PhotoAsset 对象数组
pickerController.selectedAssetArray = selectedAssets
// 是否选中原图
pickerController.isOriginal = isOriginal
present(pickerController, animated: true, completion: nil)
}
}
extension ViewController: PhotoPickerControllerDelegate {
/// 选择完成之后调用
/// - Parameters:
/// - pickerController: 对应的 PhotoPickerController
/// - result: 选择的结果
/// result.photoAssets 选择的资源数组
/// result.isOriginal 是否选中原图
func pickerController(_ pickerController: PhotoPickerController,
didFinishSelection result: PickerResult) {
result.getImage { (image, photoAsset, index) in
if let image = image {
print("success", image)
}else {
print("failed")
}
} completionHandler: { (images) in
print(images)
}
}
/// 点击取消时调用
/// - Parameter pickerController: 对应的 PhotoPickerController
func pickerController(didCancel pickerController: PhotoPickerController) {
}
}
更新日志
版本 | 发布时间 | Xcode | Swift | iOS |
---|---|---|---|---|
v1.2.3 | 2021-10-08 | 12.5.1 | 5.4 | 12.0+ |
版权协议
HXPHPicker 基于 MIT 协议进行分发和使用,更多信息参见协议文件。