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.