Использование неразрешенного идентификатора «соединения»;Вы имели в виду «Соединения» в Auth0? - PullRequest
0 голосов
/ 22 января 2019

Я работаю над интеграцией блокировки Auth0, получаю сообщение об ошибке Использование неразрешенного идентификатора 'connections'; Вы имели в виду «Соединения»?

.withConnections {_ in
  connections.database(name: "Username-Password-Authentication", requiresUsername: true)
}

Я изменил код на

Connections.database(name: "Username-Password-Authentication", requiresUsername: true) 

Теперь я получаю сообщение об ошибке Элемент экземпляра 'database' нельзя использовать для типа 'Соединения'

Когда я изменил код на

Connections().database(name: "Username-Password-Authentication", requiresUsername: true)

Получение ошибки Невозможно создать «Соединения», поскольку у него нет доступных инициализаторов

Я изменил код на

$0.database(name: "Username-Password-Authentication", requiresUsername: true)

Получение Анонимные аргументы замыкания нельзя использовать внутри замыкания с явными аргументами

https://github.com/auth0/Lock.swift

https://auth0.com/docs/libraries/lock-ios/v2#configuration-options

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    Lock
        .classic()
        // withConnections, withOptions, withStyle, and so on
        .withOptions {
            $0.oidcConformant = true
            $0.scope = "openid profile"
        }
        .onAuth { credentials in
            // Let's save our credentials.accessToken value
        }
        .withConnections {_ in
            connections.database(name: "Username-Password-Authentication", requiresUsername: true)
        }
        .withStyle {
            $0.title = "Company LLC"
            $0.logo = LazyImage(name: "123.png")
            $0.primaryColor = UIColor(red: 0.6784, green: 0.5412, blue: 0.7333, alpha: 1.0)
        }
        .present(from: self)

Ответы [ 3 ]

0 голосов
/ 22 января 2019

Ошибка находится в закрытии для .withConnections Вы не называете параметр с помощью _

Без параметра

.withConnections { _ in }

С параметром

.withConnections { connections in { connections.database(name: "Username-Password-Authentication", requiresUsername: true) }

0 голосов
/ 22 января 2019

Вы получаете Использование неразрешенного идентификатора «соединения»;Вы имели в виду «Соединения»? , потому что connections не объявлен в качестве параметров закрытия.

Попробуйте:

.withConnections { connections in
  connections.database(name: "Username-Password-Authentication", requiresUsername: true)
}

или, если вы хотите использовать анонимный аргумент, не объявляйте никакихпараметр:

.withConnections { 
  $0.database(name: "Username-Password-Authentication", requiresUsername: true)
}
0 голосов
/ 22 января 2019

Кажется, что документация Auth0 здесь ошибочна. Если вы посмотрите на исходный файл Lock.swift , вы увидите, что ConnectionBuildable передается в качестве аргумента. Вы должны использовать это для создания ваших связей.

Попробуйте это:

.withConnections { connections in
    connections.database(name: "Username-Password-Authentication", requiresUsername: true)
}

или то же самое, используя аргументы анонимного закрытия:

.withConnections {
    $0.database(name: "Username-Password-Authentication", requiresUsername: true)
}
...