iOS社交分享Twitter、Facebook、拷贝到剪切板、LINE、及邮件
准备
首先要引进例如以下三个framework:
MessageUI.framework
Social.framework
Accounts.framework
并在实现这几个方法的地方引入下面几个头文件
#import <MessageUI/MFMailComposeViewController.h>
#import <Social/Social.h>
#import <Accounts/Accounts.h>
Twitter及Facebook
当中urlStr为我分享的url字符串,你能够传你想分享的内容
//Twitter 、Facebook
- (void)shareUrl:(NSString *)urlStr ViaSLFrameWork:(NSString *)slType
{
//only support fecebook and twitter
if ([slType isEqualToString:SLServiceTypeFacebook] || [slType isEqualToString:SLServiceTypeTwitter])
{
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *socialComposer = [SLComposeViewController composeViewControllerForServiceType:slType];
[socialComposer addURL:[NSURL URLWithString:urlStr]];
[socialComposer setCompletionHandler:^(SLComposeViewControllerResult result)
{
NSString *outStr = [NSString new];
switch (result) {
case SLComposeViewControllerResultCancelled:
outStr = @"分享失败。";
break;
case SLComposeViewControllerResultDone:
outStr = @"分享失败! ";
break;
default:
break;
}
UIAlertView *myalertView = [[UIAlertView alloc]initWithTitle:nil
message:outStr
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[myalertView show];
}];
[self presentViewController:socialComposer animated:YES completion:nil];
}
}
}
复制内容到剪切板
//URL复制
- (void)pasteUrl:(NSString *)url
{
//复制文字
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setString:url]; //复制图片
/*
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setData:UIImageJPEGRepresentation([UIImage imageNamed:@"account_icon_friend.png"] , 1.0) forPasteboardType:@"public.jpeg"];*/ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"内容已拷贝到剪切板" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
LINE
当中urlStr为我要分享的内容。分享的为Text
//LINE
- (void)shareWithLine:(NSString *)urlStr
{
//分享文字
NSString *contentType = @"text";
NSString *urlString = [NSString
stringWithFormat:@"line://msg/%@/%@",
contentType, [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
/******分享图片
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setData:UIImageJPEGRepresentation([UIImage imageNamed:@"account_icon_friend.png"] , 1.0) forPasteboardType:@"public.jpeg"]; NSString *contentType = @"image";
NSString *urlString = [NSString
stringWithFormat:@"line://msg/%@/%@",
contentType, pasteboard.name]; //从剪切板中获取图片,文字亦能够如此
*/
NSURL *url = [NSURL URLWithString:urlString];
LorwyLog(@"%@",url);
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"无效的url" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
}
urlStr邮件内容,kMailAddress为目的邮件地址
PS:self须要实现MFMailComposeViewControllerDelegate协议才会发送邮件后调用以下第二个方法
- (void)shareUrlMail:(NSString *)urlStr
{
if ([MFMailComposeViewController canSendMail])
{ MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
[mailViewController setSubject:kMailAddress];
[mailViewController setMessageBody:urlStr isHTML:NO]; mailViewController.mailComposeDelegate = self;
mailViewController.navigationBar.tintColor = [UIColor blackColor]; [self presentViewController:mailViewController animated:YES completion:nil];
}
} - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissViewControllerAnimated:YES completion:nil];
}
iOS社交分享Twitter、Facebook、拷贝到剪切板、LINE、及邮件的更多相关文章
- IOS 社交分享
#import <Social/Social.h> @interface HMViewController () @end @implementation HMViewController ...
- VC拷贝字符串到剪切板
] ="中华人民共和国"; DWORD dwLength = ; // 要复制的字串长度 HANDLE hGlobalMemory = GlobalAlloc(GHND, dwLe ...
- Unity3d 复制文字到剪切板及存储图像到相册
游戏中里开发分享功能时用到两个小功能:1.复制一个链接到剪切板供在其他应用粘贴分享使用,2.保存一张二维码图像到相册供发送给其他应用用于分享.但是在unity中无法完成,需要分别开发相应的插件. An ...
- 使用clipboard.js复制页面内容到剪切板
最近在做一个的智能客服Web端浏览器应用,其中有一项需求是客户在获取系统返回的 答案后点击“复制答案”按钮将答案复制到系统剪切板.本以为这是一个小case,但是发现如果 要对各种主流浏览器都有良好的兼 ...
- 照片大管家iOS-实现本地相册、视频、安全保护、社交分享一站式功能,源码开放
<照片大管家> APP功能: 1.本地照片批量导入与编辑 2.本地视频存储与播放 3.手势密码.数字密码.TouchID安全保护 4.QQ.微信.微博.空间社交分享 5.其他细节功能. 运 ...
- 照片管家iOS-实现本地相册、视频、安全保护、社交分享源码下载Demo
<照片管家> APP功能: 1.本地照片批量导入与编辑 2.本地视频存储与播放 3.手势密码.数字密码.TouchID安全保护 4.QQ.微信.微博.空间社交分享 5.其他细节功能. 运用 ...
- 分享到twitter,facebook,google,yahoo,linkedined,msn
编辑器加载中... 1. 分享到twitter的代码” title=”分享到 Twitter” target=”_blank” rel=”nofollow”>Twitter 2. 分享到Face ...
- iOS - Share 分享/第三方登录
1.系统方式创建分享 按照下图在 Info.plist 文件中将 Localization native development region 的值改为 China.如果不设置此项弹出的分享页面中显示 ...
- 15 款 jQuery 社交分享插件
过去几年中社交媒体越来越流行了,能够分享音乐.视频.图像甚至是其他的 docs 文档到互联网上去,这样子还能够提高页面的点击量.通常,一些社交媒体插件都能允许你的用户分享你网站上的内容到其他的社交平台 ...
随机推荐
- Objective-C 是动态语言
Objective-C 的动态性是由 runtime 相关的库赋予的. 当然其他语言也完全可以运行在一个 Runtime 库上而获得动态性,由于多数高级语言的诞生都对应着一种编译器,因此将编译器的特性 ...
- C/S模型:TCP,UDP构建客户端和服务器端(BIO实现
Java中提供了socket编程来构建客户端和服务器端 TCP构建服务器端的步骤:(1)bind:绑定端口号(2)listen:监听客户端的连接请求(3)accept:返回和客户端连接的实例(4)re ...
- scrapy增加爬取效率
增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100. 降低日志级别 ...
- day25-1 网络架构与互联网组成
目录 网络架构 单机架构 CS架构 数据放在服务端和客户端的利与弊 BS架构 互联网和互联网的组成 互联网的硬件组成 互联网的软件组成 网络架构 单机架构 应用领域: 单机游戏 CS架构 基于网络,应 ...
- D1. Toy Train (Simplified)
D1. Toy Train (Simplified) time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- CentOS中一些基本的操作记录
1)切换到root su root 输入你的密码.我的是123
- ORACLE中的游标Cursor总结
游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作. 游标可分为: 1. 静态游标:分为显式(explicit)游标和 ...
- [Python3网络爬虫开发实战] 3.1.3-解析链接
前面说过,urllib库里还提供了parse这个模块,它定义了处理URL的标准接口,例如实现URL各部分的抽取.合并以及链接转换.它支持如下协议的URL处理:file.ftp.gopher.hdl.h ...
- Volume 1. String(uva)
10361 - Automatic Poetry #include <iostream> #include <string> #include <cstdio> # ...
- LINUX:Contos7.0 / 7.2 LAMP+R 下载安装Php篇
文章来源:http://www.cnblogs.com/hello-tl/p/7569071.html 更新时间:2017-09-21 16:03 简介 LAMP+R指Linux+Apache+Mys ...