社交网络编程主要使用iOS提供的social框架,目前social框架主要分为两个类:
(1)SLComposeViewController提供撰写社交信息(如微博信息)的视图控制器,由iOS系统提供UI。
(2)SLRequest封装了http请求,提供了统一的请求社交网络服务接口,能够直接与社交网络通信,没有UI需要自己编写设计。
本期先主要说一下第一种SLComposeViewController。SLComposeViewController所管理的视图可以撰写社交网络信息,发送这些信息以及取消发送,还有自己的位置信息。发送这样的社交网络信息一般会包含三种信息:初始文本,图片和超链接,因此SLComposeViewController提供了三个相对方法:
(1)-(BOOL)setInitialText:(NSString *)text;设置初始文本内容,
(2)-(BOOL)addImage:(UIImage *)image;添加图片
(3)-(BOOL)addURL:(NSURL *)url;添加超链接信息
下面介绍一个分享微博的实例:
- (IBAction)shareAction:(id)sender { SLComposeViewController *composeViewController=[SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeSinaWeibo];//获得一个社交网络服务类型为sinaweibo的撰写视图控制器对象 if([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {//判断指定的社交网络是否可以使用,如果在系统中设置了社交网络账户信息,并且你的网络没有问题,会返回yes SLComposeViewControllerCompletionHandler __block completionHandler = ^(SLComposeViewControllerResult result) { [composeViewController dismissViewControllerAnimated:YES completion:nil];//关闭模态视图 switch(result){
case SLComposeViewControllerResultCancelled://取消情况下
default:
NSLog(@"Cancelled.....");
break;
case SLComposeViewControllerResultDone://完成情况下
NSLog(@"Posted....");
break;
}
}; [composeViewController addImage:[UIImage imageNamed:@"icon@2x.png"]];//添加图片
[composeViewController setInitialText:@"欢迎打开百度。"];//添加内容
[composeViewController addURL:[NSURL URLWithString:@"http://www.baidu.com"]];//设置超链接
[composeViewController setCompletionHandler:completionHandler];//设置视图完成回调的代码块
//模态视图呈现,如果是iPad则要Popover视图呈现
[self presentViewController:composeViewController animated:YES completion:nil]; }
}
关于代码具体说明已经注释的很详细不做过多说明了。
总结一下整个过程可以分为:
(1)创建内容编辑控制器
(2)设置分享内容(文本内容、图片、超链接等)
(3)设置发送(或取消)后的回调事件
(4)展示控制器。
效果: