您的位置:首页 > 移动开发 > IOS开发

iOS学习笔记35-社交分享

2016-04-18 18:01 585 查看

一、社交分享

现在很多应用都内置“社交分享”功能,可以将看到的新闻、博客、广告等内容分享到微博、微信、QQ、人人网等,其实从iOS6.0开始苹果官方就内置了
Social.framework
专门来实现社交分享功能,利用这个框架开发者只需要几句代码就可以实现内容分享。

Social框架使用步骤:

导入
Social.framework
框架,添加头文件

#import <Social/Social.h>


创建分享内容编辑控制器
SLComposeViewController


设置分享内容、图片、超链接等

设置发送后的回调

弹出控制器,进行显示

Social框架支持的分享:
NSString *const SLServiceTypeTwitter;//Twitter分享,iOS6以上支持
NSString *const SLServiceTypeFacebook;//Facebook分享,iOS6以上支持
NSString *const SLServiceTypeSinaWeibo;//新浪微博分享,iOS6以上支持
NSString *const SLServiceTypeTencentWeibo;//QQ分享,iOS7以上支持

必须先在设置中设置分享账号,Social才知道是哪个账号进行发送的:



以下是新浪微博分享的简单示例:
#import "ViewController.h"
#import <Social/Social.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
//分享到新浪微博
[self shareToSinaWeibo];
}
/* 分享到新浪微博 */
- (void)shareToSinaWeibo{
//检测新浪微博服务是否可用
if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
NSLog(@"新浪微博服务不可用");
return;
}
//创建分享内容编辑控制器,指定类型为新浪微博
SLComposeViewController *compose =
[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
//设置分享内容
[compose setInitialText:@"执着-执念的简书博客"];
//设置分享图片
[compose addImage:[UIImage imageNamed:@"image.jpg"]];
//设置超链接
[compose addURL:[NSURL URLWithString:@"http://www.jianshu.com/users/1e5629b22b63/latest_articles"]];
//设置回调
__block SLComposeViewController *blockController = compose;
compose.completionHandler = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultDone) {
NSLog(@"发送完成");
}
//弹回
[blockController dismissViewControllerAnimated:YES completion:nil];
};
//弹出控制器
[self presentViewController:compose animated:YES completion:nil];
}
@end




二、第三方框架

从上面可以看出,苹果官方默认支持的分享并不太多,特别是对于国内的应用只支持新浪微博和腾讯微博,那么如果要分享到微信、人人、开心等等国内较为知名的社交网络怎么办呢?

目前最好的选择就是使用第三方框架,因为如果要自己实现各个应用的接口还是比较复杂的。

以下是使用得比较多的第三方分享框架:

友盟社会化组件

ShareSDK

具体使用参考对应的SDK文档,这里就不讲了。

有什么问题在下方评论区中提出!O(∩_∩)O哈!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: