2016-04-09 49 views
1

私は自分のアプリの登録フォームを作成し、登録プロセスを完了するためにユーザーに検証コードを送信する必要があります。スウィフト2でSMSによる確認コードの送信方法

私はMFMessageComposeViewControllerを使用しようとしましたが、ユーザーがコードを見ることができるようにデバイス上でダイアログSMSを開きます。

また、SMSを送信する3人のユーザーのウェブをチェックしましたが、国コードに問題があります。私はそのポーズを取っていることを知っているwhatsappは、ユーザーを確認するためにそれを行う。

これは正しい方法ですか?

これは私が試したトピックです: Sending SMS in iOS with Swift

+2

あなたはおそらくバックエンドでこれを行うべきです。 iOSアプリからバックエンドにリクエストが送信されます。バックエンドはランダムなコードを生成します。バックエンドはSMSをユーザーに送信します。ユーザーがコードを入力します。 iOSアプリからバックエンドに戻って確認します。 Twilioのようなサービスを使ってSMSメッセージ(https://www.twilio.com/)を送ることができます。 – markwatsonatx

答えて

0

を私は数字を試してみるだろう!これはTwitter Fabricパッケージに含まれており、使用するのが非常に簡単です。ユーザが電話番号を入力すると、Fabricが番号の検証を行います。

2

これを達成する最善の方法は、サーバーがOTP検証を開始するための要求を送信するために使用できる国番号でユーザーが電話番号を入力できるようにするためのビューを作成することです。これを実現するには、以下を行う必要があります。

  1. View Controllerの作成。
  2. 電話番号と国コードをサーバーにアップロードします。
  3. OTPを確認して要求を検証します。

Danによって言及されたように、FabricDigitsを使用して、偉大なUXのカスタムビューを作成することができます。

一方、MSG91のSendOTPというサービスを使用することもできます。無料のOTP SMSを提供するため、内部テストと開発のアイデアに使用できます。サービスには、バックエンドでもアプリのフロントにも実装できるAPIの完全なセットがあります。また、CancelledまたはVerifiedまたはFailedなど、確認処理中に何が起きたかを知るために、を提供して、ビューを作成する必要はなく、presentViewControllerdelegateメソッドのみを呼び出します。このように同じルックスの

スウィフト実装:

class OTPFrame: UIViewController, sendOTPAuthenticationViewControllerDelegate {  

    func loadOTPFramework() { 
      SendOTP.sharedManager().startWithApiId("yourAppID") 
      let frameworkPath: NSString = NSBundle.mainBundle().privateFrameworksPath! 
      let frameworkBundlePath: NSString = frameworkPath.stringByAppendingPathComponent("SendOTPFramework.framework") 
      let frameworkBundle : NSBundle 
       = NSBundle(path: frameworkBundlePath as String)! 
      let authenticationViewController: AuthenticationViewController = AuthenticationViewController(nibName: "AuthenticationViewController", bundle: frameworkBundle) 
      authenticationViewController.delegate = self    self.presentViewController(authenticationViewController, animated: true, completion: nil) 
     } 

     func authenticationisSuccessfulForMobileNumber(mobNo: String!, withCountryCode countryCode: String!) { 
      print("Success") 
     } 

     func canceledAuthentication() { 
      print("Cancelled") 
     } 

     func authenticationisFailedForMobileNumber(mobNo: String!, withCountryCode countryCode: String!) { 
      print("Failed") 
     } 
    } 

免責事項:私は、決して、上記のサービスを推奨するもの - あなたが好きな自由に選択できます。

ありがとうございました!

+0

すばらしい答え。 tnx man :) –

+0

@NirTzin upvoteそして/またはあなたが好きなら受け入れる:) ..幸せに助けて! - フェネック。 – Fennec

関連する問題