d6aeede2bc
从桌面工程复制而来,作为本仓库的 Xuxucheck/ 子目录。 为控制仓库体积做了两处删减: - 移除 Frameworks/opencv2.xcframework 下的两个 visionOS 切片 (xros-arm64、xros-arm64-simulator,合计约 106 MB),并同步删掉该 xcframework 内 Info.plist 里对应的两条 AvailableLibraries 记录, 只保留 ios-arm64 与 ios-arm64_x86_64-simulator。 - 移除全部 .DS_Store 与 xcuserdata/。 已用 xcodebuild 从本目录完整编译验证:BUILD SUCCEEDED, ProcessXCFramework 以 --platform ios 成功选中框架,产物含 3699 个 cv:: 符号 (OpenCV 确实链入),嵌入 framework 3 个,与移除无用 pod 之后的状态一致。 仓库约 206 MB,其中 OpenCV 203 MB、其余源码与依赖约 3 MB。
55 lines
1.8 KiB
Swift
55 lines
1.8 KiB
Swift
//
|
|
// ImagePicker.swift
|
|
// SwiftUIImagePicker
|
|
//
|
|
// Created by Toomas Vahter on 21.11.2020.
|
|
//
|
|
|
|
//https://github.com/laevandus/SwiftUIImagePicker.git
|
|
|
|
import SwiftUI
|
|
import UIKit
|
|
|
|
struct ImagePicker: UIViewControllerRepresentable {
|
|
typealias UIViewControllerType = UIImagePickerController
|
|
typealias SourceType = UIImagePickerController.SourceType
|
|
|
|
let sourceType: SourceType
|
|
let completionHandler: (UIImage?) -> Void
|
|
|
|
func makeUIViewController(context: Context) -> UIImagePickerController {
|
|
let viewController = UIImagePickerController()
|
|
viewController.delegate = context.coordinator
|
|
viewController.sourceType = sourceType
|
|
return viewController
|
|
}
|
|
|
|
func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {}
|
|
|
|
func makeCoordinator() -> Coordinator {
|
|
return Coordinator(completionHandler: completionHandler)
|
|
}
|
|
|
|
final class Coordinator: NSObject, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
|
|
let completionHandler: (UIImage?) -> Void
|
|
|
|
init(completionHandler: @escaping (UIImage?) -> Void) {
|
|
self.completionHandler = completionHandler
|
|
}
|
|
|
|
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
|
|
let image: UIImage? = {
|
|
if let image = info[.editedImage] as? UIImage {
|
|
return image
|
|
}
|
|
return info[.originalImage] as? UIImage
|
|
}()
|
|
completionHandler(image)
|
|
}
|
|
|
|
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
|
|
completionHandler(nil)
|
|
}
|
|
}
|
|
}
|