前言:
很多APP中都带有社交分享功能,国内较或的分享平台有微信,IOS6后苹果集成的新浪微博,还有IOS7后集成的腾讯微博。 在IOS中,实现社交分享可以自己编写各个平台的分享代码,但代码量较多,也可以利用iOS自带的Social.framework,更可以利用第三方的分享框架,如友盟,ShareSDK等。
本文主要介绍一下系统自带的分享服务框架。 iOS系统为我们提供了两个不同的类来实现分享服务。
- SLComposeViewController 提供撰写社交信息(如微博信息)的视图控制器,有iOS系统提供UI,就是写入要分享内容的小弹出框。属于Social.framework框架。
- UIActivityViewControlelr 是iOS6的新的内容,它提供了一个分享列表视图控制器。属于UIKit.framework框架。
1. 分享视图控制器:SLComposeViewController
SLComposeViewController的呈现在iPhone采用模态视图,iPad则需要Popover视图呈现。如果发送微博信息并不像弹出分享列表,再去选择,而是在应用中直接进入写评论的地方(iOS系统提供的UI画面)。SLComposeViewController类可以帮助我们实现这个目的,SLComposeViewControlelr不仅可以撰写weibo,还可以撰写Tweet和Facebook。发送这样的社交网络信息一般会包含3中信息:初始文本、图片和超链接,因此SLComposeViewController类设计3个相对方法:
- setInitialText:(NSString *)text,设置初始文本内容
- addImage:(UIImage *)iamge,添加图片
addURL:(NSURL *)url,添加超链接信息
使用SLComposeViewController来实现社交分享的具体步骤如下: 1. 判断设备是否可以向指定的分享平台分享。 2. 创建分享视图控制器,指定分享平台 3. 设置分享内容。 4. 进入分享界面。 5. 监听用户操作。
示例代码:
- (IBAction)social:(id)sen