ios 接网易云聊天-登录-注册

1:Appdelegate,注册appkey

#import <NIMSDK/NIMSDK.h>
#define WANG_YI_YUN_APPKEY @“xxxxxxxxxxxxxx”

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions
 :(NSDictionary *)launchOptions{
 	NSString *appKey        = WANG_YI_YUN_APPKEY;
    NIMSDKOption *option    = [NIMSDKOption optionWithAppKey:appKey];
    option.apnsCername      = @"your APNs cer name";
    option.pkCername        = @"your pushkit cer name";
    [[NIMSDK sharedSDK] registerWithOption:option];
    }


2.封装登录模型 WangYiYunModel XMDataSavingTools是保存模型用的工具

XMDataSavingTools

#import <Foundation/Foundation.h>
#import "XMDataSavingTools.h"


@interface WangYiYunModel : NSObject

@property (nonatomic,strong) NSString *accid;

@property (nonatomic,strong) NSString *token;

+ (void) Save:(WangYiYunModel *) model;

+ (WangYiYunModel *) load;

@end


#import "WangYiYunModel.h"

@implementation WangYiYunModel

+ (void) Save:(WangYiYunModel *) model{
    
    [XMDataSavingTools save:model forKey:@"XMDataSavingTools"];
}

+ (WangYiYunModel *) load{
    return [XMDataSavingTools load:@"XMDataSavingTools"];
}

@end



3.找后台要 account,token 登录


				WangYiYunModel *model = [[WangYiYunModel alloc] init];
                
                model.accid = @"";
                
                model.token = @"";
                
                
                
                [[[NIMSDK sharedSDK] loginManager] login:model.accid token:model.token completion:^(NSError * _Nullable error) {
                    
                    if (error != nil) {
                        NSLog(@"登录失败!");
                    }else{
                        NSLog(@"登录成功!");
                        ///保存到WangYiYunModel 自动登录需要
                        [WangYiYunModel Save:model];
                    }
                    
                }];



4.先添加代理

- (void)viewDidAppear:(BOOL)animated{
	///	添加代理
	[[[NIMSDK sharedSDK] loginManager] addDelegate:self];
	///读取WangYiYunModel
    WangYiYunModel *wangyiyun = [WangYiYunModel load];
    ///不为空自动登录
    if ( wangyiyun != nil ) {
    
        NIMAutoLoginData *loginData = [[NIMAutoLoginData alloc] init];
        
        loginData.account = wangyiyun.accid;
        
        loginData.token = wangyiyun.token;

        [[[NIMSDK sharedSDK] loginManager] autoLogin:loginData];
        
    }

}

///代理方法:登录
- (void)onLogin:(NIMLoginStep)step{
    
    if (step == NIMLoginStepLoginOK) {
        NSLog(@"登录成功");
    }
    if (step == NIMLoginStepLinking) {
        NSLog(@"连接服务器");
    }
    if (step == NIMLoginStepLinkOK) {
        NSLog(@"连接服务器成功");
    }
    if (step == NIMLoginStepLinkFailed) {
        NSLog(@"连接服务器失败");
    }
    if (step == NIMLoginStepLogining) {
        NSLog(@"登录");
    }
    if (step == NIMLoginStepLoginFailed) {
        NSLog(@"登录失败");
    }
    if (step == NIMLoginStepSyncing) {
        NSLog(@"开始同步数据");
    }
    if (step == NIMLoginStepSyncOK) {
        NSLog(@"同步数据完成");
    }
    if (step == NIMLoginStepLoseConnection) {
        NSLog(@"连接断开");
    }
    if (step == NIMLoginStepNetChanged) {
        NSLog(@"网络切换");
    }
        

}
///代理方法:失败
- (void)onAutoLoginFailed:(NSError *)error{
    
    NSLog(@"登录失败");
    
}


登录成功

发布了40 篇原创文章 · 获赞 39 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41586150/article/details/104434214
ios