diff --git a/Sources/SAMKeychainQuery.h b/Sources/SAMKeychainQuery.h index 84658e2..2cb2ba5 100644 --- a/Sources/SAMKeychainQuery.h +++ b/Sources/SAMKeychainQuery.h @@ -53,6 +53,9 @@ typedef NS_ENUM(NSUInteger, SAMKeychainQuerySynchronizationMode) { @property (nonatomic, copy, nullable) NSString *accessGroup; #endif +/** kSecAttrAccessible (only used on iOS) */ +@property (nonatomic, copy, nullable) NSString *accessibility; + #ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE /** kSecAttrSynchronizable */ @property (nonatomic) SAMKeychainQuerySynchronizationMode synchronizationMode; diff --git a/Sources/SAMKeychainQuery.m b/Sources/SAMKeychainQuery.m index 00ecb80..e9f5bcc 100644 --- a/Sources/SAMKeychainQuery.m +++ b/Sources/SAMKeychainQuery.m @@ -41,7 +41,7 @@ - (BOOL)save:(NSError *__autoreleasing *)error { query = [[NSMutableDictionary alloc]init]; [query setObject:self.passwordData forKey:(__bridge id)kSecValueData]; #if __IPHONE_4_0 && TARGET_OS_IPHONE - CFTypeRef accessibilityType = [SAMKeychain accessibilityType]; + CFTypeRef accessibilityType = self.accessibility ? (__bridge CFTypeRef)self.accessibility : [SAMKeychain accessibilityType]; if (accessibilityType) { [query setObject:(__bridge id)accessibilityType forKey:(__bridge id)kSecAttrAccessible]; } @@ -54,7 +54,7 @@ - (BOOL)save:(NSError *__autoreleasing *)error { } [query setObject:self.passwordData forKey:(__bridge id)kSecValueData]; #if __IPHONE_4_0 && TARGET_OS_IPHONE - CFTypeRef accessibilityType = [SAMKeychain accessibilityType]; + CFTypeRef accessibilityType = self.accessibility ? (__bridge CFTypeRef)self.accessibility : [SAMKeychain accessibilityType]; if (accessibilityType) { [query setObject:(__bridge id)accessibilityType forKey:(__bridge id)kSecAttrAccessible]; }