Skip to content

Commit 8df28a9

Browse files
feat(mobile): add biometric plugin (#829)
* chore: update deps, make mobile script paths relative * feat(biometric): setup plugin folder * feat: implement iOS * add api * android * fix plugin name * also check empty info.plist entry * add example * fix android * supress * lint * better explanation * add partners & contributed by * change ext * license headers * update vite * add covector setup * tauri/dox removed * add example * docs --------- Co-authored-by: Lucas Nogueira <lucas@tauri.app>
1 parent fe79adb commit 8df28a9

48 files changed

Lines changed: 1503 additions & 29 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"biometric": major
3+
"biometric-js": major
4+
---
5+
6+
Initial release.

.changes/config.json

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,13 @@
7474
],
7575
"postversion": "pnpm install --no-frozen-lockfile"
7676
},
77-
7877
"deep-link-example-js": {
7978
"path": "./plugins/deep-link/examples/app",
8079
"manager": "javascript",
8180
"publish": false,
8281
"dependencies": ["deep-link-js"],
8382
"postversion": "pnpm install --no-frozen-lockfile"
8483
},
85-
8684
"authenticator": {
8785
"path": "./plugins/authenticator",
8886
"manager": "rust"
@@ -91,7 +89,6 @@
9189
"path": "./plugins/authenticator",
9290
"manager": "javascript"
9391
},
94-
9592
"autostart": {
9693
"path": "./plugins/autostart",
9794
"manager": "rust"
@@ -100,7 +97,6 @@
10097
"path": "./plugins/autostart",
10198
"manager": "javascript"
10299
},
103-
104100
"barcode-scanner": {
105101
"path": "./plugins/barcode-scanner",
106102
"manager": "rust"
@@ -109,7 +105,14 @@
109105
"path": "./plugins/barcode-scanner",
110106
"manager": "javascript"
111107
},
112-
108+
"biometric": {
109+
"path": "./plugins/biometric",
110+
"manager": "rust"
111+
},
112+
"biometric-js": {
113+
"path": "./plugins/biometric",
114+
"manager": "javascript"
115+
},
113116
"cli": {
114117
"path": "./plugins/cli",
115118
"manager": "rust"
@@ -118,7 +121,6 @@
118121
"path": "./plugins/cli",
119122
"manager": "javascript"
120123
},
121-
122124
"clipboard-manager": {
123125
"path": "./plugins/clipboard-manager",
124126
"manager": "rust"
@@ -127,7 +129,6 @@
127129
"path": "./plugins/clipboard-manager",
128130
"manager": "javascript"
129131
},
130-
131132
"deep-link": {
132133
"path": "./plugins/deep-link",
133134
"manager": "rust"
@@ -136,7 +137,6 @@
136137
"path": "./plugins/deep-link",
137138
"manager": "javascript"
138139
},
139-
140140
"fs": {
141141
"path": "./plugins/fs",
142142
"manager": "rust"
@@ -145,7 +145,6 @@
145145
"path": "./plugins/fs",
146146
"manager": "javascript"
147147
},
148-
149148
"dialog": {
150149
"path": "./plugins/dialog",
151150
"manager": "rust",
@@ -155,7 +154,6 @@
155154
"path": "./plugins/dialog",
156155
"manager": "javascript"
157156
},
158-
159157
"global-shortcut": {
160158
"path": "./plugins/global-shortcut",
161159
"manager": "rust"
@@ -164,7 +162,6 @@
164162
"path": "./plugins/global-shortcut",
165163
"manager": "javascript"
166164
},
167-
168165
"http": {
169166
"path": "./plugins/http",
170167
"manager": "rust",
@@ -174,12 +171,10 @@
174171
"path": "./plugins/http",
175172
"manager": "javascript"
176173
},
177-
178174
"localhost": {
179175
"path": "./plugins/localhost",
180176
"manager": "rust"
181177
},
182-
183178
"log-plugin": {
184179
"path": "./plugins/log",
185180
"manager": "rust"
@@ -206,7 +201,6 @@
206201
"path": "./plugins/notification",
207202
"manager": "javascript"
208203
},
209-
210204
"os": {
211205
"path": "./plugins/os",
212206
"manager": "rust"
@@ -215,13 +209,11 @@
215209
"path": "./plugins/os",
216210
"manager": "javascript"
217211
},
218-
219212
"persisted-scope": {
220213
"path": "./plugins/persisted-scope",
221214
"manager": "rust",
222215
"dependencies": ["fs"]
223216
},
224-
225217
"positioner": {
226218
"path": "./plugins/positioner",
227219
"manager": "rust"
@@ -230,7 +222,6 @@
230222
"path": "./plugins/positioner",
231223
"manager": "javascript"
232224
},
233-
234225
"process": {
235226
"path": "./plugins/process",
236227
"manager": "rust"
@@ -239,7 +230,6 @@
239230
"path": "./plugins/process",
240231
"manager": "javascript"
241232
},
242-
243233
"shell": {
244234
"path": "./plugins/shell",
245235
"manager": "rust"
@@ -248,12 +238,10 @@
248238
"path": "./plugins/shell",
249239
"manager": "javascript"
250240
},
251-
252241
"single-instance": {
253242
"path": "./plugins/single-instance",
254243
"manager": "rust"
255244
},
256-
257245
"sql": {
258246
"path": "./plugins/sql",
259247
"manager": "rust",
@@ -283,7 +271,6 @@
283271
"path": "./plugins/sql",
284272
"manager": "javascript"
285273
},
286-
287274
"store": {
288275
"path": "./plugins/store",
289276
"manager": "rust"
@@ -292,7 +279,6 @@
292279
"path": "./plugins/store",
293280
"manager": "javascript"
294281
},
295-
296282
"stronghold": {
297283
"path": "./plugins/stronghold",
298284
"manager": "rust"
@@ -301,7 +287,6 @@
301287
"path": "./plugins/stronghold",
302288
"manager": "javascript"
303289
},
304-
305290
"updater": {
306291
"path": "./plugins/updater",
307292
"manager": "rust"
@@ -310,7 +295,6 @@
310295
"path": "./plugins/updater",
311296
"manager": "javascript"
312297
},
313-
314298
"upload": {
315299
"path": "./plugins/upload",
316300
"manager": "rust"
@@ -319,7 +303,6 @@
319303
"path": "./plugins/upload",
320304
"manager": "javascript"
321305
},
322-
323306
"websocket": {
324307
"path": "./plugins/websocket",
325308
"manager": "rust"
@@ -328,7 +311,6 @@
328311
"path": "./plugins/websocket",
329312
"manager": "javascript"
330313
},
331-
332314
"window-state": {
333315
"path": "./plugins/window-state",
334316
"manager": "rust"

Cargo.lock

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/api/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"dependencies": {
1212
"@tauri-apps/api": "2.0.0-alpha.12",
1313
"@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.3",
14+
"@tauri-apps/plugin-biometric": "1.0.0",
1415
"@tauri-apps/plugin-cli": "2.0.0-alpha.4",
1516
"@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.4",
1617
"@tauri-apps/plugin-dialog": "2.0.0-alpha.4",

examples/api/src-tauri/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-alp
4848
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
4949
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-alpha.3" }
5050
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "1.0.0" }
51+
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "1.0.0" }
5152

