@@ -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