expo-camera 57.0.0 → 57.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/android/build.gradle +2 -2
- package/expo-module.config.json +1 -1
- package/ios/CameraViewModule.swift +6 -2
- package/ios/Current/CameraSessionManager.swift +22 -6
- package/ios/Current/CameraView.swift +90 -14
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.module → 57.0.1/expo.modules.camera-57.0.1.module} +7 -7
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.module.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.module.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.module.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.module.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.pom → 57.0.1/expo.modules.camera-57.0.1.pom} +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.pom.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.pom.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.pom.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.1/expo.modules.camera-57.0.1.pom.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml +4 -4
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha512 +1 -1
- package/package.json +4 -4
- package/prebuilds/output/debug/xcframeworks/ExpoCamera.tar.gz +0 -0
- package/prebuilds/output/debug/xcframeworks/ExpoCameraBarcodeScanning.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoCamera.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoCameraBarcodeScanning.tar.gz +0 -0
- package/prebuilds/spm-deps/ZXingObjC/debug/ZXingObjC.xcframework/Info.plist +5 -5
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.module.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.module.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.module.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.module.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.pom.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.pom.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.pom.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.camera/57.0.0/expo.modules.camera-57.0.0.pom.sha512 +0 -1
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0-sources.jar → 57.0.1/expo.modules.camera-57.0.1-sources.jar} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0-sources.jar.md5 → 57.0.1/expo.modules.camera-57.0.1-sources.jar.md5} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0-sources.jar.sha1 → 57.0.1/expo.modules.camera-57.0.1-sources.jar.sha1} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0-sources.jar.sha256 → 57.0.1/expo.modules.camera-57.0.1-sources.jar.sha256} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0-sources.jar.sha512 → 57.0.1/expo.modules.camera-57.0.1-sources.jar.sha512} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.aar → 57.0.1/expo.modules.camera-57.0.1.aar} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.aar.md5 → 57.0.1/expo.modules.camera-57.0.1.aar.md5} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.aar.sha1 → 57.0.1/expo.modules.camera-57.0.1.aar.sha1} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.aar.sha256 → 57.0.1/expo.modules.camera-57.0.1.aar.sha256} +0 -0
- /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{57.0.0/expo.modules.camera-57.0.0.aar.sha512 → 57.0.1/expo.modules.camera-57.0.1.aar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,19 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 57.0.1 — 2026-07-07
|
|
14
|
+
|
|
15
|
+
### 🎉 New features
|
|
16
|
+
|
|
17
|
+
- Enabled responsive capture and fast capture prioritization on iOS for lower shutter lag and faster successive photo captures.
|
|
18
|
+
|
|
19
|
+
### 🐛 Bug fixes
|
|
20
|
+
|
|
21
|
+
- Host the iOS camera preview on the view's backing layer so it no longer zooms into place on launch. ([#47172](https://github.com/expo/expo/pull/47172) by [@alanjhughes](https://github.com/alanjhughes))
|
|
22
|
+
- Replace the deprecated `videoOrientation` API with `AVCaptureDevice.RotationCoordinator` for the iOS camera preview. ([#47172](https://github.com/expo/expo/pull/47172) by [@alanjhughes](https://github.com/alanjhughes))
|
|
23
|
+
- Fix dark frames and the preview rotating into place on iOS launch by fully configuring the camera session before it starts running. ([#47173](https://github.com/expo/expo/pull/47173) by [@alanjhughes](https://github.com/alanjhughes))
|
|
24
|
+
- Default the iOS camera `pictureSize` to `photo` instead of `high`. ([#47173](https://github.com/expo/expo/pull/47173) by [@alanjhughes](https://github.com/alanjhughes))
|
|
25
|
+
|
|
13
26
|
## 57.0.0 — 2026-06-25
|
|
14
27
|
|
|
15
28
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -4,7 +4,7 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'host.exp.exponent'
|
|
7
|
-
version = '57.0.
|
|
7
|
+
version = '57.0.1'
|
|
8
8
|
|
|
9
9
|
def barcodeScannerEnabled = findProperty('expo.camera.barcode-scanner-enabled')
|
|
10
10
|
def isBarcodeScannerEnabled = (barcodeScannerEnabled ?: "true").toString() != "false"
|
|
@@ -13,7 +13,7 @@ android {
|
|
|
13
13
|
namespace "expo.modules.camera"
|
|
14
14
|
defaultConfig {
|
|
15
15
|
versionCode 32
|
|
16
|
-
versionName "57.0.
|
|
16
|
+
versionName "57.0.1"
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
package/expo-module.config.json
CHANGED
|
@@ -73,6 +73,10 @@ public final class CameraViewModule: Module, ScannerResultHandler {
|
|
|
73
73
|
View(CameraView.self) {
|
|
74
74
|
Events(cameraEvents)
|
|
75
75
|
|
|
76
|
+
OnViewDidUpdateProps { (view: CameraView) in
|
|
77
|
+
view.startSessionIfNeeded()
|
|
78
|
+
}
|
|
79
|
+
|
|
76
80
|
Prop("facing") { (view, type: CameraType?) in
|
|
77
81
|
if let type, view.presetCamera != type.toPosition() {
|
|
78
82
|
view.presetCamera = type.toPosition()
|
|
@@ -117,8 +121,8 @@ public final class CameraViewModule: Module, ScannerResultHandler {
|
|
|
117
121
|
view.pictureSize = pictureSize
|
|
118
122
|
return
|
|
119
123
|
}
|
|
120
|
-
if pictureSize == nil && view.pictureSize != .
|
|
121
|
-
view.pictureSize = .
|
|
124
|
+
if pictureSize == nil && view.pictureSize != .photo {
|
|
125
|
+
view.pictureSize = .photo
|
|
122
126
|
}
|
|
123
127
|
}
|
|
124
128
|
|
|
@@ -21,7 +21,7 @@ protocol CameraSessionManagerDelegate: AnyObject {
|
|
|
21
21
|
var barcodeScanner: BarcodeScanner? { get }
|
|
22
22
|
|
|
23
23
|
func emitAvailableLenses()
|
|
24
|
-
func
|
|
24
|
+
func configurePreviewRotation()
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
class CameraSessionManager: NSObject, DeviceDiscoveryDelegate {
|
|
@@ -132,6 +132,9 @@ class CameraSessionManager: NSObject, DeviceDiscoveryDelegate {
|
|
|
132
132
|
} else {
|
|
133
133
|
self.cleanupMovieFileCapture(withSessionConfiguration: false)
|
|
134
134
|
self.updateSessionPreset(preset: delegate.pictureSize.toCapturePreset(), withSessionConfiguration: false)
|
|
135
|
+
if let photoOutput {
|
|
136
|
+
self.configureResponsiveCapture(photoOutput)
|
|
137
|
+
}
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
140
|
|
|
@@ -329,10 +332,15 @@ class CameraSessionManager: NSObject, DeviceDiscoveryDelegate {
|
|
|
329
332
|
return
|
|
330
333
|
}
|
|
331
334
|
|
|
335
|
+
if captureDeviceInput?.device.uniqueID == device.uniqueID {
|
|
336
|
+
return
|
|
337
|
+
}
|
|
338
|
+
|
|
332
339
|
session.beginConfiguration()
|
|
333
340
|
defer {
|
|
334
341
|
session.commitConfiguration()
|
|
335
342
|
delegate.emitAvailableLenses()
|
|
343
|
+
delegate.configurePreviewRotation()
|
|
336
344
|
}
|
|
337
345
|
if let captureDeviceInput {
|
|
338
346
|
session.removeInput(captureDeviceInput)
|
|
@@ -360,6 +368,16 @@ class CameraSessionManager: NSObject, DeviceDiscoveryDelegate {
|
|
|
360
368
|
return AVCaptureDevice.default(for: .video) != nil
|
|
361
369
|
}
|
|
362
370
|
|
|
371
|
+
private func configureResponsiveCapture(_ photoOutput: AVCapturePhotoOutput) {
|
|
372
|
+
guard #available(iOS 17.0, *), photoOutput.isResponsiveCaptureSupported else {
|
|
373
|
+
return
|
|
374
|
+
}
|
|
375
|
+
photoOutput.isResponsiveCaptureEnabled = true
|
|
376
|
+
if photoOutput.isFastCapturePrioritizationSupported {
|
|
377
|
+
photoOutput.isFastCapturePrioritizationEnabled = true
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
363
381
|
private func startSession() {
|
|
364
382
|
guard hasAvailableCameraDevice else {
|
|
365
383
|
return
|
|
@@ -390,14 +408,12 @@ class CameraSessionManager: NSObject, DeviceDiscoveryDelegate {
|
|
|
390
408
|
: delegate.pictureSize.toCapturePreset()
|
|
391
409
|
updateSessionPreset(preset: preset, withSessionConfiguration: false)
|
|
392
410
|
|
|
411
|
+
configureResponsiveCapture(photoOutput)
|
|
412
|
+
|
|
393
413
|
session.commitConfiguration()
|
|
394
414
|
addErrorNotification()
|
|
395
|
-
delegate.
|
|
415
|
+
delegate.configurePreviewRotation()
|
|
396
416
|
delegate.barcodeScanner?.maybeStartBarcodeScanning()
|
|
397
|
-
updateCameraIsActive()
|
|
398
|
-
DispatchQueue.main.async { [weak delegate] in
|
|
399
|
-
delegate?.onCameraReady()
|
|
400
|
-
}
|
|
401
417
|
enableTorch()
|
|
402
418
|
}
|
|
403
419
|
}
|
|
@@ -17,9 +17,21 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
17
17
|
internal var permissionsManager: EXPermissionsInterface?
|
|
18
18
|
|
|
19
19
|
internal var barcodeScanner: BarcodeScanner?
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
public override class var layerClass: AnyClass {
|
|
22
|
+
AVCaptureVideoPreviewLayer.self
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
internal var previewLayer: AVCaptureVideoPreviewLayer {
|
|
26
|
+
// swiftlint:disable:next force_cast
|
|
27
|
+
layer as! AVCaptureVideoPreviewLayer
|
|
28
|
+
}
|
|
21
29
|
|
|
22
30
|
internal var physicalOrientation: UIDeviceOrientation = .unknown
|
|
31
|
+
// Typed as Any? because AVCaptureDevice.RotationCoordinator is iOS 17+.
|
|
32
|
+
private var rotationCoordinator: Any?
|
|
33
|
+
private var previewRotationObservation: NSKeyValueObservation?
|
|
34
|
+
private var didStartSession = false
|
|
23
35
|
private var motionManager: CMMotionManager = {
|
|
24
36
|
let mm = CMMotionManager()
|
|
25
37
|
mm.accelerometerUpdateInterval = 0.2
|
|
@@ -86,7 +98,7 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
86
98
|
}
|
|
87
99
|
}
|
|
88
100
|
|
|
89
|
-
var pictureSize = PictureSize.
|
|
101
|
+
var pictureSize = PictureSize.photo {
|
|
90
102
|
didSet {
|
|
91
103
|
updatePictureSize()
|
|
92
104
|
}
|
|
@@ -173,11 +185,27 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
173
185
|
}
|
|
174
186
|
|
|
175
187
|
private func setupPreview() {
|
|
176
|
-
previewLayer =
|
|
188
|
+
previewLayer.session = sessionManager.session
|
|
177
189
|
previewLayer.videoGravity = .resizeAspectFill
|
|
178
190
|
previewLayer.needsDisplayOnBoundsChange = true
|
|
179
191
|
}
|
|
180
192
|
|
|
193
|
+
func startSessionIfNeeded() {
|
|
194
|
+
guard !didStartSession else {
|
|
195
|
+
return
|
|
196
|
+
}
|
|
197
|
+
didStartSession = true
|
|
198
|
+
sessionQueue.async { [weak self] in
|
|
199
|
+
guard let self else {
|
|
200
|
+
return
|
|
201
|
+
}
|
|
202
|
+
self.sessionManager.updateCameraIsActive()
|
|
203
|
+
DispatchQueue.main.async {
|
|
204
|
+
self.onCameraReady()
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
181
209
|
public func onAppForegrounded() {
|
|
182
210
|
sessionQueue.async { [weak self] in
|
|
183
211
|
guard let self else {
|
|
@@ -288,15 +316,11 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
288
316
|
videoRecording.toggleRecording(videoFileOutput: videoFileOutput)
|
|
289
317
|
}
|
|
290
318
|
|
|
291
|
-
public override func
|
|
292
|
-
super.
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
self.layer.insertSublayer(previewLayer, at: 0)
|
|
297
|
-
} else if previewLayer.superlayer !== self.layer {
|
|
298
|
-
previewLayer.removeFromSuperlayer()
|
|
299
|
-
self.layer.insertSublayer(previewLayer, at: 0)
|
|
319
|
+
public override func didMoveToWindow() {
|
|
320
|
+
super.didMoveToWindow()
|
|
321
|
+
if window != nil {
|
|
322
|
+
configurePreviewRotation()
|
|
323
|
+
startSessionIfNeeded()
|
|
300
324
|
}
|
|
301
325
|
}
|
|
302
326
|
|
|
@@ -309,6 +333,9 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
309
333
|
lifecycleManager?.unregisterAppLifecycleListener(self)
|
|
310
334
|
UIDevice.current.endGeneratingDeviceOrientationNotifications()
|
|
311
335
|
NotificationCenter.default.removeObserver(self, name: UIDevice.orientationDidChangeNotification, object: nil)
|
|
336
|
+
previewRotationObservation?.invalidate()
|
|
337
|
+
previewRotationObservation = nil
|
|
338
|
+
rotationCoordinator = nil
|
|
312
339
|
}
|
|
313
340
|
|
|
314
341
|
func stopRecording() {
|
|
@@ -324,10 +351,58 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
324
351
|
}
|
|
325
352
|
|
|
326
353
|
@objc func orientationChanged() {
|
|
327
|
-
|
|
354
|
+
// On iOS 17+ the RotationCoordinator's KVO drives preview rotation; the legacy
|
|
355
|
+
// notification path is only needed on iOS 16.
|
|
356
|
+
if #available(iOS 17.0, *) {
|
|
357
|
+
return
|
|
358
|
+
}
|
|
359
|
+
applyLegacyPreviewOrientation()
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
func configurePreviewRotation() {
|
|
363
|
+
if #available(iOS 17.0, *) {
|
|
364
|
+
Task { @MainActor in
|
|
365
|
+
self.setUpRotationCoordinator()
|
|
366
|
+
}
|
|
367
|
+
} else {
|
|
368
|
+
applyLegacyPreviewOrientation()
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
@available(iOS 17.0, *)
|
|
373
|
+
private func setUpRotationCoordinator() {
|
|
374
|
+
previewRotationObservation?.invalidate()
|
|
375
|
+
previewRotationObservation = nil
|
|
376
|
+
|
|
377
|
+
guard let device = sessionManager.currentDevice else {
|
|
378
|
+
rotationCoordinator = nil
|
|
379
|
+
return
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
let coordinator = AVCaptureDevice.RotationCoordinator(device: device, previewLayer: previewLayer)
|
|
383
|
+
rotationCoordinator = coordinator
|
|
384
|
+
applyPreviewRotationAngle(from: coordinator)
|
|
385
|
+
|
|
386
|
+
previewRotationObservation = coordinator.observe(
|
|
387
|
+
\.videoRotationAngleForHorizonLevelPreview,
|
|
388
|
+
options: [.new]
|
|
389
|
+
) { [weak self] coordinator, _ in
|
|
390
|
+
self?.applyPreviewRotationAngle(from: coordinator)
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
@available(iOS 17.0, *)
|
|
395
|
+
private func applyPreviewRotationAngle(from coordinator: AVCaptureDevice.RotationCoordinator) {
|
|
396
|
+
guard let connection = previewLayer.connection else {
|
|
397
|
+
return
|
|
398
|
+
}
|
|
399
|
+
let angle = coordinator.videoRotationAngleForHorizonLevelPreview
|
|
400
|
+
if connection.isVideoRotationAngleSupported(angle) {
|
|
401
|
+
connection.videoRotationAngle = angle
|
|
402
|
+
}
|
|
328
403
|
}
|
|
329
404
|
|
|
330
|
-
func
|
|
405
|
+
private func applyLegacyPreviewOrientation() {
|
|
331
406
|
// We shouldn't access the device orientation anywhere but on the main thread
|
|
332
407
|
Task { @MainActor in
|
|
333
408
|
let videoOrientation = ExpoCameraUtils.videoOrientation(for: deviceOrientation)
|
|
@@ -355,6 +430,7 @@ public class CameraView: ExpoView, EXAppLifecycleListener, EXCameraInterface, Ca
|
|
|
355
430
|
}
|
|
356
431
|
|
|
357
432
|
deinit {
|
|
433
|
+
previewRotationObservation?.invalidate()
|
|
358
434
|
motionManager.stopAccelerometerUpdates()
|
|
359
435
|
photoCapture.cleanup()
|
|
360
436
|
videoRecording.cleanup()
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "host.exp.exponent",
|
|
5
5
|
"module": "expo.modules.camera",
|
|
6
|
-
"version": "57.0.
|
|
6
|
+
"version": "57.0.1",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
],
|
|
41
41
|
"files": [
|
|
42
42
|
{
|
|
43
|
-
"name": "expo.modules.camera-57.0.
|
|
44
|
-
"url": "expo.modules.camera-57.0.
|
|
43
|
+
"name": "expo.modules.camera-57.0.1.aar",
|
|
44
|
+
"url": "expo.modules.camera-57.0.1.aar",
|
|
45
45
|
"size": 270633,
|
|
46
46
|
"sha512": "637c03d540b89884662202f29d475469ed5ee0b807134c899289652c9ae03ef5fca3d69c0eb15da09d8b13765b12b21bbb7bdf41a234aace6c7cd546b9ed427b",
|
|
47
47
|
"sha256": "fe2ac229ce3e52d901327cb9ac77de52dd63c2d7cb60776006ce9c8db390006a",
|
|
@@ -167,8 +167,8 @@
|
|
|
167
167
|
],
|
|
168
168
|
"files": [
|
|
169
169
|
{
|
|
170
|
-
"name": "expo.modules.camera-57.0.
|
|
171
|
-
"url": "expo.modules.camera-57.0.
|
|
170
|
+
"name": "expo.modules.camera-57.0.1.aar",
|
|
171
|
+
"url": "expo.modules.camera-57.0.1.aar",
|
|
172
172
|
"size": 270633,
|
|
173
173
|
"sha512": "637c03d540b89884662202f29d475469ed5ee0b807134c899289652c9ae03ef5fca3d69c0eb15da09d8b13765b12b21bbb7bdf41a234aace6c7cd546b9ed427b",
|
|
174
174
|
"sha256": "fe2ac229ce3e52d901327cb9ac77de52dd63c2d7cb60776006ce9c8db390006a",
|
|
@@ -187,8 +187,8 @@
|
|
|
187
187
|
},
|
|
188
188
|
"files": [
|
|
189
189
|
{
|
|
190
|
-
"name": "expo.modules.camera-57.0.
|
|
191
|
-
"url": "expo.modules.camera-57.0.
|
|
190
|
+
"name": "expo.modules.camera-57.0.1-sources.jar",
|
|
191
|
+
"url": "expo.modules.camera-57.0.1-sources.jar",
|
|
192
192
|
"size": 28209,
|
|
193
193
|
"sha512": "9ed0d19dd71703067089542f01795ddf07b581cd745cda6bd89d4125c3a31e19fd283f9e7ce47d83a2ee13470ef37ca0a3ff688796ad9970e7805a3e0c1fb42c",
|
|
194
194
|
"sha256": "a200687bd96e181fe03a9b208c5fcd35d98e8924c9e170f242c8048be21bc21e",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4f678809881e4a53b1162779225382a8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8a7d855ea2b2c74795ef7b0b102599babc5de418
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
7e8aa1c8801fdf284d6e830073406f81402c87d3f33b8836299630645a59a77d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
90edd0b4c2f73993f002f51674cf5a96cbf41af6f6ec790066eba8873bdfd6c97e1317cda6ef910b8edaa7056d81e373e6e30fdf28b05dcc691f5380019d81b1
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>host.exp.exponent</groupId>
|
|
11
11
|
<artifactId>expo.modules.camera</artifactId>
|
|
12
|
-
<version>57.0.
|
|
12
|
+
<version>57.0.1</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.camera</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0e5e60e52e7147cd87a0a442cbd85461
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2adbefeab6bb71aa63527cb957ae0d70fb48c146
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
572822db7a11fa392a7ae21b71364c3242ef7a398e321cda8fcca177cf3f3efa
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d9a287ae9cbd40546b8c6db4fe8d5fbda63b448e90a271c7461066aa252d16219044b3a9b806138d5c6bb28c7a4709b10fa6ff04d03b5a0cb197ac5b1c00ba1e
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>host.exp.exponent</groupId>
|
|
4
4
|
<artifactId>expo.modules.camera</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>57.0.
|
|
7
|
-
<release>57.0.
|
|
6
|
+
<latest>57.0.1</latest>
|
|
7
|
+
<release>57.0.1</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>57.0.
|
|
9
|
+
<version>57.0.1</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20260707083422</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
af7e2f7927c2be9404264c336134d0f0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
453151f63b7aeb2e9f61257dedddd901d78a8861
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
e4020c150b6dacc73ab00b193a07cc1c823118494b08daef59683a906fbb2141
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d0b95fca46fe8a612d4b1e4080f15be80744c010548d5a90d6a1598df8b7223b0d42474ee3c46fd798e941707f9d6c98ff832ec1047c5152e67ff85336e4822b
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-camera",
|
|
3
|
-
"version": "57.0.
|
|
3
|
+
"version": "57.0.1",
|
|
4
4
|
"description": "A React component that renders a preview for the device's either front or back camera. Camera's parameters like zoom, auto focus, white balance and flash mode are adjustable. With expo-camera, one can also take photos and record videos that are saved to the app's cache. Morever, the component is also capable of detecting faces and bar codes appearing on the preview.",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/react": "~19.2.0",
|
|
32
32
|
"@types/node": "^22.14.0",
|
|
33
|
-
"expo": "
|
|
34
|
-
"expo
|
|
33
|
+
"expo-module-scripts": "56.0.3",
|
|
34
|
+
"expo": "57.0.3"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"expo": "*",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"optional": true
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "6ffed84381e2d2bb80c2fc713d99724f707d6c06",
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "expo-module build",
|
|
50
50
|
"clean": "expo-module clean",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -8,32 +8,32 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>ZXingObjC.framework/ZXingObjC</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-
|
|
11
|
+
<string>ios-arm64</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>ZXingObjC.framework</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
15
15
|
<array>
|
|
16
16
|
<string>arm64</string>
|
|
17
|
-
<string>x86_64</string>
|
|
18
17
|
</array>
|
|
19
18
|
<key>SupportedPlatform</key>
|
|
20
19
|
<string>ios</string>
|
|
21
|
-
<key>SupportedPlatformVariant</key>
|
|
22
|
-
<string>simulator</string>
|
|
23
20
|
</dict>
|
|
24
21
|
<dict>
|
|
25
22
|
<key>BinaryPath</key>
|
|
26
23
|
<string>ZXingObjC.framework/ZXingObjC</string>
|
|
27
24
|
<key>LibraryIdentifier</key>
|
|
28
|
-
<string>ios-
|
|
25
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
29
26
|
<key>LibraryPath</key>
|
|
30
27
|
<string>ZXingObjC.framework</string>
|
|
31
28
|
<key>SupportedArchitectures</key>
|
|
32
29
|
<array>
|
|
33
30
|
<string>arm64</string>
|
|
31
|
+
<string>x86_64</string>
|
|
34
32
|
</array>
|
|
35
33
|
<key>SupportedPlatform</key>
|
|
36
34
|
<string>ios</string>
|
|
35
|
+
<key>SupportedPlatformVariant</key>
|
|
36
|
+
<string>simulator</string>
|
|
37
37
|
</dict>
|
|
38
38
|
</array>
|
|
39
39
|
<key>CFBundlePackageType</key>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1c0c570528605671a15b1a401d794f94
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cd84abdf6a8d7a5b335f29f9a11d13fbbfd0dae2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
caaef682cc2f439d66f39358196b51a3c0650289d985d798d46a974dbd1642f0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
35c89cf048bb959655efa1b64d2923b305607fa7e7f2aa10f51d528c6b29abdebebaea93ce739b3b090deae5c15ea1f123a3c52b1d31f505340355a6261d2b0b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5852f0095eb729b01eafc9a3802b5408
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a769ae9333c84ab8ada191db2fddc53a27fe827c
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ce51ea4003d5a68783b1340ce0a63da894106b3a00db63f495aa9c37aac4e321
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
486714bbc50e5de8f1aff4388f2af8d1008667afc3ca1907a8b0f0281fd391c976b4d3cdb5152fea5654e50574fe631040ca200bb9cb1396746486474fa70860
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|