2016-04-09 4 views
1

Я создаю регистрационную форму для своего приложения, и мне нужно отправить пользователю код проверки sms, чтобы завершить процесс регистрации.как отправить код подтверждения с помощью sms в swift 2

Я попытался использовать MFMessageComposeViewController, но его открыть диалоговое sms на устройстве, чтобы пользователь мог видеть код.

Я также проверил сеть для 3-х сторон отправки смс, но есть проблема с кодом страны. Я знаю, что это возможно, потому что он должен подтвердить это.

, что это правильный способ сделать это?

это топик я попробовал: Sending SMS in iOS with Swift

+2

Возможно, вы должны сделать это на своем сервере. Приложение iOS отправляет запрос на бэкэнд. Backend генерирует случайный код. Бэкэнд отправляет SMS пользователю. Пользователь вводит код. Приложение iOS отправляется обратно на сервер для проверки. Вы можете использовать услугу Twilio для отправки SMS-сообщений (https://www.twilio.com/). – markwatsonatx

ответ

0

Я дал бы цифры от попробовать! Это часть пакета Twitter Fabric, и он очень прост в использовании. Пользователь вводит свой номер телефона, а Fabric заботится о подтверждении номера.

2

Лучший способ достичь этого - создать несколько видов, позволяющих пользователю вводить номер телефона с кодом страны, который может использоваться сервером для отправки запроса на инициирование проверки OTP. Для этого вам необходимо:

  1. Создание контроллеров просмотра.
  2. Загрузить номер телефона и код страны на сервер.
  3. Подтверждение запросов путем проверки OTP.

Как отметил Дэн, вы можете использовать Digits в Fabric для этой цели, а также создавать собственные представления для большого UX.

С другой стороны, вы также можете использовать услугу под названием SendOTP от MSG91 - вы можете использовать ее для внутренних тестов и идей разработки, поскольку они предоставляют вам 5000 бесплатных сообщений OTP. Служба имеет полный набор API, которые вы можете реализовать на бэкэнде, а также в приложении. Кроме того, они предоставляют framework, так что вам не нужно создавать представления, но только presentViewController и звоните delegate, чтобы узнать, что произошло во время процесса проверки - например, Cancelled или Verified или Failed.

Swift реализация тех же выглядит следующим образом:

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

Смежные вопросы