一、如何实现社交分享
在iOS中,实现“社交分享”的方法
1.自己编写各个平台的分享代码(代码量较多)
2.利用iOS自带的Social.framework
3.利用第三方的分享框架
友盟分享:
ShareSDK:
百度社会化分享组件:
(百度还有个“社会化登录组件”:)
二、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 #import11 12 @interface ViewController ()13 14 @end15 16 @implementation ViewController17 18 - (void)viewDidLoad {19 [super viewDidLoad];20 self.view.backgroundColor = [UIColor cyanColor];21 }22 23 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event24 {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