2015-10-13 4 views
0

Я использую keychainWrapper. Брелка в ИОС хранится с использованием заранее заданная константой, таково:Сколько keyChain можно хранить в iOS?

kSecAttrAccessGroup 
kSecAttrCreationDate 
kSecAttrModificationDate 
kSecAttrDescription 
kSecAttrComment 
kSecAttrCreator 
kSecAttrType 
kSecAttrLabel 
kSecAttrIsInvisible 
kSecAttrIsNegative 
kSecAttrAccount 
kSecAttrService 
kSecAttrGeneric 

Означает ли это, я ограничил число брелки я могу использовать? Я когда-то использовал обычный ключ, и он не работает:

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:[[NSBundle mainBundle] bundleIdentifier] accessGroup:nil]; 
[keychain setObject:[[[UIDevice currentDevice] identifierForVendor] UUIDString] forKey:@"myUDID"]; 

Но это делает:

[keychain setObject:[[[UIDevice currentDevice] identifierForVendor] UUIDString] forKey:(__bridge NSString *)kSecValueData]; 

Итак, есть в любом случае для меня, чтобы спасти много брелки? Могу ли я запустить свой брелок с другим идентификатором, чтобы получить больше брелка? Как это:

anotherKeychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestUDID" accessGroup:nil]; 
[anotherKeychain setObject:udid forKey:(__bridge id)(kSecAttrAccount)]; 

How to store a string in KeyChain , iOS?

+0

Вы можете иметь любое количество элементов брелки (то, что вы имеете в виду, как ключевые цепи фактически брелка элементы). Каждый элемент имеет ограниченное количество атрибутов - вы указали их. Идентификатор - это то, что вам нравится, и данные - это значение, которое вы хотите сохранить против этого элемента. – Paulw11

+0

Существует также ряд фреймворков, которые вы можете использовать для упрощения вещей - https://cocoapods.org/?q=KeychAin – Paulw11

+0

@ Paulw11 thanks Пол указал на это. Просто подтвердите это, вы говорите, что я могу иметь столько ключей, как я хочу, так как их идентификатор в методе init будет другим, не так ли? – Eddie

ответ

0

Вы можете иметь любое количество элементов брелка (то, что вы имеете в виду, как ключевые цепи фактически брелка элементы). Каждый элемент имеет ограниченное количество атрибутов - вы указали их. Идентификатор - это любая строка, которая вам нравится, и данные - это значение, которое вы хотите сохранить против этого элемента.

Есть также ряд структур вы можете использовать, чтобы упростить вещи - http://cocoapods.org/?q=Keychain

Смежные вопросы