XMPP教学小结1

到这里、 我们封装了XMPP 登录、 注册、 好友列表获取、 好友状态获取、 信息的收发、

应该去测试一下了 、 我这里把最简单的测试办法扔到这里、 大家可以看一下 。

 1 //
 2 //  ADViewController.m
 3 //  ADXMPP_BE
 4 //
 5 //  Created by Dylan on 14-10-8.
 6 //  Copyright (c) 2014年 Dylan. All rights reserved.
 7 //
 8
 9 #import "ADViewController.h"
10 #import "ADMessageModel.h"
11
12 @interface ADViewController ()
13
14 @end
15
16 @implementation ADViewController
17
18 - (void)viewDidLoad
19 {
20     [super viewDidLoad];
21
22
23     // testLogin
24     [XMPPHANDLE connectionWithUserName:@"[email protected]" passWord:@"admin" success:^{
25         NSLog(@"success");
26
27         [XMPPHANDLE refreshRosterPresence:^(NSString * userID) {
28
29             NSLog(@"%@%@", userID, DOMAINS);
30         } offline:^(NSString * userID) {
31
32             NSLog(@"%@%@", userID, DOMAINS);
33         }];
34
35         [XMPPHANDLE refreshRosterList:^(id dict) {
36             NSLog(@"%@", dict);
37
38         } failure:^(id error) {
39             NSLog(@"%@", error);
40         }];
41
42         // testMsg
43         [[NSUserDefaults standardUserDefaults] setValue:@"[email protected]/xueyulundeMacBook-Pro" forKey:CURRENT_CHAT];
44         [XMPPHANDLE setNewMessage:^(id dict) {
45             NSLog(@"%@", dict);
46         }];
47
48         ADMessageModel * model = [[ADMessageModel alloc] init];
49         model.from = [NSString stringWithFormat:@"%@", XMPPHANDLE.xmppStream.myJID];
50         model.to = [[NSUserDefaults standardUserDefaults] stringForKey:CURRENT_CHAT];
51         model.body = @"Hello";
52
53         [XMPPHANDLE sendMessage:model sendSuccess:^{
54
55             NSLog(@"send success");
56
57         } sendFailure:^(id error) {
58             NSLog(@"%@", error);
59         }];
60
61     } failure:^(id error) {
62         NSLog(@"error");
63     }];
64
65     // testRegis
66 //    [XMPPHANDLE registerWithUserName:@"test" passWord:@"admin" success:^{
67 //        NSLog(@"register success");
68 //    } failure:^(id error) {
69 //        NSLog(@"%@", error);
70 //    }];
71 }
72
73 - (void)didReceiveMemoryWarning
74 {
75     [super didReceiveMemoryWarning];
76 }
77
78 @end

特别需要注意的是代码的执行先后顺序。

代理执行方法的先后顺序

保证自己的Block方法体可以被寻找到

时间: 2024-11-05 13:45:19

XMPP教学小结1的相关文章

C程序设计教学小结(选择结构)

1. 函数使用的三个问题 函数声明语句   void add();   或  int add(int x,int y); 函数调用            add();     c=add(a,b) 函数定义       void add(){………………….} Int add(int x,int y){…………………….} 2.if(条件)语句    1)if()  后不要加分号 2)如语句由多个语句组成,可以使用{}形成一个复合语句 如  {a=b; b=c  } 3.上课必须有备而来(至少笔

IOS-XMPP

一.即时通讯技术简介 即时通讯技术(IM -- Instant Messaging)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已经出现过的IM

XMPP登录注册好友群组_实战教学1

1. 环境准备:openfire + mysql 5.1.6 + Xcode5 + XMPP.Framework (至于环境的配置, 请自己百度, 推荐: http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html) 2. cocoapods 1 platform :ios, '7.0' 2 pod "XMPPFramework", "~>3.6.4" 3.工程: ARC + COREDATA

XMPP登录注册好友群组_实战教学2

Message: 接着写 .h 1 /*! 2 * @Author Dylan. 3 * 4 * callback Block 5 */ 6 typedef void(^sendSuccess)(); 7 typedef void(^sendFailure)(id); 8 9 /*! 10 * sendMessageBy model 11 */ 12 - (void)sendMessage: (ADMessageModel *)message 13 sendSuccess: (sendSucce

XMPP登录注册好友群组_实战教学3

// Roster 我们继续写 获取好友列表 .h 1 /*! 2 * @Author Dylan. 3 * 4 * Roster 5 */ 6 7 typedef void (^refreshRosterListFailure) (id); 8 typedef void (^Rosterlist) (id); 9 10 /*! 11 * @Author Dylan. 12 * 13 * request for roster list. IQ 14 */ 15 - (void)refreshRo

xmpp登录注册好友群组_实战教学4

// 实现好友状态的获取 - 在线.离线  别的状态自己去写一下判断和回掉就好 .h 1 /*! 2 * @Author Dylan. 3 * 4 * Paresence 5 */ 6 typedef void (^userGoOnline) (NSString *); 7 typedef void (^userGoOffline) (NSString *); 8 9 - (void)refreshRosterPresence: (userGoOnline)online 10 offline:

第13周软编学习小结

我的小结: 我的收获:     说真的!第8周至第11周的小组讲课,我的收获不是太丰富.因为这不同于初高中的课前预习,我认为设计模式与原则有点不大好理解,课前预习不充分也是其一因素,还有一个问题是,自初中就接受的是外界灌输式教学方式,没有养成自己主动学习的习惯,不过我有通过编程序,敲代码来提高自己对软件编程的学习与认识.                  本周小结 类别 内容 开始时间 结束时间 中断时间 前后用时 活动 本周站点会议 14:30h 16:00h 20min 90min 撰写博客

实习求职小结

今年找实习不够顺利,以过去为镜,总结一下自己的一些不足 在简历投递中,我主要是考虑BAT这三家,AT都有熟人可以内推,但A家号称可以实习一个月,而T家一向都是3个月左右,Baidu需要的实习时间就更长了,我只能保证一个月的实习.去年听闻有些师兄乱拿实习offer,然后秋招进入一些公司的黑名单,故我慎之又慎,宁可错过实习,只投了A家. 阿里巴巴 我对阿里巴巴的期待很大,吴总也知道这点,2月份HR跟他说可以内推的时候,他就第一时间跟我说,然后我赶紧把简历做好,并发给了他. 3.2号 我在阿里巴巴实习

ucGUI的学习小结

前言 做一个小项目时需要实现GUI及相关操作(响应按键).用的SoC的优点是功耗低,但是受限于硬件能力,之前的SDK里并没有对GUI有很好的支持.后面对GUI的界面外观还有一定的要求,就在网上搜了一下开源GUI的相关资料.最终使用ucGUI实现了GUI操作,这里把相关的学习过程做一个简单小结,所有相关资料上传到了百度云盘(链接:http://pan.baidu.com/s/1qYvv84G 密码:1o4l) 基本流程是选择开源GUI--移植ucGUI--实现GUI元素的显示--显示单页GUI界面