1.Facebook官方的SDK分享         
2.ShareSDK,第三方集成的分享方式
3.网页分享方式分享
4.IOS6之后,苹果自己集成了对于Facebook和Twitter等社交分享进行了集成
1.加入Social.framework
2.#import <Social/Social.h>
3.声明变量SLComposeViewController *mySLComposerSheet;//share对象
注:1.如果你的当前的app只需要满足IOS6及以上系统的用户的需求(毕竟IOS5及以下的用户量很少),那么就不需要考虑太多,直接使用系统的分享方式。如下:(建议做个异常判断,毕竟崩溃也不好)
2.如果手机上自带的应用已经绑定账号,那么可以直接分享。
3.如果手机上安装了这些应用的客户端,自带的应用绑定了账号,那么他会优先客户端分享,没有登录会提示你登录。
4.如果客户端和自带的都没绑定账号,SLComposeViewController 的对象为nil 会崩溃,可以提前捕捉到,加个判断就行。
- (void)shareFacebook{
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    if ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=6){
        if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]){
            self.mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
            [self.mySLComposerSheet setInitialText:self.productDetailModel.productName];//产品名
            NSURL *imageUrl = [NSURL URLWithString:self.productDetailModel.primaryThumbimage];
            NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
            [self.mySLComposerSheet addImage:[UIImage imageWithData:imageData scale:1]];//产品图
            [self.mySLComposerSheet addURL:[NSURL URLWithString:self.productDetailModel.productUrl]];//产品地址
            [self presentViewController:self.mySLComposerSheet animated:YES completion:nil];
            [MBProgressHUD hideHUDForView:self.view animated:YES];
        }else{
            [MBProgressHUD hideHUDForView:self.view animated:YES];
            [self.view myMBProgressShowView:@"Not Available Facebook!"];
        }
        [self.mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
            NSString *output;
            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    output = MBLocalizedString(kFacebookActionCancell);
                    break;
                case SLComposeViewControllerResultDone:
                    output = MBLocalizedString(kFacebookPostSuccess);
                    break;
                default:
                    break;
            }
            if ((result = SLComposeViewControllerResultCancelled)) {
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:MBLocalizedString(kFacebookMessage) message:output delegate:nil cancelButtonTitle:MBLocalizedString(kFacebookOK) otherButtonTitles:nil];
                [alert show];
            }
        }];
    }
}
同样使用Social框架可以分享到Twitter,新浪微博,腾讯微博,前提是你手机上绑定了这些帐号,否则怎么知道使用哪个帐号分享,在iOS中有专门设置这些应用的地方
//下面是新浪的
-(void)shareToSina{
    //检查新浪微博服务是否可用
    if(![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]){
        NSLog(@"新浪微博服务不可用.");
        return;
    }
    //初始化内容编写控制器,注意这里指定分享类型为新浪微博
    SLComposeViewController *composeController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
    //设置默认信息
    [composeController setInitialText:@"Kenshin Cui‘s Blog..."];
    //添加图片
    [composeController addImage:[UIImage imageNamed:@"stevenChow"]];
    //添加连接
    [composeController addURL:[NSURL URLWithString:@"http://www.cnblogs.com/kenshincui"]];
    //设置发送完成后的回调事件
    __block SLComposeViewController *composeControllerForBlock=composeController;
    composeController.completionHandler=^(SLComposeViewControllerResult result){
        if (result==SLComposeViewControllerResultDone) {
            NSLog(@"开始发送...");
        }
        [composeControllerForBlock dismissViewControllerAnimated:YES completion:nil];
    };
    //显示编辑视图
    [self presentViewController:composeController animated:YES completion:nil];
}
//苹果源生的框架只支持这几个平台,如果要分享到微信,等可以使用第三方的一些:ShareSDK,友盟等

转载于:https://www.cnblogs.com/10-19-92/p/5149804.html

