Не удается найти значение связки ключей при запуске из XCode
Я использую SSKeychain для хранения токена сессии. Когда я компилирую и запускаю приложение из XCode, иногда токен не может быть найден (кажется, что он работает спорадически). Однако, если я отключаю устройство и запускаю приложение без XCode, токен возвращается 10 раз. Я не уверен, если это проблема с SSKeychain или с Keychain в целом. Код, который я использую для хранения и чтения значений, следующий:
- (void)setSecureValue:(NSString *)value forKey:(NSString *)key
{
[SSKeychain setPassword:value forService:kServiceName account:key];
}
- (NSString *)secureValueForKey:(NSString *)key
{
if (key != nil)
{
return [SSKeychain passwordForService:kServiceName account:key];
}
return nil;
}
Многие проблемы, связанные с доступом к цепочке для ключей, похоже, решаются путем осознания того, что цепочка для ключей не является хранилищем данных и что ее можно время от времени очищать (например, из-за предупреждений памяти). Однако, поскольку я всегда работаю на одном и том же устройстве, и токен остается там после отключения и повторного запуска, я не понимаю, как это может быть проблемой здесь.
1 ответ
Это ошибка самой цепочки для ключей. Если вы отлаживаете приложение на устройстве, безопасность приложения должна быть нарушена, чтобы включить режим отладки, и именно поэтому цепочка для ключей не работает как-то