Не удается найти значение связки ключей при запуске из 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 ответ

Это ошибка самой цепочки для ключей. Если вы отлаживаете приложение на устройстве, безопасность приложения должна быть нарушена, чтобы включить режим отладки, и именно поэтому цепочка для ключей не работает как-то

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