Связка ключей iOS Проблема - PullRequest
0 голосов
/ 05 мая 2020

имеет проблемы с доступом к связке ключей на iOS.

    CFMutableDictionaryRef query = CFDictionaryCreateMutable( nullptr, 0, nullptr, nullptr );
    CFDictionaryAddValue( query, kSecClass, kSecClassGenericPassword );
    CFDictionaryAddValue( query, kSecAttrService, str_service );
    CFDictionaryAddValue( query, kSecAttrAccount, str_account );
    CFDictionaryAddValue( query, kSecAttrAccessible, kSecAttrAccessibleWhenUnlocked );
    CFDictionaryAddValue( query, kSecValueData, str_date );

    const auto res = SecItemAdd( query, nullptr );

Этот код отлично работает на Ma c и отлично работает на iOS, если я удалю атрибут str_data. Однако, как только я пытаюсь добавить данные, я получаю ужасный код ошибки -50.

Все 3 параметра str_ - это CFStrings.

Любые указатели приветствуются, спасибо.

1 Ответ

0 голосов
/ 05 мая 2020

kSecValueData должно быть CFDataRef, а не CFStringRef. См. https://developer.apple.com/documentation/security/ksecvaluedata?language=objc

...