├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── demo ├── app │ ├── App_Resources │ │ ├── Android │ │ │ ├── app.gradle │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-ldpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-nodpi │ │ │ │ └── splash_screen.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── values-v21 │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ └── iOS │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── icon-1024.png │ │ │ │ ├── icon-20.png │ │ │ │ ├── icon-20@2x.png │ │ │ │ ├── icon-20@3x.png │ │ │ │ ├── icon-29.png │ │ │ │ ├── icon-29@2x.png │ │ │ │ ├── icon-29@3x.png │ │ │ │ ├── icon-40.png │ │ │ │ ├── icon-40@2x.png │ │ │ │ ├── icon-40@3x.png │ │ │ │ ├── icon-60@2x.png │ │ │ │ ├── icon-60@3x.png │ │ │ │ ├── icon-76.png │ │ │ │ ├── icon-76@2x.png │ │ │ │ └── icon-83.5@2x.png │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.launchimage │ │ │ │ ├── Contents.json │ │ │ │ ├── Default-1125h.png │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default-667h@2x.png │ │ │ │ ├── Default-736h@3x.png │ │ │ │ ├── Default-Landscape-X.png │ │ │ │ ├── Default-Landscape-XR.png │ │ │ │ ├── Default-Landscape-XS-Max.png │ │ │ │ ├── Default-Landscape.png │ │ │ │ ├── Default-Landscape@2x.png │ │ │ │ ├── Default-Landscape@3x.png │ │ │ │ ├── Default-Portrait-XR.png │ │ │ │ ├── Default-Portrait-XS-Max.png │ │ │ │ ├── Default-Portrait.png │ │ │ │ ├── Default-Portrait@2x.png │ │ │ │ ├── Default.png │ │ │ │ └── Default@2x.png │ │ │ ├── LaunchScreen.AspectFill.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-AspectFill.png │ │ │ │ ├── LaunchScreen-AspectFill@2x.png │ │ │ │ └── LaunchScreen-AspectFill@3x.png │ │ │ └── LaunchScreen.Center.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-Center.png │ │ │ │ ├── LaunchScreen-Center@2x.png │ │ │ │ └── LaunchScreen-Center@3x.png │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ └── build.xcconfig │ ├── app-root.xml │ ├── app.css │ ├── app.ts │ ├── main-page.ts │ ├── main-page.xml │ ├── main-view-model.ts │ ├── package.json │ ├── res │ │ └── telerik-logo.png │ ├── tests │ │ └── tests.js │ └── tsconfig.json ├── karma.conf.js ├── nsconfig.json ├── package.json ├── references.d.ts ├── tsconfig.json ├── tsconfig.tns.json └── webpack.config.js ├── media ├── fingerprint.png ├── ios-demo-01.png ├── ios-demo-02.png ├── ios-demo-03.png ├── ios-demo-04.png └── ios-demo-05.png ├── publish ├── pack.sh ├── package-lock.json ├── package.json └── publish.sh ├── src ├── .npmignore ├── fingerprint-auth.android.ts ├── fingerprint-auth.common.ts ├── fingerprint-auth.ios.ts ├── index.d.ts ├── package.json ├── platforms │ ├── android │ │ ├── AndroidManifest.xml │ │ └── include.gradle │ └── ios │ │ └── Info.plist ├── references.d.ts └── tsconfig.json └── tslint.json /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .vscode 3 | .DS_Store 4 | *.js 5 | *.log 6 | *.map 7 | *.tgz 8 | *.aar 9 | !src/angular/*.js 10 | !demo/karma.conf.js 11 | !demo/app/tests/*.js 12 | !demo/webpack.config.js 13 | demo/*.d.ts 14 | !demo/references.d.ts 15 | src/*.d.ts 16 | !src/index.d.ts 17 | !src/references.d.ts 18 | demo/package-lock.json 19 | demo/lib 20 | demo/platforms 21 | node_modules 22 | demo/hooks/ 23 | publish/package/ 24 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | android: 2 | components: 3 | - tools 4 | - platform-tools 5 | - build-tools-28.0.3 6 | - android-28 7 | - extra-android-m2repository 8 | - sys-img-armeabi-v7a-android-21 9 | 10 | before_install: 11 | - sudo pip install --upgrade pip 12 | - sudo pip install six 13 | 14 | before_cache: 15 | - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock 16 | 17 | cache: 18 | directories: 19 | - .nvm 20 | - $HOME/.gradle/caches/ 21 | - $HOME/.gradle/wrapper/ 22 | 23 | install: 24 | - echo no | npm install -g nativescript@6 25 | - tns usage-reporting disable 26 | - tns error-reporting disable 27 | - npm install 28 | - cd src 29 | - npm run setup 30 | 31 | script: 32 | 33 | 34 | matrix: 35 | include: 36 | - stage: "Lint" 37 | language: node_js 38 | os: linux 39 | node_js: "10" 40 | script: "npm run ci.tslint" 41 | - stage: "WebPack" 42 | os: osx 43 | env: 44 | - Webpack="iOS" 45 | osx_image: xcode11.2 46 | language: node_js 47 | node_js: "10" 48 | jdk: oraclejdk8 49 | script: pod repo update && cd ../demo && travis_wait travis_retry tns build ios --bundle 50 | - language: android 51 | os: linux 52 | env: 53 | - Webpack="Android" 54 | jdk: oraclejdk8 55 | before_install: nvm install 10 56 | script: cd ../demo && travis_wait travis_retry tns build android --bundle 57 | - stage: "Build" 58 | env: 59 | - BuildAndroid="28" 60 | language: android 61 | os: linux 62 | jdk: oraclejdk8 63 | before_install: nvm install 10 64 | script: 65 | - cd ../demo && travis_wait travis_retry tns build android 66 | - os: osx 67 | env: 68 | - BuildiOS="12" 69 | - Xcode="11.0" 70 | osx_image: xcode11.2 71 | language: node_js 72 | node_js: "10" 73 | jdk: oraclejdk8 74 | script: 75 | - pod repo update && cd ../demo && travis_wait travis_retry tns build ios 76 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2015 - Present, Eddy Verbruggen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NativeScript Fingerprint Authentication 2 | 3 | > Also works with Face ID on iPhones 🚀 4 | 5 | [![Build Status][build-status]][build-url] 6 | [![NPM version][npm-image]][npm-url] 7 | [![Downloads][downloads-image]][npm-url] 8 | [![Twitter Follow][twitter-image]][twitter-url] 9 | 10 | [build-status]:https://travis-ci.org/EddyVerbruggen/nativescript-fingerprint-auth.svg?branch=master 11 | [build-url]:https://travis-ci.org/EddyVerbruggen/nativescript-fingerprint-auth 12 | [npm-image]:http://img.shields.io/npm/v/nativescript-fingerprint-auth.svg 13 | [npm-url]:https://npmjs.org/package/nativescript-fingerprint-auth 14 | [downloads-image]:http://img.shields.io/npm/dm/nativescript-fingerprint-auth.svg 15 | [twitter-image]:https://img.shields.io/twitter/follow/eddyverbruggen.svg?style=social&label=Follow%20me 16 | [twitter-url]:https://twitter.com/eddyverbruggen 17 | 18 | > ⚠️ Looking for NativeScript 7 compatibilty? Go to [the NativeScript/plugins repo](https://github.com/NativeScript/plugins/tree/master/packages/fingerprint-auth). 19 | 20 | 21 | 22 | ## Installation 23 | From the command prompt go to your app's root folder and execute: 24 | ``` 25 | tns plugin add nativescript-fingerprint-auth 26 | ``` 27 | 28 | Then open `App_Resources/Android/AndroidManifest.xml` and look for `minSdkVersion`. 29 | If that's set to a version less than 23, add this `overrideLibrary` line: 30 | 31 | ```xml 32 | 36 | ``` 37 | 38 | ## Demo 39 | If you want a quickstart, [check out the demo app](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/tree/master/demo). Run it locally using these commands: 40 | 41 | ```bash 42 | git clone https://github.com/EddyVerbruggen/nativescript-fingerprint-auth 43 | cd nativescript-fingerprint-auth/src 44 | npm run demo.android # or demo.ios 45 | ``` 46 | 47 | 48 | 49 | ## API 50 | Want a nicer guide than these raw code samples? Read [Nic Raboy's blog post about this plugin](https://www.thepolyglotdeveloper.com/2016/03/add-touch-id-authentication-support-to-your-nativescript-app/). 51 | 52 | ### `available` 53 | 54 | #### JavaScript 55 | ```js 56 | var fingerprintAuthPlugin = require("nativescript-fingerprint-auth"); 57 | var fingerprintAuth = new fingerprintAuthPlugin.FingerprintAuth(); 58 | 59 | fingerprintAuth.available().then( 60 | function(avail) { 61 | console.log("Available? " + avail); 62 | } 63 | ) 64 | ``` 65 | 66 | #### TypeScript 67 | 68 | ```typescript 69 | import { FingerprintAuth, BiometricIDAvailableResult } from "nativescript-fingerprint-auth"; 70 | 71 | class MyClass { 72 | private fingerprintAuth: FingerprintAuth; 73 | 74 | constructor() { 75 | this.fingerprintAuth = new FingerprintAuth(); 76 | } 77 | 78 | this.fingerprintAuth.available().then((result: BiometricIDAvailableResult) => { 79 | console.log(`Biometric ID available? ${result.any}`); 80 | console.log(`Touch? ${result.touch}`); 81 | console.log(`Face? ${result.face}`); 82 | }); 83 | } 84 | ``` 85 | 86 | ### `verifyFingerprint` 87 | Note that on the iOS simulator this will just `resolve()`. 88 | 89 | ```typescript 90 | fingerprintAuth.verifyFingerprint( 91 | { 92 | title: 'Android title', // optional title (used only on Android) 93 | message: 'Scan yer finger', // optional (used on both platforms) - for FaceID on iOS see the notes about NSFaceIDUsageDescription 94 | authenticationValidityDuration: 10, // optional (used on Android, default 5) 95 | useCustomAndroidUI: false // set to true to use a different authentication screen (see below) 96 | }) 97 | .then((enteredPassword?: string) => { 98 | if (enteredPassword === undefined) { 99 | console.log("Biometric ID OK") 100 | } else { 101 | // compare enteredPassword to the one the user previously configured for your app (which is not the users system password!) 102 | } 103 | }) 104 | .catch(err => console.log(`Biometric ID NOT OK: ${JSON.stringify(err)}`)); 105 | ``` 106 | 107 | #### A nicer UX/UI on Android (`useCustomAndroidUI: true`) 108 | The default authentication screen on Android is a standalone screen that (depending on the exact Android version) looks kinda 'uninteresting'. 109 | So with version 6.0.0 this plugin added the ability to override the default screen and offer an iOS popover style which you can activate by passing in `useCustomAndroidUI: true` in the function above. 110 | 111 | One important thing to realize is that the 'use password' option in this dialog doesn't verify the entered password against 112 | the system password. It must be used to compare the entered password with an app-specific password the user previously configured. 113 | 114 | The password fallback can be disabled by overriding the default `use_password` text to a blank string (see optional change below for details on how to do this). 115 | 116 | ##### Optional change 117 | If you want to override the default texts of this popover screen, then drop a file [`strings.xml`](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/blob/5a14f96f7e752953df506401588b5694e3ab6444/demo/app/App_Resources/Android/src/main/res/values/strings.xml) in your project and override the properties you like. See the demo app for an example. 118 | 119 | ##### ⚠️ Important note when using NativeScript < 5.4.0 120 | **Use plugin version < 7.0.0 to be able to use this feature with NativeScript < 5.4.0** 121 | 122 | > Skip this section if you're on NativeScript 5.4.0 or newer because it's all handled automatically! 123 | 124 | To be able to use this screen, a change to `App_Resources/Android/AndroidManifest.xml` is required as our NativeScript activity needs to extend AppCompatActivity (note that in the future this may become the default for NativeScript apps). 125 | 126 | To do so, open the file and replace ` { 163 | console.log("Fingerprint was OK"); 164 | }, 165 | error => { 166 | // when error.code === -3, the user pressed the button labeled with your fallbackMessage 167 | console.log("Fingerprint NOT OK. Error code: " + error.code + ". Error message: " + error.message); 168 | } 169 | ); 170 | ``` 171 | 172 | ## Face ID (iOS) 173 | iOS 11 added support for Face ID and was first supported by the iPhone X. 174 | The developer needs to provide a value for `NSFaceIDUsageDescription`, otherwise your app may crash. 175 | 176 | You can provide this value (the reason for using Face ID) by adding something like this to `app/App_Resources/ios/Info.plist`: 177 | 178 | ```xml 179 | NSFaceIDUsageDescription 180 | For easy authentication with our app. 181 | ``` 182 | 183 | ## Security++ (iOS) 184 | Since iOS9 it's possible to check whether or not the list of enrolled fingerprints changed since 185 | the last time you checked it. It's recommended you add this check so you can counter hacker attacks 186 | to your app. See [this article](https://godpraksis.no/2016/03/fingerprint-trojan/) for more details. 187 | 188 | So instead of checking the fingerprint after `available` add another check. 189 | In case `didFingerprintDatabaseChange` returns `true` you probably want to re-authenticate your user 190 | before accepting valid fingerprints again. 191 | 192 | ```typescript 193 | fingerprintAuth.available().then(avail => { 194 | if (!avail) { 195 | return; 196 | } 197 | fingerprintAuth.didFingerprintDatabaseChange().then(changed => { 198 | if (changed) { 199 | // re-auth the user by asking for his credentials before allowing a fingerprint scan again 200 | } else { 201 | // call the fingerprint scanner 202 | } 203 | }); 204 | }); 205 | ``` 206 | 207 | ## Changelog 208 | - 6.2.0 [Fixed a potential bypass on iOS](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/issues/41). 209 | - 6.1.0 [Fixed potentioal bypasses on Android](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/milestone/8?closed=1). 210 | - 6.0.3 [Android interfered with other plugins' Intents](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/pull/28). 211 | - 6.0.2 [Plugin not working correctly on iOS production builds / TestFlight](https://github.com/EddyVerbruggen/nativescript-fingerprint-auth/issues/27). 212 | - 6.0.1 Fixed a compatibility issues with NativeScript 3.4. 213 | - 6.0.0 Allow custom UI on Android. 214 | - 5.0.0 Better `Face ID` support. Breaking change, see the API for `available`. 215 | - 4.0.1 Aligned with [the official NativeScript plugin seed](https://github.com/NativeScript/nativescript-plugin-seed). Requires NativeScript 3.0.0+. Thanks, @angeltsvetkov! 216 | - 4.0.0 Converted to TypeScript. Changed the error response type of `verifyFingerprintWithCustomFallback`. 217 | - 3.0.0 Android support added. Renamed `nativescript-touchid` to `nativescript-fingerprint-auth` (sorry for any inconvenience!). 218 | - 2.1.1 Xcode 8 compatibility - requires NativeScript 2.3.0+. 219 | - 2.1.0 Added `didFingerprintDatabaseChange` for enhanced security. 220 | - 2.0.0 Added `verifyFingerprintWithCustomFallback`, `verifyFingerprint` now falls back to the passcode. 221 | - 1.2.0 You can now use the built-in passcode interface as fallback. 222 | - 1.1.1 Added TypeScript definitions. 223 | - 1.1.0 Added Android platform which will always return false for `touchid.available`. 224 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/app.gradle: -------------------------------------------------------------------------------- 1 | // Add your native dependencies here: 2 | 3 | // Uncomment to add recyclerview-v7 dependency 4 | //dependencies { 5 | // implementation 'com.android.support:recyclerview-v7:+' 6 | //} 7 | 8 | // If you want to add something to be applied before applying plugins' include.gradle files 9 | // e.g. project.ext.googlePlayServicesVersion = "15.0.1" 10 | // create a file named before-plugins.gradle in the current directory and place it there 11 | 12 | android { 13 | defaultConfig { 14 | minSdkVersion 17 15 | generatedDensities = [] 16 | } 17 | aaptOptions { 18 | additionalParameters "--no-version-vectors" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 14 | 15 | 16 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Fingerprint 3 | Fingerprint 4 | 5 | Cancel 6 | Use password 7 | OK 8 | Enter your password to continue 9 | A new fingerprint was added to this device, so your password is required. 10 | 11 | Use fingerprint in the future 12 | use_fingerprint_to_authenticate_key 13 | 14 | Touch da sensor 15 | 16 | 17 | Security -> Fingerprint\' to set up a fingerprint\"]]> 18 | Go to \'Settings -> Security -> Fingerprint\' and register at least one fingerprint 19 | Fingerprint not initialised 20 | Fingerprint not available 21 | Fingerprint not recognized 22 | Password can\'t be empty 23 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | 21 | 22 | 23 | 31 | 32 | 34 | 35 | 36 | 42 | 43 | 45 | 46 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon-20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon-20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-29.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon-29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "icon-29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon-40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "icon-40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon-60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "icon-60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "icon-20.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "icon-20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "icon-29.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "icon-29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "icon-40.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "icon-40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "icon-76.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "icon-76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "icon-83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "icon-1024.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "extent" : "full-screen", 5 | "idiom" : "iphone", 6 | "subtype" : "2688h", 7 | "filename" : "Default-Portrait-XS-Max.png", 8 | "minimum-system-version" : "12.0", 9 | "orientation" : "portrait", 10 | "scale" : "3x" 11 | }, 12 | { 13 | "extent" : "full-screen", 14 | "idiom" : "iphone", 15 | "subtype" : "2688h", 16 | "filename" : "Default-Landscape-XS-Max.png", 17 | "minimum-system-version" : "12.0", 18 | "orientation" : "landscape", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "extent" : "full-screen", 23 | "idiom" : "iphone", 24 | "subtype" : "1792h", 25 | "filename" : "Default-Portrait-XR.png", 26 | "minimum-system-version" : "12.0", 27 | "orientation" : "portrait", 28 | "scale" : "2x" 29 | }, 30 | { 31 | "extent" : "full-screen", 32 | "idiom" : "iphone", 33 | "subtype" : "1792h", 34 | "filename" : "Default-Landscape-XR.png", 35 | "minimum-system-version" : "12.0", 36 | "orientation" : "landscape", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "extent" : "full-screen", 41 | "idiom" : "iphone", 42 | "subtype" : "2436h", 43 | "filename" : "Default-1125h.png", 44 | "minimum-system-version" : "11.0", 45 | "orientation" : "portrait", 46 | "scale" : "3x" 47 | }, 48 | { 49 | "extent" : "full-screen", 50 | "idiom" : "iphone", 51 | "subtype" : "2436h", 52 | "filename" : "Default-Landscape-X.png", 53 | "minimum-system-version" : "11.0", 54 | "orientation" : "landscape", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "extent" : "full-screen", 59 | "idiom" : "iphone", 60 | "subtype" : "736h", 61 | "filename" : "Default-736h@3x.png", 62 | "minimum-system-version" : "8.0", 63 | "orientation" : "portrait", 64 | "scale" : "3x" 65 | }, 66 | { 67 | "extent" : "full-screen", 68 | "idiom" : "iphone", 69 | "subtype" : "736h", 70 | "filename" : "Default-Landscape@3x.png", 71 | "minimum-system-version" : "8.0", 72 | "orientation" : "landscape", 73 | "scale" : "3x" 74 | }, 75 | { 76 | "extent" : "full-screen", 77 | "idiom" : "iphone", 78 | "subtype" : "667h", 79 | "filename" : "Default-667h@2x.png", 80 | "minimum-system-version" : "8.0", 81 | "orientation" : "portrait", 82 | "scale" : "2x" 83 | }, 84 | { 85 | "orientation" : "portrait", 86 | "idiom" : "iphone", 87 | "filename" : "Default@2x.png", 88 | "extent" : "full-screen", 89 | "minimum-system-version" : "7.0", 90 | "scale" : "2x" 91 | }, 92 | { 93 | "extent" : "full-screen", 94 | "idiom" : "iphone", 95 | "subtype" : "retina4", 96 | "filename" : "Default-568h@2x.png", 97 | "minimum-system-version" : "7.0", 98 | "orientation" : "portrait", 99 | "scale" : "2x" 100 | }, 101 | { 102 | "orientation" : "portrait", 103 | "idiom" : "ipad", 104 | "filename" : "Default-Portrait.png", 105 | "extent" : "full-screen", 106 | "minimum-system-version" : "7.0", 107 | "scale" : "1x" 108 | }, 109 | { 110 | "orientation" : "landscape", 111 | "idiom" : "ipad", 112 | "filename" : "Default-Landscape.png", 113 | "extent" : "full-screen", 114 | "minimum-system-version" : "7.0", 115 | "scale" : "1x" 116 | }, 117 | { 118 | "orientation" : "portrait", 119 | "idiom" : "ipad", 120 | "filename" : "Default-Portrait@2x.png", 121 | "extent" : "full-screen", 122 | "minimum-system-version" : "7.0", 123 | "scale" : "2x" 124 | }, 125 | { 126 | "orientation" : "landscape", 127 | "idiom" : "ipad", 128 | "filename" : "Default-Landscape@2x.png", 129 | "extent" : "full-screen", 130 | "minimum-system-version" : "7.0", 131 | "scale" : "2x" 132 | }, 133 | { 134 | "orientation" : "portrait", 135 | "idiom" : "iphone", 136 | "filename" : "Default.png", 137 | "extent" : "full-screen", 138 | "scale" : "1x" 139 | }, 140 | { 141 | "orientation" : "portrait", 142 | "idiom" : "iphone", 143 | "filename" : "Default@2x.png", 144 | "extent" : "full-screen", 145 | "scale" : "2x" 146 | }, 147 | { 148 | "orientation" : "portrait", 149 | "idiom" : "iphone", 150 | "filename" : "Default-568h@2x.png", 151 | "extent" : "full-screen", 152 | "subtype" : "retina4", 153 | "scale" : "2x" 154 | }, 155 | { 156 | "orientation" : "portrait", 157 | "idiom" : "ipad", 158 | "extent" : "to-status-bar", 159 | "scale" : "1x" 160 | }, 161 | { 162 | "orientation" : "portrait", 163 | "idiom" : "ipad", 164 | "filename" : "Default-Portrait.png", 165 | "extent" : "full-screen", 166 | "scale" : "1x" 167 | }, 168 | { 169 | "orientation" : "landscape", 170 | "idiom" : "ipad", 171 | "extent" : "to-status-bar", 172 | "scale" : "1x" 173 | }, 174 | { 175 | "orientation" : "landscape", 176 | "idiom" : "ipad", 177 | "filename" : "Default-Landscape.png", 178 | "extent" : "full-screen", 179 | "scale" : "1x" 180 | }, 181 | { 182 | "orientation" : "portrait", 183 | "idiom" : "ipad", 184 | "extent" : "to-status-bar", 185 | "scale" : "2x" 186 | }, 187 | { 188 | "orientation" : "portrait", 189 | "idiom" : "ipad", 190 | "filename" : "Default-Portrait@2x.png", 191 | "extent" : "full-screen", 192 | "scale" : "2x" 193 | }, 194 | { 195 | "orientation" : "landscape", 196 | "idiom" : "ipad", 197 | "extent" : "to-status-bar", 198 | "scale" : "2x" 199 | }, 200 | { 201 | "orientation" : "landscape", 202 | "idiom" : "ipad", 203 | "filename" : "Default-Landscape@2x.png", 204 | "extent" : "full-screen", 205 | "scale" : "2x" 206 | } 207 | ], 208 | "info" : { 209 | "version" : 1, 210 | "author" : "xcode" 211 | } 212 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-AspectFill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-AspectFill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-AspectFill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-Center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-Center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-Center@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EddyVerbruggen/nativescript-fingerprint-auth/27461046c4479c0cd4d775fb72f5783e67742c39/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiresFullScreen 28 | 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/build.xcconfig: -------------------------------------------------------------------------------- 1 | // You can add custom settings here 2 | // for example you can uncomment the following line to force distribution code signing 3 | // CODE_SIGN_IDENTITY = iPhone Distribution 4 | // To build for device with XCode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 5 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 6 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 7 | -------------------------------------------------------------------------------- /demo/app/app-root.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /demo/app/app.css: -------------------------------------------------------------------------------- 1 | page { 2 | background-color: #F4F4F4; 3 | } 4 | 5 | label { 6 | font-size: 14; 7 | } 8 | 9 | .tab-content { 10 | color: #808080; 11 | padding: 20; 12 | } 13 | 14 | .title { 15 | font-size: 18; 16 | margin: 0 0 10 0; 17 | color: #3c3c3c; 18 | } 19 | 20 | .status { 21 | border-radius: 8; 22 | font-size: 16; 23 | margin: 20; 24 | padding: 18 12; 25 | color: #444444; 26 | background-color: #cccccc; 27 | border-color: #aaaaaa; 28 | border-width: 1px; 29 | } 30 | 31 | button { 32 | background-color: #3598db; 33 | padding: 8 0; 34 | margin: 10; 35 | margin-bottom: 20; 36 | font-size: 16; 37 | border-radius: 4; 38 | } 39 | 40 | .button { 41 | /* don't add this class to 'button' above since it will make 'alert/actionsheet' buttons white as well */ 42 | color: #ffffff; 43 | } -------------------------------------------------------------------------------- /demo/app/app.ts: -------------------------------------------------------------------------------- 1 | import * as application from "tns-core-modules/application"; 2 | application.run({ moduleName: "app-root" }); 3 | -------------------------------------------------------------------------------- /demo/app/main-page.ts: -------------------------------------------------------------------------------- 1 | import * as observable from "tns-core-modules/data/observable"; 2 | import * as pages from "tns-core-modules/ui/page"; 3 | import { HelloWorldModel } from "./main-view-model"; 4 | 5 | // Event handler for Page 'loaded' event attached in main-page.xml 6 | export function pageLoaded(args: observable.EventData) { 7 | // Get the event sender 8 | const page = args.object; 9 | page.bindingContext = new HelloWorldModel(); 10 | } 11 | -------------------------------------------------------------------------------- /demo/app/main-page.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |