你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發——App集成短信驗證碼

iOS開發——App集成短信驗證碼

編輯:IOS開發綜合

無論是在網頁上還是在客戶端,每當我們進行注冊的時候,往往會進行短信或者郵箱驗證,這是一種不錯的安全機制。對於用戶體驗來說,如果是在PC的網頁上,用郵箱或者短信驗證都比較方便;如果是在手機上,那麼使用短信驗證就比較方便。這篇博客我們將會在iOS應用中實現短信驗證碼的功能。 

 大家可以嘗試去開發。在我們進行調試過程中,需要注意的是:我們只能往同一個號碼發送5條驗證短信(12小時內)。超過這個額度就不能收到驗證短信了。這個是有電信運營商確定的,也是為了防止垃圾短信的一種安全方式。試想如果你不斷往一個號碼發送驗證碼,是不是就會成為垃圾短信呢?所以就會有這個數量限制。也就因為這個限制,讓我們調試程序增加了困難,也就意味著基本上一天之內我們只能運行5次程序。。。。每次調試程序還要斟酌一番,要不要發送呢?也就因為這個原因,這個簡單的功能我測試了2天。。。誰讓我只有一個號碼呢?

具體實現步驟如下:

(1)登錄mob移動開發者服務平台,注冊登錄,然後下載短信驗證碼SDK,SMS for iOS,然後直接拖入到項目中即可。裡面也有示例demo,做的挺不錯的,支持全球發送。

(2)進入後台,創建一個應用即可。獲得App Key和App Secret即可,在項目中會用到。這樣我們就有服務端了。

\

 

(3)發送驗證碼。只要向服務器發送國家碼+手機號碼 ,就可以了。一般在5秒之內就可以收到驗證碼。中國的國家碼就是86.如果你的App也需要在國外發布,就需要進行相應的配置。在自帶的demo中就進行了國家的選擇。

 

      
      [SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@18888888888
                                     zone:@86
                         customIdentifier:nil
                                   result:^(NSError *error){
                                     if (!error){
                                       //發送驗證碼成功的回調;
                                     }
                                     else{
                                       //發送驗證碼失敗的回調;如果你輸入錯誤的手機號碼或者任意數字,就會回調;
                                     }
                                   }];


 

(4)驗證 驗證碼是否正確。只要向服務器發送手機號和剛才接收到的驗證碼,服務器端就會進行匹配驗證,然後進行相應的回調。

注意點:1).一個驗證碼只能進行一次驗證,一旦第一次驗證失敗後,就算第二次輸入正確的驗證碼,也不會驗證成功。

2).接收到驗證碼後,只在60s內有效,超過60s,就算驗證碼正確,也會驗證失敗。

實現代碼如下:

 

[SMSSDK commitVerificationCode:1234(驗證碼) phoneNumber:18888888888 zone:@86 result:^(NSError *error) {
    if (!error) {
      //驗證成功後的回調;
    }//if();
    else{
      //驗證失敗後的回調;
    }
  }];

總結:驗證碼可以用在注冊或者找回密碼這兩個部分,目的就是驗證你的身份。如何擴展這個驗證碼功能,就看你的idea了。

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved