iOS хранит данные в связке ключей для использования на разных устройствах

Я пытаюсь записать данные в связку ключей iCloud и реплицировать их на устройствах с одним и тем же Apple ID.

Если я устанавливаю приложение и вызываю следующий код, записываю запись и настраиваю чтение, я вижу, что данные считываются обратно для входа в систему на текущем устройстве.

Однако, если я установлю тот же код на другое устройство, используя тот же Apple ID, с включенным iCloud/связкой для ключей, я не увижу данные, если попытаюсь прочитать из связки ключей на этом устройстве.

Я безрезультатно пытался включить совместное использование icloud и keychain.

Может ли кто-нибудь указать мне в правильном направлении, пожалуйста?

-(void)writekc{
    KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"AppName" accessGroup:nil];
    [keychainItem setObject:@"password" forKey:(__bridge id)(kSecValueData)];
    [keychainItem setObject:@"username" forKey:(__bridge id)(kSecAttrAccount)];
}

-(void)readkc{
    KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"AppName" accessGroup:nil];
    NSString *password = [keychainItem objectForKey:(__bridge id)(kSecValueData)];
    NSString *username = [keychainItem objectForKey:(__bridge id)(kSecAttrAccount)];
    NSLog(@"Password:%@, User:%@",password,username);
 }

person NeilMortonNet    schedule 02.06.2014    source источник
comment
Вы должны убедиться, что код оболочки, который вы вызываете, добавляет kSecAttrSynchronizable true в словарь, переданный вызовам secItem.   -  person Paulw11    schedule 02.06.2014
comment
@Paulw11 Paulw11 Я только что добавил [keychainItem setObject: (__ идентификатор моста) kCFBooleanTrue forKey: (__ идентификатор моста) (kSecAttrSynchronizable)]; к приведенному выше коду записи, но получите ошибку утверждения.   -  person NeilMortonNet    schedule 02.06.2014
comment
использовать (__идентификатор моста) (kSecAttrSynchronizableAny   -  person bogz_android_iphone_phonegap    schedule 22.01.2016


Ответы (1)


В конце концов, я использовал SSKeyChain со встроенной возможностью синхронизации.

person NeilMortonNet    schedule 04.06.2014