Facebook等使用苹果源生分享相关推荐

  1. 苹果新闻分享其新推出的小工具的iPad 2

    苹果新闻分享其新推出的小工具的iPad 2 计算机更改与变化中的世界.苹果为我们带来了新一代的电脑?平板电脑的iPad,在一只手的手掌的多任务程序的设备.所建议的苹果新闻,约83%的平板电脑份额已采取 ...

  2. [FaceBook]测试、发布和分享小游戏

    FaceBook小游戏 测试.发布和分享小游戏 对于小游戏,您现在可以十分轻松地在本地测试开发版本,自动完成发布流程,以及与团队分享编译版本.本文档会详细说明这些步骤. 通过本地服务器测试游戏 小游戏 ...

  3. Facebook如何“养号”干货分享

    很多外贸人都在Facebook上注册账号,想通过吸引大量粉丝来开展业务.但是该如何经营自己的个人专页,才能吸引到粉丝呢?经营Facebook专页是一个持续性的工作,要有一个长期的规划与策略.今天佳佳就 ...

  4. Facebook、Twitter、LinkedIn分享按钮总结

    Facebook.Twitter.LinkedIn都有分享按钮组件,可以通过点击按钮分享当前页面. 点击按钮后社交平台会得到当前页面的URL,然后会调用爬虫来抓取这个URL的信息, 这里有两种情况: ...

  5. Facebook 前端技术栈重构分享

    英文:Ashley Watkins, Royi Hagigi  译文:张克军 https://www.yuque.com/docs/share/6aee9dd5-da3f-462b-b4bd-caec ...

  6. 手把手教你如何在Facebook上找客户——实战分享

    Facebook用户很多很多,浩浩荡荡30亿,找到客户却很难.为什么,运营技巧很重要.这不,傲途的Facebook实战运营干货来了,手把手教你从FB上高效拓客引流. 01 从Facebook如何高效引 ...

  7. Facebook 登报反苹果,他反的到底是什么?

    苹果把保护数据的主动权交还用户,Facebook 等巨头怒起反抗. 我们很久没有看到科技圈的超级巨头如此针锋相对了. 12 月 17 日,Facebook 率先在<纽约时报>等媒体上登了一 ...

  8. 安卓的短信记录导入苹果_分享一下苹果手机怎么将短信备份导入到安卓手机的方法...

    不少朋友问苹果手机怎么将短信备份导入到安卓手机这个问题,今天小编整理了就iPhone怎么将电脑上的电影拖到手机上观看这一方面的信息分享给大家 百度搜索苹果助手软件itools,下载并安装该软件. 下载 ...

  9. 苹果备忘录分享不了微信提示无法连接服务器,关于微信分享后,提示“未验证应用”的解决办法(iOS)...

    目录 关于微信分享后,提示"未验证应用"的解决办法 1.Universal Link : 1.1 通用链接是iOS9推出的一项新功能,如果你的应用(app)支持通用链接(Unive ...

最新文章

  1. JavaScript基础笔记集合(转)
  2. ValueError: Classification metrics can‘t handle a mix of multiclass and unknown targets
  3. Bugku杂项(一)
  4. Python可视化中Matplotlib(4.三种设置样式方法、设置坐标刻度以及标签、设置显示出特殊字符)
  5. 谷歌发布android+8.2,谷歌Pixel 2代三款新机齐曝光:骁龙835+Android 8.0
  6. eigrp 扩散算法_EIGRP扩散更新算法-FC规则
  7. 无缝对接Spark与R:Sparklyr系列—探讨属于数据科学家的Spark
  8. Oracle使用Shell脚本导出Excel表格
  9. JSP不同情况下中文乱码解决问题
  10. 三菱a系列motion软体_三菱MDSDMSPV3系列连接接口说明
  11. raisecom msg融合网关成都电信实战分享
  12. 博弈论读书笔记(二):纳什均衡与野猪博弈
  13. java kryo_通过Kryo的序列化方式提升Netty性能
  14. 数据库的ACID(原子性、一致性、隔离性与持久性)
  15. 深度学习跑项目的注意事项
  16. 关于正向级数收敛而它的平方也收敛的证明
  17. 哪个相机可以拍gif动图_魅族手机如何拍摄Gif图片 魅族手机拍摄Gif动图的方法图解...
  18. 【NLP】深度文本匹配综述
  19. ctf-web-No one knows regex better than me
  20. 国内外网上银行比较--相关看法

热门文章

  1. OpenCV+反色处理
  2. 1月书讯:Hello 2021! (下)
  3. 关于小电脑研制与经营的研究报告
  4. hp服务器 linux,在Linux中监控HP和Dell的服务器(SNMP,Cacti)
  5. 计算机技术在家庭方面的应用,物联网技术在家庭方面的应用
  6. 现在IT行业哪个方向比较好?
  7. 张小龙、周鸿祎、傅盛都认同的架构设计思维
  8. Excel导入30万条数据和导出50万条数据方案
  9. 本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。
  10. react的版本操作