react-native-vision-camera/package/ios
Marc Rousavy cf4882b152
feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824)
* feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17)

* Rename `devices` -> `physicalDevices`

* fix: Comment out iOS 17 cameras for now

* fix: Move `supportsDepthCapture` to `format`

* fix: Fall back to `wide-angle-camera` for any unknown types

* Update CameraPage.tsx

* `descriptor` -> `physicalDeviceDescriptor`

* Update CameraDevice.ts

* Format

* feat: Expose `userPreferredCameraDevice`

Uses the new iOS 17 API where the user can prefer a default device, otherwise fall back to the first device of the available ones

* fix: Expose as property

* Add TODO comments

* fix: Format code

* fix: Compile below Swift 5.9
2023-09-21 16:29:46 +02:00
..
Extensions feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824) 2023-09-21 16:29:46 +02:00
Frame Processor fix: Fix passing options to frame processors on iOS (#1750) 2023-09-06 11:27:35 +02:00
Parsers feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824) 2023-09-21 16:29:46 +02:00
React Utils chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
VisionCamera.xcodeproj feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824) 2023-09-21 16:29:46 +02:00
.swift-version chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
.swiftformat chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
.swiftlint.yml chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraBridge.h feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784) 2023-09-21 11:20:33 +02:00
CameraDevicesManager.m feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784) 2023-09-21 11:20:33 +02:00
CameraDevicesManager.swift feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824) 2023-09-21 16:29:46 +02:00
CameraError.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraQueues.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+AVAudioSession.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+AVCaptureSession.swift feat: Add support for LiDAR, TrueDepth, External (USB) and Continuity Camera Devices (iOS 17) (#1824) 2023-09-21 16:29:46 +02:00
CameraView+Focus.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+Orientation.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+RecordVideo.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+TakePhoto.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+Torch.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraView+Zoom.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CameraViewManager.m feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784) 2023-09-21 11:20:33 +02:00
CameraViewManager.swift feat: New JS API for useCameraDevice and useCameraFormat and much faster getAvailableCameraDevices() (#1784) 2023-09-21 11:20:33 +02:00
PhotoCaptureDelegate.swift fix: Fix potential bug in Photo Orientation (#1765) 2023-09-06 11:30:58 +02:00
PreviewView.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
README.md chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
RecordingSession.swift chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00

ios

This folder contains the iOS-platform-specific code for react-native-vision-camera.

Prerequesites

  1. Install Xcode tools
    xcode-select --install
    
  2. Install need SwiftFormat and SwiftLint
    brew install swiftformat swiftlint
    

Getting Started

It is recommended that you work on the code using the Example project (example/ios/VisionCameraExample.xcworkspace), since that always includes the React Native header files, plus you can easily test changes that way.

You can however still edit the library project here by opening VisionCamera.xcodeproj, this has the advantage of automatically formatting your Code (swiftformat) and showing you Linter errors (swiftlint) when trying to build (+B).

Committing

Before committing, make sure that you're not violating the Swift or C++ codestyles. To do that, run the following command:

yarn check-ios

This will also try to automatically fix any errors by re-formatting the Swift code.