├── .github ├── docs │ ├── logo.png │ ├── swiftttcamera-benchmark.jpg │ └── uiimagepickercontroller-benchmark.jpg └── workflows │ └── run_tests.yml ├── .gitignore ├── .swiftpm └── xcode │ ├── package.xcworkspace │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ └── xcschemes │ └── SwiftttCamera.xcscheme ├── LICENSE ├── Package.swift ├── README.md ├── Sources ├── CameraDelegate.swift ├── CameraProtocol.swift ├── CameraTypes.swift ├── CapturedImage.swift ├── DeviceOrientation.swift ├── Extensions │ ├── AVCaptureDevice+Utilities.swift │ ├── AVCaptureSession+Utilities.swift │ ├── Comparable+Utilities.swift │ ├── UIImage+Utilities.swift │ └── UIViewController+SwiftttCamera.swift ├── Focus.swift ├── SwiftttCamera.swift └── Zoom.swift ├── SwiftttCameraDemo ├── SwiftttCameraDemo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── IDETemplateMacros.plist │ │ └── IDEWorkspaceChecks.plist ├── SwiftttCameraDemo │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── aperture.imageset │ │ │ ├── Contents.json │ │ │ ├── aperture@2x.png │ │ │ └── aperture@3x.png │ │ ├── bar-chart.imageset │ │ │ ├── Contents.json │ │ │ ├── bar-chart@2x.png │ │ │ └── bar-chart@3x.png │ │ ├── bolt.imageset │ │ │ ├── Contents.json │ │ │ ├── bolt@2x.png │ │ │ └── bolt@3x.png │ │ └── shutter.imageset │ │ │ ├── Contents.json │ │ │ └── camera_button_366471.png │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ ├── BenchmarkParameters.swift │ ├── ConfirmationViewController.swift │ ├── DemoViewController.swift │ ├── Info.plist │ ├── SceneDelegate.swift │ ├── SwiftttCameraBenchmarkViewController.swift │ └── UIImagePickerBenchmarkViewController.swift └── SwiftttCameraDemoTests │ ├── Info.plist │ └── SwiftttCameraDemoTests.swift └── Tests ├── CapturedImageTests.swift ├── DeviceOrientationTests.swift ├── FocusTests.swift ├── SwiftttCameraTests.swift ├── TestImages.xcassets ├── Contents.json ├── camera-test-left-mirrored.imageset │ ├── Contents.json │ └── camera-test-left-mirrored.png ├── camera-test-right.imageset │ ├── Contents.json │ └── camera-test-right.png ├── camera-test.imageset │ ├── Contents.json │ └── camera-test.png └── large-test-photo.imageset │ ├── Contents.json │ └── large-test-photo.jpg ├── UIImageUtilitiesPerformanceTests.swift ├── UIImageUtilitiesTests.swift ├── UIViewControllerSwiftttCameraTests.swift ├── Utilities ├── UIPinchGestureRecognizerMock.swift └── UITapGestureRecognizerMock.swift └── ZoomTests.swift /.github/docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.github/docs/logo.png -------------------------------------------------------------------------------- /.github/docs/swiftttcamera-benchmark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.github/docs/swiftttcamera-benchmark.jpg -------------------------------------------------------------------------------- /.github/docs/uiimagepickercontroller-benchmark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.github/docs/uiimagepickercontroller-benchmark.jpg -------------------------------------------------------------------------------- /.github/workflows/run_tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.github/workflows/run_tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/SwiftttCamera.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/.swiftpm/xcode/xcshareddata/xcschemes/SwiftttCamera.xcscheme -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/README.md -------------------------------------------------------------------------------- /Sources/CameraDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/CameraDelegate.swift -------------------------------------------------------------------------------- /Sources/CameraProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/CameraProtocol.swift -------------------------------------------------------------------------------- /Sources/CameraTypes.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/CameraTypes.swift -------------------------------------------------------------------------------- /Sources/CapturedImage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/CapturedImage.swift -------------------------------------------------------------------------------- /Sources/DeviceOrientation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/DeviceOrientation.swift -------------------------------------------------------------------------------- /Sources/Extensions/AVCaptureDevice+Utilities.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Extensions/AVCaptureDevice+Utilities.swift -------------------------------------------------------------------------------- /Sources/Extensions/AVCaptureSession+Utilities.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Extensions/AVCaptureSession+Utilities.swift -------------------------------------------------------------------------------- /Sources/Extensions/Comparable+Utilities.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Extensions/Comparable+Utilities.swift -------------------------------------------------------------------------------- /Sources/Extensions/UIImage+Utilities.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Extensions/UIImage+Utilities.swift -------------------------------------------------------------------------------- /Sources/Extensions/UIViewController+SwiftttCamera.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Extensions/UIViewController+SwiftttCamera.swift -------------------------------------------------------------------------------- /Sources/Focus.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Focus.swift -------------------------------------------------------------------------------- /Sources/SwiftttCamera.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/SwiftttCamera.swift -------------------------------------------------------------------------------- /Sources/Zoom.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Sources/Zoom.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/xcshareddata/IDETemplateMacros.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/xcshareddata/IDETemplateMacros.plist -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/AppDelegate.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/aperture@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/aperture@2x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/aperture@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/aperture.imageset/aperture@3x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/bar-chart@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/bar-chart@2x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/bar-chart@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bar-chart.imageset/bar-chart@3x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/bolt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/bolt@2x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/bolt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/bolt.imageset/bolt@3x.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/shutter.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/shutter.imageset/Contents.json -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/shutter.imageset/camera_button_366471.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Assets.xcassets/shutter.imageset/camera_button_366471.png -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/BenchmarkParameters.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/BenchmarkParameters.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/ConfirmationViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/ConfirmationViewController.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/DemoViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/DemoViewController.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/Info.plist -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/SceneDelegate.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/SwiftttCameraBenchmarkViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/SwiftttCameraBenchmarkViewController.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemo/UIImagePickerBenchmarkViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemo/UIImagePickerBenchmarkViewController.swift -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemoTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemoTests/Info.plist -------------------------------------------------------------------------------- /SwiftttCameraDemo/SwiftttCameraDemoTests/SwiftttCameraDemoTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/SwiftttCameraDemo/SwiftttCameraDemoTests/SwiftttCameraDemoTests.swift -------------------------------------------------------------------------------- /Tests/CapturedImageTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/CapturedImageTests.swift -------------------------------------------------------------------------------- /Tests/DeviceOrientationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/DeviceOrientationTests.swift -------------------------------------------------------------------------------- /Tests/FocusTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/FocusTests.swift -------------------------------------------------------------------------------- /Tests/SwiftttCameraTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/SwiftttCameraTests.swift -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/Contents.json -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test-left-mirrored.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test-left-mirrored.imageset/Contents.json -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test-left-mirrored.imageset/camera-test-left-mirrored.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test-left-mirrored.imageset/camera-test-left-mirrored.png -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test-right.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test-right.imageset/Contents.json -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test-right.imageset/camera-test-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test-right.imageset/camera-test-right.png -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test.imageset/Contents.json -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/camera-test.imageset/camera-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/camera-test.imageset/camera-test.png -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/large-test-photo.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/large-test-photo.imageset/Contents.json -------------------------------------------------------------------------------- /Tests/TestImages.xcassets/large-test-photo.imageset/large-test-photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/TestImages.xcassets/large-test-photo.imageset/large-test-photo.jpg -------------------------------------------------------------------------------- /Tests/UIImageUtilitiesPerformanceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/UIImageUtilitiesPerformanceTests.swift -------------------------------------------------------------------------------- /Tests/UIImageUtilitiesTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/UIImageUtilitiesTests.swift -------------------------------------------------------------------------------- /Tests/UIViewControllerSwiftttCameraTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/UIViewControllerSwiftttCameraTests.swift -------------------------------------------------------------------------------- /Tests/Utilities/UIPinchGestureRecognizerMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/Utilities/UIPinchGestureRecognizerMock.swift -------------------------------------------------------------------------------- /Tests/Utilities/UITapGestureRecognizerMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/Utilities/UITapGestureRecognizerMock.swift -------------------------------------------------------------------------------- /Tests/ZoomTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rogerluan/SwiftttCamera/HEAD/Tests/ZoomTests.swift --------------------------------------------------------------------------------