日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

iOS客戶端接入

更新時(shí)間:

本文為您介紹了iOS客戶端如何接入通信授權(quán)服務(wù)功能。

前提條件

  • 確保您已開通通信授權(quán)服務(wù),并完成企業(yè)信息審核、授權(quán)場(chǎng)景審核和添加需要集成SDK的App信息,詳情請(qǐng)參見通信授權(quán)服務(wù)使用流程

  • 設(shè)備及系統(tǒng):

    • 支持iOS 10及以上系統(tǒng)。

    • 支持模擬器和arm架構(gòu)。

  • 開發(fā)工具建議使用Xcode 11及以上。

搭建開發(fā)環(huán)境

  1. 登錄號(hào)碼認(rèn)證產(chǎn)品控制臺(tái),在概覽頁(yè)面右側(cè)API&SDK區(qū)域,單擊立即下載,進(jìn)入API&SDK頁(yè)面,根據(jù)頁(yè)面提示下載并解壓對(duì)應(yīng)SDK。

  2. 下載并安裝Xcode 11

  3. 創(chuàng)建新工程。

    打開Xcode 11,在菜單欄選擇File > New > Project...,創(chuàng)建新工程。

  4. 導(dǎo)入SDK。

    1. 在創(chuàng)建的新工程上單擊鼠標(biāo)右鍵,選擇Add Files To“您創(chuàng)建的工程名稱”,單擊添加CASAuth.framework。

    2. 在菜單欄選擇TARGETS > General > Frameworks, Libraries, and Embedded Content,將文件CASAuth.framework的Embed值設(shè)置為Embed & Sign

    3. 在新建工程的plist文件,選擇Custom iOS Target Properties > App Transport Security Settings,設(shè)置TypeDictionary,在添加的子文件下增加Allow Arbitrary Loads且將其值設(shè)置為YESimage07

    在下載的壓縮包中,有三個(gè)文件分別是CASAuth.framework、CASAuth.framework.dSYM和ARM文件夾。其中CASAuth.framework包含了arm架構(gòu)和模擬器架構(gòu),ARM文件夾中的CASAuth.framework包含了arm架構(gòu)。

    說明

    CASAuth.framework是SDK的動(dòng)態(tài)庫(kù),用戶在最終上架App Store的包需要使用ARM文件夾下的framework。

創(chuàng)建實(shí)例

  • CASAuthSDK對(duì)象即授權(quán)通話實(shí)例對(duì)象,初始化方法為:

    - (id)initWithConfiguration:(CASConfig *)configuration;
  • CASConfig為授權(quán)通話配置類,屬性如下:

    /// appKey由客戶在控制臺(tái)上生成得到,必填
    @property(nonatomic, copy) NSString *appKey;
    
    /// schemeId由客戶在控制臺(tái)生成得,必填
    @property(nonatomic, copy) NSString *schemeId;
    
    /// 針對(duì)合約型用戶,傳入的授權(quán)截止日志。例如:2030-03-30
    @property(nonatomic, copy) NSString *expireDate;
    
    /// 授權(quán)手機(jī)號(hào)碼,必填
    @property(nonatomic, copy) NSString *phoneNumber;
    
    /// 隱私協(xié)議,字典形式,可有多個(gè),必填
    /// 示例:
    ///{
    //    @"title1":@"url1",
    //    @"title2":@"url2"
    ///}
    @property(nonatomic, copy) NSDictionary<NSString *,NSString *>* privacyAgreements;
  • CASAuthSDK提供如下功能:

    /// 預(yù)加載,主要用來加速獲取授權(quán)配置信息
    - (void)accelerateAuthInBackgroud:(void(^)(BOOL ret, CASResult *result))block;
    
    /// 獲取UI配置對(duì)象,可以用來進(jìn)行UI的自定義設(shè)置
    - (id<CASUIConfigureProtocol>)getUIConfigure;
    
    /// 喚起授權(quán)頁(yè)面,返回授權(quán)頁(yè)面視圖控制器給調(diào)用方使用
    /// @param rootViewController根視圖
    /// @param timeout超時(shí)時(shí)間
    - (void)startAuthPageWithRootViewController:(id)rootViewController timeout:(float)timeout completeBlock:(void(^)(BOOL ret, CASResult *result))block;
    
    /// 喚起授權(quán)彈框,需要用戶傳入指定的視圖控制器
    /// @param rootViewController彈起授權(quán)框的視圖控制器
    /// @param timeout超時(shí)時(shí)間
    - (void)startAlertAuthViewWithRootViewController:(id)rootViewController timeout:(float)timeout completeBlock:(void(^)(BOOL ret, CASResult *result))block;
    
    /// 關(guān)閉授權(quán)頁(yè)面
    - (void)closeAuthView;

    授權(quán)頁(yè)面彈出的模式有兩種,分別是彈框模式(Alert)和頁(yè)面彈出模式(Present),您可根據(jù)需要自行選擇模式。accelerateAuthInBackgroud是加速獲取授權(quán)信息接口,如果您對(duì)速度有要求可以在實(shí)例化AuthSDK對(duì)象后調(diào)用。

  • 通過 - (id<CASUIConfigureProtocol>)getUIConfigure接口可獲取UI配置對(duì)象,提供了如下接口:

    //title
    
    /// 設(shè)置標(biāo)題字體
    /// @param font字體
    - (void)setTitleLabelFont:(UIFont *)font;
    
    /// 設(shè)置標(biāo)題文字顏色
    /// @param textColor文字顏色
    - (void)setTtileLabelTextColor:(UIColor *)textColor;
    
    //middle
    
    /// 設(shè)置授權(quán)號(hào)碼顯示字體
    /// @param font字體
    - (void)setPhoneNumberLabelFont:(UIFont *)font;
    
    /// 設(shè)置授權(quán)號(hào)碼顯示文字顏色
    /// @param color顏色
    - (void)setPhoneNumberLabelTextColor:(UIColor *)color;
    
    /// 設(shè)置驗(yàn)證碼發(fā)送按鈕字體
    /// @param font字體
    - (void)setVerifyCodeSendButtonFont:(UIFont *)font;
    
    /// 設(shè)置驗(yàn)證碼發(fā)送按鈕文字顏色
    /// @param color顏色
    - (void)setVerifyCodeSendButtonTextColor:(UIColor *)color;
    
    /// 設(shè)置驗(yàn)證碼發(fā)送按鈕倒計(jì)時(shí)文字顏色
    /// @param color文字顏色
    - (void)setVerifyCodeSendButtonCountdownTextColor:(UIColor *)color;
    
    /// 短信驗(yàn)證碼輸入框文字顏色
    /// @param color顏色
    - (void)setVerifyCodeInputViewTextColor:(UIColor *)color;
    
    /// 短信驗(yàn)證碼輸入框文字字體
    /// @param font字體
    - (void)setVerifyCodeInputViewFont:(UIFont *)font;
    
    /// 短信驗(yàn)證碼輸入框PlaceHolder文字顏色
    /// @param color顏色
    - (void)setVerifyCodeInputViewPlaceHolderTextColor:(UIColor *)color;
    
    /// 短信驗(yàn)證碼輸入框PlaceHolder文字字體
    /// @param font字體
    - (void)setVerifyCodeInputViewPlaceHolderTextFont:(UIFont *)font;
    //bottom
    
    /// 協(xié)議勾選按鈕顏色
    /// @param color顏色
    - (void)setTermsAgreeButtonColor:(UIColor *)color;
    
    /// 一鍵授權(quán)按鈕顏色
    /// @param color顏色
    - (void)setAuthAgreeButtonColor:(UIColor *)color;
    
    /// 一鍵授權(quán)按鈕文字字體
    /// @param font字體
    - (void)setAuthAgreeButtonTextFont:(UIFont *)font;
    
    /// 一鍵授權(quán)按鈕文字顏色
    /// @param color顏色
    - (void)setAuthAgreeButtonTextColor:(UIColor *)color;
    
    /// 協(xié)議項(xiàng)前置文字
    /// @param beforeText文字
    - (void)setPrivacyBeforeText:(NSString *)beforeText;
    
    /// 協(xié)議項(xiàng)后置文字
    /// @param endText文字
    - (void)setPrivacyEndText:(NSString *)endText;
    
    /// 隱私文本顏色
    /// @param textColor顏色
    - (void)setPrivacyTextColor:(UIColor *)textColor;
    
    /// 隱私文本字體
    /// @param font字體
    - (void)setPrivacyTextFont:(UIFont *)font;
    
    /// 隱私文本描述文字顏色
    /// @param textColor顏色
    - (void)setPrivacyDescriptionTextColor:(UIColor *)textColor;
    
    /// 隱私聲明文本字體
    /// @param font字體
    - (void)setPrivacyNamingLabelFont:(UIFont *)font;
    
    /// 隱私聲明文本顏色
    /// @param color顏色
    - (void)setPrivacyNamingLabelTextColor:(UIColor *)color;
    
    /// 是否禁用彈框
    /// @param enable YES:能彈框,NO:不能彈框
    - (void)toastEnable:(BOOL)enable;
  • 事件回調(diào)。

    授權(quán)結(jié)果和授權(quán)中間狀態(tài)以及UI點(diǎn)擊事件均有回調(diào),如下所示:

    @required
    
    /// 授權(quán)結(jié)果回調(diào)事件
    /// @param ret YES:授權(quán)成功,NO:授權(quán)失敗
    /// @param result原因
    - (void)onAuthReponseResult:(BOOL)ret reason:(CASResult *)result;
    
    @optional
    
    /// 發(fā)送短信驗(yàn)證碼回調(diào)事件
    /// @param ret YES:發(fā)送成功,NO:發(fā)送失敗
    /// @param result原因
    - (void)onAuthSendVerifyCode:(BOOL)ret reason:(CASResult *)result;
    
    /// 授權(quán)頁(yè)面UI點(diǎn)擊事件回調(diào)
    /// @param code按鈕事件code
    /// @param msgDict擴(kuò)展消息
    - (void)onUIClickAction:(CASUIClickCode)code message:(NSDictionary *)msgDict;

