react-native-vision-camera/package/ios
Marc Rousavy ba1d7eec9c
feat: Use JSI's ArrayBuffer instead of TypedArray (#2408)
* feat: Use JSI's `ArrayBuffer` instead of `TypedArray`

* fix: Fix move memory

* feat: Implement iOS

* Format

* Update JSIJNIConversion.cpp

* fix: Fix Android `toArrayBuffer` and other

* Catch FP call errors

* Update return type

* Use `CPU_READ_OFTEN` flag as well

* CPU flag

* Run destructors under `jni::ThreadScope`

* Update FrameProcessorPluginHostObject.cpp

* fix: Fix `toArrayBuffer()` crash

* Update Frame.ts
2024-01-17 20:18:46 +01:00
..
Core chore: Update swiftlint to latest (#2398) 2024-01-16 18:01:41 +01:00
Extensions chore: Update swiftlint to latest (#2398) 2024-01-16 18:01:41 +01:00
Frame Processor feat: Use JSI's ArrayBuffer instead of TypedArray (#2408) 2024-01-17 20:18:46 +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: Add minFocusDistance prop to CameraDevice (#2392) 2024-01-15 19:30:20 +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: Update swiftlint to latest (#2398) 2024-01-16 18:01:41 +01:00
CameraBridge.h feat: Add zero-copy SharedArray type to Frame Processor Plugins (#2383) 2024-01-12 16:00:36 +01: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 fix: Fix blackscreen issues and lifecycle when closing Camera (#2339) 2024-01-08 11:41:57 +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 iOS native enableZoomGesture zoom logic (#2329) 2024-01-02 11:57:22 +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.