react-native-vision-camera/package/ios
Mateusz Mędrek a291642c53
feat: Reintroduce Macros for Frame Processor Plugin registration (#2027)
in VisionCamera v1 & v2 there were two ObjC macros that were helping
in creation/registration of Frame Processors, but these were removed with
v3

This PR reintroduces such macros, which will not only make FP development
easier, but also it will also fix issues people had with registration of
Swift Frame Processors (+load vs +initialize issues)

Docs were also updated to reflect that the macros should be used to
correctly initialize and register ObjC/Swift Frame Processors
2023-10-19 10:35:14 +02:00
..
Core fix: Fix torch not working on iOS (#2031) 2023-10-18 18:04:58 +02:00
Extensions fix: Fix build on Xcode 14 (#2033) 2023-10-18 18:25:30 +02:00
Frame Processor feat: Reintroduce Macros for Frame Processor Plugin registration (#2027) 2023-10-19 10:35:14 +02:00
Parsers feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
React Utils chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
Types chore: Rename CodeScanner to CodeScannerOptions in native (#2010) 2023-10-16 16:56:39 +02:00
VisionCamera.xcodeproj chore: Rename CodeScanner to CodeScannerOptions in native (#2010) 2023-10-16 16:56:39 +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 fix: Fix build on Xcode 14 (#2033) 2023-10-18 18:25:30 +02:00
CameraView.swift chore: Rename CodeScanner to CodeScannerOptions in native (#2010) 2023-10-16 16:56:39 +02:00
CameraView+Focus.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraView+RecordVideo.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraView+TakePhoto.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraView+Zoom.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraViewManager.m feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02:00
CameraViewManager.swift feat: New Core/ library (#1975) 2023-10-13 18:33:20 +02: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.