react-native-vision-camera/ios
Marc Rousavy fa5f5c0cab
feat: Implement Frame.close() (#229)
* Implement `Frame.close()`

* close frame in dtor

* Update JImageProxyHostObject.cpp

* fix close

* Check if closed

* remove a few logs

* r

* fix `isValid` and `isReady`

* Add JImage

* Release JNI frame ref on destroy

* fix pod setup

* Fix isValid call

* Fix `close` not returning a function

* throw error if closed twice

* iOS: Schedule `console.error` call on JS thread

* Android: Log Frame Processor Error to JS

* fix syntax

* Check if valid `toString()`

* Update Frame.ts

* Remove `isReady`

* Fix JImage accessors

* remove `JImage` C++ sources

* Throw error if accessing props on closed Frame

* Delete `JImage.h`
2021-07-06 10:08:44 +02:00
..
Extensions chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
Frame Processor feat: Implement Frame.close() (#229) 2021-07-06 10:08:44 +02:00
Parsers chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
React Utils chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
VisionCamera.xcodeproj try: Improvements from WWDC 2021 1:1 workshop (#197) 2021-06-11 21:06:19 +02:00
.swift-version Run SwiftFormat in GH Action (#28) 2021-03-09 10:53:29 +01:00
.swiftformat Reformat (#116) 2021-03-31 15:43:29 +02:00
.swiftlint.yml Run SwiftFormat in GH Action (#28) 2021-03-09 10:53:29 +01:00
CameraBridge.h chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraError.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraQueues.swift try: Improvements from WWDC 2021 1:1 workshop (#197) 2021-06-11 21:06:19 +02:00
CameraView.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraView+AVAudioSession.swift chore: Cleanup void returns (#187) 2021-06-09 11:14:49 +02:00
CameraView+AVCaptureSession.swift fix: Correctly catch unsupported colorSpace errors 2021-06-12 11:21:26 +02:00
CameraView+Focus.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraView+RecordVideo.swift perf: Avoid expensive CMSampleBuffer copy (#235) 2021-07-06 09:25:11 +02:00
CameraView+TakePhoto.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraView+Zoom.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraViewManager.m chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CameraViewManager.swift feat: Frame Processors for Android (#196) 2021-06-27 12:37:54 +02:00
PhotoCaptureDelegate.swift chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
README.md Add "check-all" script 2021-03-09 12:19:18 +01:00
RecordingSession.swift try: Improvements from WWDC 2021 1:1 workshop (#197) 2021-06-11 21:06:19 +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.