我认为您的代码示例已从 Digits 文档(https://docs.fabric.io/apple/digits/sign-in-with-phone-number.html#alternative-navigation-flows)中的示例中提取。这一切对我来说都是正确的,我认为你在正确的轨道上。
Digits 可以让您创建一个帐户或使用电话号码登录应用程序。
当您运行代码时,这是导航控制器中的正确代码:
func didTapButton(sender: AnyObject) {
let digits = Digits.sharedInstance()
let configuration = DGTAuthenticationConfiguration(accountFields: .DefaultOptionMask)
configuration.phoneNumber = "+345555555555"
digits.authenticateWithNavigationViewController(navigationController, configuration:configuration, completionViewController:completionViewController)
}
这将在当前视图控制器的顶部弹出一个模式。用户将注册并验证或登录,当 Digits 对此进行身份验证时,它将弹出您的视图控制器completionViewController
。
关于这个问题,在 UINavigationBar 添加一个按钮并创建一个 UIAction 以在按下时调用 didTapButton 函数。然后这将触发您希望的身份验证。
如果您不想与 NavigationViewController 一起使用,请使用:
func didTapButton(sender: AnyObject) {
let digits = Digits.sharedInstance()
digits.authenticateWithCompletion { (session, error) in
// Inspect session/error objects
}
}
然后你必须自己处理成功验证时弹出视图控制器。
您不能创建自己的表单来使用数字,它始终是一个弹出顶部的模式,但是您可以将其格式化为看起来像您的应用程序。
configuration.phoneNumber = "+345555555555"
也许令人困惑。这只是在数字表格中可选地预先填写电话号码。数字会将 +34 识别为西班牙语,将 5555555555 识别为电话号码。如果您不想这样删除代码行,或者您可以删除电话号码,只留下国家代码和数字将仅在表格中预先填写国家代码。
您还可以获取 Digits 来请求用户的电子邮件地址。这是通过更改let configuration = DGTAuthenticationConfiguration(accountFields: .DefaultOptionMask)
为let configuration = DGTAuthenticationConfiguration(accountFields: .Email)
有关如何成功实施的完整示例,请参阅此页面:https ://fabric.io/kits/ios/digits/features
我希望这会有所帮助,请随时提出任何其他问题:)