5253
[target."cfg(target_os = \"windows\")".dependencies]
5354
window-shadows = "0.2"

examples/api/src-tauri/gen/android/.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/api/src-tauri/gen/android/.idea/misc.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/api/src-tauri/gen/apple/api_iOS/Info.plist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,7 @@
4444
<string>UIInterfaceOrientationLandscapeLeft</string>
4545
<string>UIInterfaceOrientationLandscapeRight</string>
4646
</array>
47+
<key>NSFaceIDUsageDescription</key>
48+
<string>Biometric Test</string>
4749
</dict>
4850
</plist>

examples/api/src-tauri/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ pub fn run() {
4848
{
4949
app.handle().plugin(tauri_plugin_barcode_scanner::init())?;
5050
app.handle().plugin(tauri_plugin_nfc::init())?;
51+
app.handle().plugin(tauri_plugin_biometric::init())?;
5152
}
5253

5354
let mut window_builder = WindowBuilder::new(app, "main", WindowUrl::default());

examples/api/src/App.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import Clipboard from "./views/Clipboard.svelte";
1818
import WebRTC from "./views/WebRTC.svelte";
1919
import Scanner from "./views/Scanner.svelte";
20+
import Biometric from "./views/Biometric.svelte";
2021
2122
import { onMount } from "svelte";
2223
import { ask } from "@tauri-apps/plugin-dialog";
@@ -113,6 +114,11 @@
113114
component: Nfc,
114115
icon: "i-ph-nfc",
115116
},
117+
isMobile && {
118+
label: "Biometric",
119+
component: Biometric,
120+
icon: "i-ph-scan",
121+
},
116122
];
117123
118124
let selected = views[0];

0 commit comments

Comments
 (0)