Функции:
Требования:
Установка:
Swift Package Manager:
dependencies: [
.package(url: "https://github.com/SilenceLove/HXPhotoPicker.git", .upToNextMajor(from: "4.1.5"))
]
CocoaPods:
iOS 12.0+:
pod 'HXPhotoPicker'
// Не включает Kingfisher, камера без функции определения местоположения
pod `HXPhotoPicker/Lite`
// Только камера без функции определения местоположения
pod `HXPhotoPicker/NoLocation`
// Только средство выбора
pod `HXPhotoPicker/Picker`
pod `HXPhotoPicker/Picker/Lite`
// Только редактор
pod `HXPhotoPicker/Editor`
pod `HXPhotoPicker/Editor/Lite`
// Только камера
pod `HXPhotoPicker/Camera`
// Без функции определения местоположения
pod `HXPhotoPicker/Camera/Lite`
iOS 10.0+:
pod 'HXPhotoPicker-Lite'
pod 'HXPhotoPicker-Lite/Picker'
pod 'HXPhotoPicker-Lite/Editor'
pod 'HXPhotoPicker-Lite/Camera'
v4.0 ниже ObjC версия
pod 'HXPhotoPickerObjC'
Подготовка:
Добавьте следующие ключи в Info.plist:
Key | Модуль | Примечание |
---|---|---|
NSPhotoLibraryUsageDescription | Picker | Разрешить доступ к фотоальбому |
NSPhotoLibraryAddUsageDescription | Picker | Разрешить сохранение фотографий в фотоальбом |
PHPhotoLibraryPreventAutomaticLimitedAccessAlert | Picker | Установите значение YES для iOS 14+, чтобы отключить автоматическое всплывающее окно для добавления дополнительных фотографий (Picker уже адаптирован к функции Limited, может быть запущен пользователем вручную, улучшая пользовательский опыт) |
NSCameraUsageDescription | Camera | Разрешить использование камеры |
NSMicrophoneUsageDescription | Camera | Разрешить использовать микрофон |
Пример использования:
import HXPhotoPicker
class ViewController: UIViewController {
func presentPickerController() {
// Настройка конфигурации в соответствии с темой WeChat
let config = PickerConfiguration.default
// Метод один: async/await
let
``` **Как получить данные**
*Получение UIImage*
```swift
// Если для видео, то получаем обложку
let image: UIImage = try await photoAsset.object(compression)
photoAsset.getImage(compressionQuality: compressionQuality) { image in
print(image)
}
Получение URL
let url: URL = try await photoAsset.object(compression)
let urlResult: AssetURLResult = try await photoAsset.object(compression)
photoAsset.getURL(compression: compression) { result in
switch result {
case .success(let urlResult):
switch urlResult.mediaType {
case .photo:
// Изображение
case .video:
// Видео
}
switch urlResult.urlType {
case .local:
// Локальный URL
case .network:
// Сетевой URL
}
print(urlResult.url)
print(urlResult.livePhoto)
case .failure(let error):
print(error)
}
}
Журнал изменений
Версия | Дата выпуска | Xcode | Swift | iOS |
---|---|---|---|---|
v4.1.5 | 2024-01-10 | 15.0.0 | 5.9.0 | 12.0+ |
Версия | Дата выпуска | Минимальная версия iOS | Минимальная версия Xcode |
---|---|---|---|
v4.1.4 | 23 декабря 2023 года | 15.0 | 5.9.0 |
v4.1.3 | 16 декабря 2023 года | 15.0 | 5.9.0 |
v4.1.2 | 2 декабря 2023 года | 15.0 | 5.9.0 |
v4.1.1 | 14 ноября 2023 года | 15.0 | 5.9.0 |
v4.1.0 | 7 ноября 2023 года | 15.0 | 5.9.0 |
v4.0.9 | 22 октября 2023 года | 15.0 | 5.9.0 |
v4.0.8 | 13 октября 2023 года | 15.0 | 5.9.0 |
v4.0.7 | 23 сентября 2023 года | 14.3.0 | 5.7.0 |
v4.0.6 | 9 сентября 2023 года | 14.3.0 | 5.7.0 |
v4.0.5 | 12 августа 2023 года | 14.3.0 | 5.7.0 |
v4.0.4 | 30 июля 2023 года | 14.3.0 | 5.7.0 |
v4.0.3 | 6 июля 2023 года | 14.3.0 | 5.7.0 |
v4.0.2 | 24 июня 2023 года | 14.3.0 | 5.7.0 |
v4.0.1 | 17 июня 2023 года | 14.3.0 | 5.7.0 |
v4.0.0 | 15 июня 2023 года | 14.3.0 | 5.7.0 |
v3.0.0 | 18 сентября 2022 года | 14.0.0 | — |
Выбор фотографии | Редактирование фотографий | Редактирование видео |
---|---|---|
Демонстрация выбора фотографий | Демонстрация редактирования фотографий | Демонстрация редактирования видео |
К сожалению, не удалось найти информацию об интерфейсе приложения. ## Авторские права
HXPhotoPicker распространяется и используется на основании лицензии MIT. Более подробную информацию см. в файле LICENSE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )