我正在使用数字框架制作应用,用户可以使用自己的电话号码登录。话虽如此,我试图通过创建嵌入UINavigationController(到ViewController >)来找到一种方法来转换 用户身份验证后的 em>)在我的故事板中添加了一个按钮,该按钮会分成我的下一个查看。我意识到这不是成功验证后的方法。请查看我的代码并告诉我您的想法/建议:
func didTapButton(sender: AnyObject) {
let digits = Digits.sharedInstance()
let configuration = DGTAuthenticationConfiguration(accountFields: .DefaultOptionMask)
configuration.phoneNumber = "+345555555555"
digits.authenticateWithNavigationViewController(navigationController, configuration: configuration,
completionViewController: completionViewController)
}
答案 0 :(得分:1)
现在我更了解这个问题,请试试这个:
import UIKit
import DigitsKit
class LoginViewController: UIViewController {
override func viewDidLoad() {
let digitsButton = DGTAuthenticateButton(authenticationCompletion: { (session, error) in
if (session != nil) {
print("Your Digits User ID is " + session.userID)
let map = MapVC()
self.presentViewController(map, animated: true, completion: nil)
}
else {
print(error.localizedDescription)
}
})
self.view.addSubview(digitsButton)
}
}
或者可以使用:
import UIKit
import DigitsKit
class LoginViewController: UIViewController {
override func viewDidLoad() {
let digitsButton = DGTAuthenticateButton(authenticationCompletion: { (session, error) in
if (session != nil) {
print("Your Digits User ID is " + session.userID)
self.performSegueWithIdentifier("mapVC", sender: self)
}
else {
print(error.localizedDescription)
}
})
self.view.addSubview(digitsButton)
}
}
我希望这有效:)
答案 1 :(得分:0)
我认为您的代码示例已从Digits文档(https://docs.fabric.io/apple/digits/sign-in-with-phone-number.html#alternative-navigation-flows)中的示例中提取。这一切对我来说都是正确的,我认为你走在正确的轨道上。
您可以使用电话号码创建帐户或使用电话号码登录应用。
当您运行代码时,这是导航控制器中正确的代码:
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
我希望这有帮助,随时可以提出任何进一步的问题:)