社交网络编程主要使用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)展示控制器。

效果:

iOS网络编程笔记——社交网络编程的更多相关文章

  1. iOS网络编程笔记——Socket编程

    一.什么是Socket通信: Socket是网络上的两个程序,通过一个双向的通信连接,实现数据的交换.这个双向连路的一端称为socket.socket通常用来实现客户方和服务方的连接.socket是T ...

  2. 社交网络编程API之iOS系统自带分享

    社交网络编程API 社交网络编程主要使用iOS提供的Social框架,目前Social框架主要包含两个类: SLComposeViewController 提供撰写社交信息(如微博信息)的视图控制器, ...

  3. iOS网络编程模型

    iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...

  4. IOS网络编程——第三方类库

    IOS网络编程——第三方类库 目录 概述 ASIHttpRequest AFNetworking 其他 概述 ASIHttpRequest AFNetworking 其他

  5. IOS网络编程:HTTP

    IOS网络编程:HTTP HTTP定义了一种在服务器和客户端之间传递数据的途径. URL定义了一种唯一标示资源在网络中位置的途径. REQUESTS 和 RESPONSES: 客户端先建立一个TCP连 ...

  6. iOS网络高级编程:iPhone和iPad的企业应用开发(书籍学习)

    作者:Jack Cox.Nathan Jones.John Szumski 译者:张龙  勘误  前言  第 I 部分 理解iOS与企业网络 这一部分从高层次概览了iOS网络以及针对移动网络架构的最佳 ...

  7. iOS 网络编程模式总结

    IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式.stream方式.url 方式. 一 .socket 方式 IOS 提供的socket 方式的网络编程接口为C ...

  8. iOS 网络编程 TCP/UDP HTTP

    一.HTTP协议的主要特点: 1. CS模式 2. 简单快速:只需要传送请求方法和路径.(常用方法有GET,HEAD,POST) 3. 灵活:任意对象都可以,类型由Content-Type加以标记 4 ...

  9. 从socket开始讲IOS网络编程

    home list tags talk user rss Mac&iOS Socket 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半 ...

随机推荐

  1. CentOS 6.4 升级python 2.6.6 到 python 2.7.9

    1. 查看当前系统python的版本 python -V 2. 下载python软件包 cd /usr/local/src wget http://python.org/ftp/python/2.7. ...

  2. c++编程思想(三)--c++中c 续,重点sizeof和内存对齐

    之前理论性的太多,下面就是代码及理论结合了 1.sizeof()是一个独立运算符,并不是函数,可以让我们知道任何变量字节数,可以顺带学一下struct,union,内存对齐 内存对齐:为了机器指令快速 ...

  3. web移动端Fixed在Input获取焦点时ios下产生的BUG及处理

    1.现象 可以看到下面两张图,图1搜索框为fixed固定在顶部,滚动没有任何问题. 图2当光标进入搜索框时,ios自作聪明的把光标定位到中间,并且fixed属性被自动修改成了absolute.此时注意 ...

  4. 解决HTML导出Excel表数字变成科学计数法

    - js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转 ...

  5. 使用SigbalR发送通知

    微信商城使用支付宝支付的时候,需要有个过度页面提示用户用浏览器打开页面去支付,等用户在浏览器支付完之后再打开微信(微信此时依旧显示的是过度页面),过度页面需要跳转到订单详情页面.那么这个过度页面怎么知 ...

  6. java中final小结

    fanal 修饰类,该变量一经赋值,就不能够再修改 修饰类,该类不能让子类继承. 修饰方法,该方法不能被子类重写(隐藏). fanal修饰类与方法的意义 1  某个类或方法实现上已经非常完善,不需要子 ...

  7. 【Zookeeper】源码分析之网络通信(一)

    一.前言 前面已经分析了请求处理链中的多数类,接着继续分析Zookeeper中的网络通信模块. 二.总体框图 对于网络通信模块,其总体框图如下所示 说明: Stats,表示ServerCnxn上的统计 ...

  8. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题

    一.问题分析 对于后台系统,相比大家都有所印象,知道其中的布局结构,如图: 在这种布局中我们需要将header,sidebar,footer分开,而且对于中间部分的content内容需要动态变化,即根 ...

  9. USB重定向

    第一期中,我们一起简要的看了下传统PC和桌面云下USB重定向和USB设备重定向方式的差异,了解了桌面云下外设兼容性问题来源的根源-USB设备本身驱动不规范/不支持, 或者虚拟机驱动实现上与USB设备对 ...

  10. RHEL 6.0 FTP服务器配置菜鸟配置过程记录

    环境: 虚拟机 RHEL6.0  为了图方便,直接就默认安装了,结果酿成大错,后表~~ 项目:搭建VSFTPD服务器 1.网络ifconfig 配置好,给个IP 2.RPM包或者YUM安装vsftpd ...