Skip to content

Commit bcab2c9

Browse files
committed
Allow kSecAttrSynchronizable to be set from deleteItem
1 parent 3a45309 commit bcab2c9

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

ios/RNSensitiveInfo/RNSensitiveInfo.m

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,19 +116,20 @@ - (NSString *)messageForError:(NSError *)error
116116
if (keychainService == NULL) {
117117
keychainService = @"app";
118118
}
119+
120+
NSNumber *sync = options[@"kSecAttrSynchronizable"];
121+
if (sync == NULL)
122+
sync = (__bridge id)kSecAttrSynchronizableAny;
119123

120124
NSData* valueData = [value dataUsingEncoding:NSUTF8StringEncoding];
121125
NSMutableDictionary* search = [NSMutableDictionary dictionaryWithObjectsAndKeys:
122126
(__bridge id)(kSecClassGenericPassword), kSecClass,
123127
keychainService, kSecAttrService,
128+
sync, kSecAttrSynchronizable,
124129
key, kSecAttrAccount, nil];
125130
NSMutableDictionary *query = [search mutableCopy];
126131
[query setValue: valueData forKey: kSecValueData];
127132

128-
if([RCTConvert BOOL:options[@"kSecAttrSynchronizable"]]){
129-
[query setValue:@YES forKey:(NSString *)kSecAttrSynchronizable];
130-
}
131-
132133
if([RCTConvert BOOL:options[@"touchID"]]){
133134
CFStringRef kSecAccessControlValue = convertkSecAccessControl([RCTConvert NSString:options[@"kSecAccessControl"]]);
134135
SecAccessControlRef sac = SecAccessControlCreateWithFlags(kCFAllocatorDefault, kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly, kSecAccessControlValue, NULL);
@@ -305,11 +306,15 @@ - (void)getItemWithQuery:(NSDictionary *)query resolver:(RCTPromiseResolveBlock)
305306
if (keychainService == NULL) {
306307
keychainService = @"app";
307308
}
309+
310+
NSNumber *sync = options[@"kSecAttrSynchronizable"];
311+
if (sync == NULL)
312+
sync = (__bridge id)kSecAttrSynchronizableAny;
308313

309314
// Create dictionary of search parameters
310315
NSDictionary* query = [NSDictionary dictionaryWithObjectsAndKeys:
311316
(__bridge id)(kSecClassGenericPassword), kSecClass,
312-
(__bridge id)(kSecAttrSynchronizableAny), kSecAttrSynchronizable,
317+
sync, kSecAttrSynchronizable,
313318
keychainService, kSecAttrService,
314319
key, kSecAttrAccount,
315320
kCFBooleanTrue, kSecReturnAttributes,

0 commit comments

Comments
 (0)