Невозможно получить доступ к связке ключей от Расширения нежелательной связи iOS - PullRequest
0 голосов
/ 13 ноября 2018

Я создаю расширение нежелательных коммуникационных расширений для своего приложения, но когда я пытаюсь получить доступ к цепочке для ключей для деталей входа в систему, она не может получить доступ к цепочке для ключей.

Примечание. Для моего приложения добавлены права с общим доступом к цепочке для ключей, и общий доступ к цепочке для ключей включен.

Я попытался использовать этот код на моем контроллере представления расширений, и он возвращает код ошибки -25291 на SecItemCopyMatching

let queryLoad: [String: AnyObject] = [
  kSecClass as String: kSecClassGenericPassword,
  kSecAttrAccount as String: itemKey as AnyObject,
  kSecReturnData as String: kCFBooleanTrue,
  kSecMatchLimit as String: kSecMatchLimitOne,
  kSecAttrAccessGroup as String: keychainAccessGroupName as AnyObject
]

var result: AnyObject?

let resultCodeLoad = withUnsafeMutablePointer(to: &result) {
  SecItemCopyMatching(queryLoad as CFDictionary, UnsafeMutablePointer($0))
}

if resultCodeLoad == noErr {
  if let result = result as? Data,
    let keyValue = NSString(data: result,
                            encoding: String.Encoding.utf8.rawValue) as? String {

    // Found successfully
    print(keyValue)
  }
} else {
  print("Error loading from Keychain: \(resultCodeLoad)")
}
...