Skip to content

Commit e9659e4

Browse files
Xcode 8 compatibility
1 parent 1c2b00d commit e9659e4

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ touchid.available().then(
9090
```
9191

9292
## Changelog
93+
- 2.1.1 Xcode 8 compatibility - requires NativeScript 2.3.0+.
9394
- 2.1.0 Added `didFingerprintDatabaseChange` for enhanced security.
9495
- 2.0.0 Added `verifyFingerprintWithCustomFallback`, `verifyFingerprint` now falls back to the passcode.
9596
- 1.2.0 You can now use the built-in passcode interface as fallback.

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "nativescript-touchid",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"description": "A TouchID (fingerprint scanner) module for use in NativeScript apps",
55
"main": "touchid.js",
66
"nativescript": {
77
"platforms": {
8-
"android": "1.7.0",
9-
"ios": "1.7.0"
8+
"android": "2.3.0",
9+
"ios": "2.3.0"
1010
}
1111
},
1212
"repository": {
@@ -15,7 +15,9 @@
1515
},
1616
"keywords": [
1717
"NativeScript",
18+
"ecosystem:nativescript",
1819
"TouchID",
20+
"Touch ID",
1921
"Fingerprint",
2022
"Fingerprint scanner"
2123
],

touchid.ios.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var available = function () {
77
return new Promise(function (resolve, reject) {
88
try {
99
resolve(
10-
LAContext.alloc().init().canEvaluatePolicyError(
10+
LAContext.new().canEvaluatePolicyError(
1111
LAPolicyDeviceOwnerAuthenticationWithBiometrics, null));
1212
} catch (ex) {
1313
console.log("Error in touchid.available: " + ex);
@@ -19,7 +19,7 @@ var available = function () {
1919
var didFingerprintDatabaseChange = function () {
2020
return new Promise(function (resolve, reject) {
2121
try {
22-
var laContext = LAContext.alloc().init();
22+
var laContext = LAContext.new();
2323

2424
// we expect the dev to have checked 'isAvailable' already so this should not return an error,
2525
// we do however need to run canEvaluatePolicy here in order to get a non-nil evaluatedPolicyDomainState
@@ -38,11 +38,12 @@ var didFingerprintDatabaseChange = function () {
3838
var state = laContext.evaluatedPolicyDomainState;
3939
if (state !== null) {
4040
var stateStr = state.base64EncodedStringWithOptions(0);
41-
var storedState = NSUserDefaults.standardUserDefaults().stringForKey(FingerprintDatabaseStateKey);
41+
var standardUserDefaults = utils.ios.getter(NSUserDefaults, NSUserDefaults.standardUserDefaults);
42+
var storedState = standardUserDefaults.stringForKey(FingerprintDatabaseStateKey);
4243

4344
// Store enrollment
44-
NSUserDefaults.standardUserDefaults().setObjectForKey(stateStr, FingerprintDatabaseStateKey);
45-
NSUserDefaults.standardUserDefaults().synchronize();
45+
standardUserDefaults.setObjectForKey(stateStr, FingerprintDatabaseStateKey);
46+
standardUserDefaults.synchronize();
4647

4748
// whenever a finger is added/changed/removed the value of the storedState changes,
4849
// so compare agains a value we previously stored in the context of this app
@@ -64,8 +65,7 @@ var verifyFingerprint = function (arg) {
6465
try {
6566

6667
if (keychainItemServiceName === null) {
67-
var bundleID = NSBundle.mainBundle().infoDictionary.objectForKey("CFBundleIdentifier");
68-
console.log(bundleID);
68+
var bundleID = utils.ios.getter(NSBundle, NSBundle.mainBundle).infoDictionary.objectForKey("CFBundleIdentifier");
6969
keychainItemServiceName = bundleID + ".TouchID";
7070
}
7171

@@ -75,7 +75,7 @@ var verifyFingerprint = function (arg) {
7575
}
7676

7777
var message = arg !== null && arg.message || "Scan your finger";
78-
var query = NSMutableDictionary.alloc().init();
78+
var query = NSMutableDictionary.new();
7979
query.setObjectForKey(kSecClassGenericPassword, kSecClass);
8080
query.setObjectForKey(keychainItemIdentifier, kSecAttrAccount);
8181
query.setObjectForKey(keychainItemServiceName, kSecAttrService);
@@ -102,7 +102,7 @@ var verifyFingerprint = function (arg) {
102102
var verifyFingerprintWithCustomFallback = function (arg) {
103103
return new Promise(function (resolve, reject) {
104104
try {
105-
var laContext = LAContext.alloc().init();
105+
var laContext = LAContext.new();
106106
if (!laContext.canEvaluatePolicyError(LAPolicyDeviceOwnerAuthenticationWithBiometrics, null)) {
107107
reject("Not available");
108108
return;
@@ -131,7 +131,7 @@ var verifyFingerprintWithCustomFallback = function (arg) {
131131
};
132132

133133
var createKeyChainEntry = function () {
134-
var attributes = NSMutableDictionary.alloc().init();
134+
var attributes = NSMutableDictionary.new();
135135
attributes.setObjectForKey(kSecClassGenericPassword, kSecClass);
136136
attributes.setObjectForKey(keychainItemIdentifier, kSecAttrAccount);
137137
attributes.setObjectForKey(keychainItemServiceName, kSecAttrService);

0 commit comments

Comments
 (0)