一、如何实现社交分享
在iOS中,实现“社交分享”的方法
1.自己编写各个平台的分享代码(代码量较多)
2.利用iOS自带的Social.framework
3.利用第三方的分享框架
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
代码:
//
// ViewController.m
// IOS_0404_系统自带分享
//
// Created by ma c on 16/4/4.
// Copyright © 2016年 博文科技. All rights reserved.
// #import "ViewController.h"
#import <Social/Social.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor cyanColor];
} - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//1.判断服务是否可用
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
NSLog(@"分享可用");
}
//2.创建分享控制器
SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
//设置默认数据
[composeVC setInitialText:@"呵呵哈哈"];
[composeVC addImage:[UIImage imageNamed:@""]];
//3.弹出分享控制器
[self presentViewController:composeVC animated:nil completion:nil];
//4.监听分享状态
composeVC.completionHandler = ^(SLComposeViewControllerResult result){ if (result == SLComposeViewControllerResultCancelled) {
NSLog(@"取消发送");
} else {
NSLog(@"发送成功");
} }; } @end