iOS-брелок для обмена данными между устройствами

У меня есть куча приложений, использующих одну и ту же группу цепочек для ключей для обмена некоторыми конфиденциальными данными. Он отлично работает при тестировании приложений на одном устройстве, они могут получать доступ и редактировать общие данные. Интересно, можно ли обмениваться данными между iDevices, мой iPad (iOS 7) и iPhone (iOS 6), кажется, хранит их отдельно (локально?), Я думал, что они надежно хранятся на серверах Apple, так как они называются iCloud Брелок.

Я использую класс KeychainWrapper из учебника RayWenderlich с небольшой модификацией для наличия уникальной группы доступа цепочки для ключей.

+ (NSMutableDictionary *)setupSearchDirectoryForIdentifier:(NSString *)identifier {
    ...
    //Added this line 
    [searchDictionary setObject:KEYCHAINGROUP forKey:(__bridge id)kSecAttrAccessGroup];
    ...
    return searchDictionary;
}

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

2 ответа

Теперь вы можете просто добавить атрибут kSecAttrSynchronizable к элементу цепочки для ключей для синхронизации посредством icloud между устройствами: https://developer.apple.com/documentation/security/ksecattrsynchronizable

Также лучше использовать специальную библиотеку, такую ​​как KeychainAccess для управления цепочкой ключей (проверьте этот ответ)

Брелок хранит данные на локальном устройстве. Если вам нужно обмениваться конфиденциальными данными между устройствами, вы можете зашифровать данные и сохранить их в iCloud.

Другие вопросы по тегам