一键分享文字图片到新浪微博,facebook,twitter 还有保存打印等 (使用 iOS6 自带的 social.framework)

因为写了一个把文字转为图片的长微博工具app,准备添加新功能,使其可以方便分享到新浪和twitter等社交网站,于是就看了下那些第三方库。

首先就是ShareKit. ShareKit刚开始感觉不错,但是因为是很久前写的,用了很多deprecated的methods,而且不是ARC的。追求大而全,所以感觉很臃肿,而且原作者不再开发了,其他人写的使用这个库的demo我下载下来不知怎么都有错,就算改了也是一堆warnings。

然后就是使用原厂的SDK,新浪要申请,手续繁琐,而且要单独去下载各家的SDK,很麻烦。

用apple自带的social.framework方便简单,但是必须要iOS6, 所以得放弃一部分未升级的用户,估计很多开发者不愿意。

不过不管怎样,这里简单介绍下如何通过其来分享内容。

( 通过这个demo可以直观的理解social.framework的使用流程:https://github.com/russj/ios6ShareDemo.git )

首先到target,Build Phases->link binary with libraries,添加social.framework,然后在要使用这个framework的文件头添加 #import<Social/Social.h>

  • 记得要到iphone或者simulator里的setting->相关app账号(用户名,密码)设置好,不然找不到account,不能post。如果找不到新浪微博,把语言调到中文试试。如果没有预先设置好账号,social.framework在真机和simulator上表现会不同。比如没有预先设置好facebook账号,在真机上下面方法1中不会有facebook图标显示,但是在模拟器上会有图标,如果点击facebook的图标,会跳出提示需要设置facebook账号。其实就是在模拟器上,对于SLComposeViewControllerisAvailableForServiceType 所有service都是available的,但是在真机上必须的预先设置好才available
  • 注意facebook和twitter,weibo取消行为不同。要把twitter,weibo的 setCompletionHandler 放到 presentViewController:slComposerSheet 的前面。不然需要点击两次才能推出twitter和weibo的发送sheet。

     

Social.Framework里有两种方法

  1. 第一种 UIActivityViewController。这个是最简单的。

- (IBAction)shareByActivity:(id)sender {

    NSArray *activityItems;

    if (self.sharingImage != nil) {

        activityItems = @[self.sharingTextself.sharingImage]

    } else {

        activityItems = @[self.sharingText];

    }

     UIActivityViewController *activityController =

    [[UIActivityViewControllerallocinitWithActivityItems:activityItems  applicationActivities:nil];

    [self presentViewController:activityController  animated:YES completion:nil];

}

Yes, that's all. self.sharingText 和sharingImage就是要post的文字和图片了。效果见下面截图。短短几行代码你就得到8种分享途径。够简单了把。

UIActivityViewController 使用截图

  2. 使用SLComposeViewController来分享到新浪微博。这个就相当于上面1里介绍的单个分享service。目前只有三种。新浪微博,facebook,twitter。微博力量大啊,估计以后还得加微信。

代码还是下载看吧,这里贴代码不好排版,好像也不能像其他论坛那样插入code。

总结:

  这个估计是最简单的实现社交分享功能的方法了。不足之处就是覆盖不够广泛,还有必须使用iOS6. 但是估计随着时间的推移,apple会丰富完善这个social.framework, 毕竟SNS是当下还有未来最火的热点之一。


本文转载 cocoachina

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值