react-native-vision-camera/package/ios
Marc Rousavy 895f3ec889
feat: Make Frame thread-safe and improve error messages (#2327)
* fix: Fix multi-Thread access on Java

* fix: Thread-lock access on iOS as well

* whoops add missing header impl

* Update Podfile.lock

* fix: Don't use `CFGetRetainCount`

* fix: Lock access on iOS as well

* C++ format

* More detailed error

* chore: Move getters into `Frame`

* Format c++

* Use enum `orientation` again

* format

* fix: Synchronize `isValid` on Java

* Also log pixelformat

* feat: Use Java enums in C++

* Format C++
2023-12-29 14:09:56 +01:00
..
Core fix: Check torch only if needed (#2215) 2023-12-14 10:54:19 +01:00
Extensions fix: Fix minFps being wrong (#2248) 2023-12-04 11:41:56 +01:00
Frame Processor feat: Make Frame thread-safe and improve error messages (#2327) 2023-12-29 14:09:56 +01:00
Parsers fix: Fix iOS not reading videoCodec and videoBitRate from options (#2202) 2023-11-22 17:54:49 +01:00
React Utils chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
Types feat: Add width and height to VideoFile output (#2281) 2023-12-12 16:43:57 +01:00
VisionCamera.xcodeproj feat: Make Frame thread-safe and improve error messages (#2327) 2023-12-29 14:09:56 +01: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 fix: Fix Xcode 15 build error (var instead of let) (#2048) 2023-10-19 17:43:20 +02:00
CameraView.swift feat: Add onStarted and onStopped events (#2273) 2023-12-09 19:09:55 +01:00
CameraView+Focus.swift fix: Fix focus(..) on iOS (#2220) 2023-11-27 14:43:56 +01:00
CameraView+RecordVideo.swift fix: Fix torch not staying on while recording (#2249) 2023-12-04 11:43:17 +01:00
CameraView+TakePhoto.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraView+Zoom.swift fix: Fix torch not staying on while recording (#2249) 2023-12-04 11:43:17 +01:00
CameraViewManager.m perf: Make getCameraPermission and getMicrophonePermission synchronous (#2302) 2023-12-19 14:22:04 +01:00
CameraViewManager.swift perf: Make getCameraPermission and getMicrophonePermission synchronous (#2302) 2023-12-19 14:22:04 +01:00
README.md 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.