You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# Acuant JavaScript Web SDK v11.8.1
1
+
# Acuant JavaScript Web SDK v11.8.2
2
2
3
-
**March 2023**
3
+
**April 2023**
4
4
5
5
See [https://github.com/Acuant/JavascriptWebSDKV11/releases](https://github.com/Acuant/JavascriptWebSDKV11/releases) for release notes.
6
6
@@ -728,6 +728,12 @@ Web Workers/WASM and CDNs can be used together with workarounds. The following c
728
728
729
729
----------
730
730
731
+
## Using the SDK as part of an iOS or Android WebView
732
+
733
+
See the [WebView ReadMe](docs/WebViewReadMe.md) for documentation on WebViews.
734
+
735
+
----------
736
+
731
737
## Improved support for devices with extreme memory constraints.
732
738
733
739
Although the Web Workers use only a minimal amount of memory, you can reduce the memory usage by running only one of the Web Workers at a time. This is recommended only if you have severe memory constraints that you can not address any other way. Normally when both **AcauntImageWorker** and **AcuantMetricsWorker** are running simultaneously, they seamlessly make calls between themselves until they are ready to return a finished image that has been cropped and has had all the metrics run on it. If only one is running at a time, the workflow has to look like this:
@@ -743,9 +749,9 @@ Starting and stopping Workers is a very slow operation, so you will see performa
743
749
744
750
## Known Issues/FAQ
745
751
746
-
1. iPhone 13 Pro, 13 Pro Max, 14 Pro, and 14 Pro Max struggle to focus at close distances when running iOS 16.
752
+
1. iPhone 13 Pro, 13 Pro Max, 14 Pro, and 14 Pro Max struggle to focus at close distances when running iOS 16.0 through 16.3.
747
753
748
-
11.7.1 adds a workaround for this issue by having those devices capture from further away. This is a workaround for an issue in iOS 16. There is a more detailed explanation of both the issue and the workaround in the 11.7.1 section of the [Migration Details](docs/MigrationDetails.md). We have been in contact with Apple and they tell us that they are now aware of the issue and are looking into it.
754
+
11.7.1 adds a workaround for this issue by having those devices capture from farther away. This is a workaround for an issue in iOS 16. There is a more detailed explanation of both the issue and the workaround in the 11.7.1 section of the [Migration Details](docs/MigrationDetails.md). We have been in contact with Apple and as of iOS 16.4 Apple has provided us with the tools to fix this issue properly. This fix was released as part of 11.8.2.
749
755
750
756
1. iOS 15 has multiple issues that manifest themselves as GPU Highwater failures (ie system daemon used too much memory).
1. Override the following methods within 'webChromeClient' property of your WebView, using either an inline object or a custom class.
11
+
12
+
13
+
* This function is used to grant the relevant permissions to the webpage:
14
+
15
+
16
+
override fun onPermissionRequest(request: PermissionRequest) {
17
+
request.grant(request.resources)
18
+
}
19
+
20
+
* The following function implements the file selection dialog for the manual capture fallback (if the user does not grant or unexpectedly revokes the camera permission):
21
+
22
+
override fun onShowFileChooser(
23
+
webView: WebView?,
24
+
filePathCallback: ValueCallback<Array<Uri>>?,
25
+
fileChooserParams: FileChooserParams?
26
+
): Boolean {
27
+
//save the callback to be accessible to the on activity result function.
//create the file selection dialog intent from the params set by the webpage.
31
+
val intent = fileChooserParams!!.createIntent()
32
+
try {
33
+
//launch activity for result.
34
+
resultLauncher.launch(intent)
35
+
} catch (e: ActivityNotFoundException) {
36
+
//this exception is highly unlikely, but should be handled nonetheless. Since the file selection dialog is already the fallback to the main capture experience, assume the user is unable to proceed via the app.
37
+
return false
38
+
}
39
+
return true
40
+
}
41
+
42
+
* Then add the following at the activity level:
43
+
44
+
//the callback being saved to be accessible in the activity.
45
+
private var filePathCallback: ValueCallback<Array<Uri>>? = null
46
+
47
+
//the modern format of start activity for result.
48
+
private val resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
0 commit comments