示例代碼

  • 以Demo工程為例,在ViewDidLoad中進(jìn)行初始化。

        CASConfig *config = [[CASConfig alloc] init];
        config.appKey = @"yourappKey";
        config.schemeId = @"100000****";
        config.phoneNumber = @"1898984****";
        config.expireDate = @"2021-10-10";
        config.privacyAgreements = @{@"《用戶隱私政策》":@"https://example.aliyundoc.com"};
        
        self.authSDK = [[CASAuthSDK alloc] initWithConfiguration:config];
        self.authSDK.delegate = (id)self;
        [self.authSDK accelerateAuthInBackgroud:^(BOOL ret, CASResult * _Nonnull result) {
    
        }];
  • 調(diào)用按鈕彈出授權(quán)頁(yè)面:

     [self.authSDK startAlertAuthViewWithRootViewController:self timeout:5 completeBlock:^(BOOL ret, CASResult * _Nonnull result) {
            NSLog(@"start auth page:%d result:%@", ret, result);
        }];
  • 若需要修改UI配置,則需要在授權(quán)頁(yè)面成功彈出后,調(diào)用如下代碼:

      id<CASUIConfigureProtocol> conf = [self.authSDK getUIConfigure];
        [conf setTitleLabelFont:[UIFont systemFontOfSize:15]];
        [conf setTtileLabelTextColor:[UIColor yellowColor]];
        [conf setPhoneNumberLabelFont:[UIFont systemFontOfSize:10]];
        [conf setPhoneNumberLabelTextColor:[UIColor redColor]];
        [conf setVerifyCodeSendButtonFont:[UIFont systemFontOfSize:13]];
        [conf setVerifyCodeSendButtonTextColor:[UIColor greenColor]];
        [conf setVerifyCodeInputViewTextColor:[UIColor blueColor]];
        [conf setVerifyCodeInputViewFont:[UIFont systemFontOfSize:12]];
        [conf setTermsAgreeButtonColor:[UIColor blackColor]];
        [conf setAuthAgreeButtonColor:[UIColor redColor]];
        [conf setAuthAgreeButtonTextFont:[UIFont systemFontOfSize:12]];
        [conf setAuthAgreeButtonTextColor:[UIColor yellowColor]];
    
        [conf setPrivacyNamingLabelFont:[UIFont systemFontOfSize:16]];
        [conf setPrivacyNamingLabelTextColor:[UIColor redColor]];
    
        [conf setPrivacyTextColor:[UIColor redColor]];
        [conf setPrivacyDescriptionTextColor:[UIColor greenColor]];
        [conf setVerifyCodeInputViewPlaceHolderTextColor:[UIColor redColor]];
        [conf setVerifyCodeSendButtonCountdownTextColor:[UIColor greenColor]];
        [conf setPrivacyBeforeText:@"開頭文字"];
        [conf setPrivacyEndText:@"結(jié)尾文字"];

SDK錯(cuò)誤碼請(qǐng)參見錯(cuò)誤碼