Службы связки ключей iOS: для kSecAttrGeneric Key разрешены только определенные значения?

Я пытаюсь использовать класс KeychainWrapper, представленный в этом примере кода Apple: https: //developer.apple.com/library/content/samplecode/GenericKeychain/

В примере приложения класс имеет этот метод инициализации, который начинается как:

- (id)initWithIdentifier: (NSString *)identifier accessGroup:(NSString *) accessGroup;
{
    if (self = [super init])
    {
        // Begin Keychain search setup. The genericPasswordQuery leverages the special user
        // defined attribute kSecAttrGeneric to distinguish itself between other generic Keychain
        // items which may be included by the same application.
        genericPasswordQuery = [[NSMutableDictionary alloc] init];

        [genericPasswordQuery setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass];
        [genericPasswordQuery setObject:identifier forKey:(id)kSecAttrGeneric];

В примере приложения он использует два значения для строки идентификатора . «Пароль» и «Номер счета». При реализации класса в моем коде я использовал некоторые пользовательские идентификаторы, и код не работал. Вызов SecItemAdd () завершился неудачно. После некоторого тестирования выяснилось, что использование значений, отличных от «Пароль» и «Номер учетной записи» для идентификатора, не работает.

Кто-нибудь знает, какие значения разрешены, и / или можно ли иметь собственные идентификаторы для вашей связки ключей items?

38
задан Cœur 2 July 2017 в 09:24
поделиться