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哈!
相关文章推荐
- iOS从项目中删除Cocoapods
- iOS开发判断版本号不同
- iOS大牛博客集
- Windows上使用ionic开发IOS程序
- 从零迈向iOS--新手篇
- iOS之Cookie
- iOS使用AVFoundation实现二维码扫描(ios7以上)——转载
- iOS 应用程序生命周期中那些不可忽视的“存在”
- Nagios利用NSClient++监控Windows主机
- iOS--资料--类目Category收集
- iOS之本地推送通知使用介绍
- iOS DataSource从tableview分离 简化viewController
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- iOS 验证字符串是否包含某字符串
- ios:The executable was signed with invalid entitlements新设备run出现这个问题
- iOS6 自动布局 入门–Auto Layout(转)
- iOS开发------使用自定义.bundle中的资源文件
- IOS推送声音设置
- iOS两个.a文件合并成一个.a文件
- 利用xib对控件添加约束 适配屏幕