准备

首先要引进例如以下三个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];
}
}

MAIL

urlStr邮件内容,kMailAddress为目的邮件地址

PS:self须要实现MFMailComposeViewControllerDelegate协议才会发送邮件后调用以下第二个方法

//MAIL
- (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];
}

最新文章

  1. *POJ 1222 高斯消元
  2. CNC Fanuc 设备数据采集
  3. 详解js中的闭包
  4. Unity3D 新人学习的一点感想
  5. 【Python学习笔记】字典操作
  6. ArcGIS 读写lyr层文件
  7. hdu2571命
  8. sql 将表B中不存在表A的数据 插入到表A中
  9. Java中的方法
  10. 201521123029《Java程序设计》第四周学习总结
  11. 分享基于分布式Http长连接框架--代码模型
  12. 【WebApi系列】浅谈HTTP
  13. 图像处理------透明混合 - Alpha Blending效果
  14. java原码、补码、反码总结
  15. Flask 系列之 部署发布
  16. linux下编译upx ucl
  17. java学习之—排序
  18. Java - 异常解析基础
  19. centos 6.3 64位下cpuminer +mining_proxy 挖掘莱特币(LTC)教程
  20. python2/3 中删除字典中value为空的键值对方法

热门文章

  1. Mac eclipse java6环境安装
  2. C# 获取U盘ID序列号及U盘信息
  3. SQL Server错误: 0 解决方案
  4. PyQt5实现第一个桌面应用程序
  5. oracle将一个字段拆分成多个值 (regexp_substr函数)
  6. [kuangbin带你飞]专题四 最短路练习
  7. Linux部署Web项目小记
  8. Python中接收用户的输入
  9. 集训第五周动态规划 E题 LIS
  10. NRF24L01注意点