0

ユーザーが自分の電話番号でログインできるように、 Digitsフレームワークを使用してアプリを作成しています。そうは言っても、ストーリーボードに UINavigationController を( ViewController に)埋め込み、次のViewにセグエするボタンを追加することにより、ユーザー認証に次のビューにセグエする方法を見つけようとしました。これは、認証が成功した後にセグエする方法ではないことを認識しています。私のコードを見て、あなたの考え/提案を教えてください:

func didTapButton(sender: AnyObject) {
    let digits = Digits.sharedInstance()
    let configuration = DGTAuthenticationConfiguration(accountFields: .DefaultOptionMask)
    configuration.phoneNumber = "+345555555555"
    digits.authenticateWithNavigationViewController(navigationController, configuration: configuration, 
            completionViewController:  completionViewController) 
}
4

2 に答える 2

0

あなたのコード例は、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)
}

これにより、現在のView Controllerの上にモーダルがポップされます。ユーザーはサインアップして確認またはログインし、Digits がこれを認証すると、View Controller がポップされますcompletionViewController

質問に関しては、UINavigationBar にボタンを追加し、押されたときに didTapButton 関数を呼び出す UIAction を作成します。これにより、必要な認証がトリガーされます。

NavigationViewController を使用したくない場合は、次を使用します。

func didTapButton(sender: AnyObject) {
    let digits = Digits.sharedInstance()
    digits.authenticateWithCompletion { (session, error) in
        // Inspect session/error objects
    }
}

そして、認証が成功したときにView Controllerをポップすることを自分で処理する必要があります。

数字で使用する独自のフォームを作成することはできません。常に上部にポップされるモーダルですが、アプリのようにフォーマットすることができます。

configuration.phoneNumber = "+345555555555"多分混乱します。これは、数字形式での電話番号のオプションの事前入力です。Digits は +34 をスペイン語として認識し、5555555555 を電話番号として認識します。このコード行を削除したくない場合は、国コードのみを残して電話番号を削除することもできます。数字は国コードのみをフォームに事前入力します。

Digits を取得して、ユーザーのメール アドレスを要求することもできます。これは、に変更let configuration = DGTAuthenticationConfiguration(accountFields: .DefaultOptionMask)することによって行われますlet configuration = DGTAuthenticationConfiguration(accountFields: .Email)

実装を成功させる方法の完全な例については、このページを参照してください: https://fabric.io/kits/ios/digits/features

これがお役に立てば幸いです。さらに質問があればお気軽にどうぞ :)

于 2016-07-20T23:53:57.057 に答える