Связка ключей — возврат статуса OSStatus -34018

#ios #swift

#iOS #swift

Вопрос:

я пытаюсь сохранить значение в Keychain. Код правильный, но OSStatus возвращает код -34018. В другом проекте тот же код работает правильно.

Код:

     fileprivate func save(key: String, value: String) -> Bool {
    guard let data: Data = value.data(using: String.Encoding.utf8) else {
        return false
    }
    let query = [
        kSecClass as String: kSecClassGenericPassword as String,
        kSecAttrAccount as String: key,
        kSecValueData as String: data,
        ] as [String : Any]

    SecItemDelete(query as CFDictionary)

    let status: OSStatus = SecItemAdd(query as CFDictionary, nil)
    return status == noErr
}
  

Есть идеи, пожалуйста?
Есть ли какая-либо ошибка с настройками проекта или?

Комментарии:

1. Внутренняя ошибка, когда требуемое право отсутствует. osstatus.com/search /…

2. Спасибо. Это было потому, что мой общий доступ к связке ключей в возможностях был отключен 🙂

3. @ankmara, спасибо за ваше решение, но я все равно застрял в ошибке утверждения: (osrc == noErr), функция -[SCCSR build:PrivateKey:], file /Users/ sujay/Desktop/GenerateCSR/GenerateCSR/SCCSR.m, строка 86. Не могли бы вы указать.