2014-11-03 2 views
1

Я пишу код keychain на iOS. Когда я пытаюсь вставить элемент в цепочку ключей, я получаю ошибку -50.Что означает ошибка OSStatus -50?

Что означает ошибка OSStatus -50?

+1

'errSecParam = -50,/* Один или несколько параметров переданы функции, где это недействительно. */' – holex

+0

Где я могу найти полный список ошибок? благодаря! – zumzum

+1

'Security.framework/SecBase.h' или здесь https://developer.apple.com/library/ios/documentation/Security/Reference/SecurityFrameworkReference/_index.html, в разделе _Keychain Services_ – holex

ответ

2

-50 Ошибка является errSecParam, и означает, что по крайней мере один из параметров, переданных в функцию был/не действителен.

Это может быть связано с различиями типа или, возможно, с недопустимым значением. See this page on the Apple site читать официальную документацию от Apple по телефону errSecParam.

1

Если вы добавляете пароль в цепочку ключей, убедитесь, что вы передали его как данные, а не String, иначе вы получите ошибку OSStatus -50.

static func savePassword(password: Data, account: String) throws -> OSStatus { 
    let query = [ 
     kSecClass as String: kSecClassGenericPassword as String, 
     kSecAttrAccount as String: account, 
     kSecValueData as String: password 
     ] as [String: Any] 

    SecItemDelete(query as CFDictionary) 

    return SecItemAdd(query as CFDictionary, nil) 
} 
Смежные вопросы