一、如何实现社交分享
在iOS中,实现“社交分享”的方法
1.自己编写各个平台的分享代码(代码量较多)
2.利用iOS自带的Social.framework
3.利用第三方的分享框架
友盟分享:http://dev.umeng.com/social/ios/share/quick-integration
ShareSDK:http://wiki.mob.com/iOS快速集成指南
百度社会化分享组件:http://developer.baidu.com/soc/share
(百度还有个“社会化登录组件”:http://developer.baidu.com/soc/login)
二、Social.framework使用步骤
判断服务是否可用
[SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]
弹出分享内容输入界面
SLComposeViewController *cc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
[self presentViewController:cc animated:YES completion:nil];
额外设置
[cc setInitialText:@"测试文字"]; // 初始化文字
[cc addImage:[UIImage imageNamed:@"lufy"]]; // 配图
三、社交平台简介
1.Twitter——推特
始于2006年,目前有2亿用户
Twitter是一个广受欢迎的社交网络服务,允许用户将自己的最新动态和想法以移动电话中的短信息形式(微博只允许140字的由来)发表推文
名字的来历,Twitter是一种鸟叫声,创始人认为鸟叫是短、频、快的,符合网站的内涵
iOS 5中提供了Twitter API
iOS 6中将Twitter集成入Social.framework
2.Facebook——非死不可
Facebook是世界排名第一的照片分享站点,每天上传八百五十万张照片
2004年2月4推出,截至2012年9月,网站内已有超过十几亿个活跃用户,用户上传的相片数量超过2190余亿张
是全球第一大社交网站,创始人是84年出生的扎克伯格,2008年已经拥有135亿身家
Facebook提供有应用程序接口(开放接口)
iOS中的Accounts.framework与Social.framework结合可以对Facebook中的媒体服务做更加精准的控制
3.LinkedIn
商业客户导向的社交网络服务网站,成立于2002年12月并于2003年启动
2011年1月,LinkedIn有超过9000万的注册用户
2012年1月,LinkedIn已经超过1.5亿的注册用户
目的是让注册用户维护他们在商业交往中认识并信任的联系人,这些人被称为“人脉”(Connections)。用户可以邀请他认识的人成为人脉
iOS 7中将LinkedIn集成入Social.framework
代码:
1 // 2 // ViewController.m 3 // IOS_0404_系统自带分享 4 // 5 // Created by ma c on 16/4/4. 6 // Copyright © 2016年 博文科技. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 #import <Social/Social.h> 11 12 @interface ViewController () 13 14 @end 15 16 @implementation ViewController 17 18 - (void)viewDidLoad { 19 [super viewDidLoad]; 20 self.view.backgroundColor = [UIColor cyanColor]; 21 } 22 23 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 24 { 25 //1.判断服务是否可用 26 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) { 27 NSLog(@"分享可用"); 28 } 29 //2.创建分享控制器 30 SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]; 31 //设置默认数据 32 [composeVC setInitialText:@"呵呵哈哈"]; 33 [composeVC addImage:[UIImage imageNamed:@""]]; 34 //3.弹出分享控制器 35 [self presentViewController:composeVC animated:nil completion:nil]; 36 //4.监听分享状态 37 composeVC.completionHandler = ^(SLComposeViewControllerResult result){ 38 39 if (result == SLComposeViewControllerResultCancelled) { 40 NSLog(@"取消发送"); 41 } else { 42 NSLog(@"发送成功"); 43 } 44 45 }; 46 47 } 48 49 @end