IOS开发中实现whatsapp和Facebook分享过程的总结

来源:互联网 发布:软件测试 培训 编辑:程序博客网 时间:2024/06/11 00:20

首先,先给这篇文章定个位~~这不是一篇关于如何实现上述两个功能的手把手教程,只是将我在做这个的过程中遇到的问题以及找到的有用的资料在此罗列下,方便自己回顾,也方便有实现这方面要求的小伙伴找找资料~

首先说明下我所了解到的实现这个功能的方法:

1、利用第三方框架实现,其中比较常见的有Sharekit和友盟,具体如何使用这两个分享就不详细说了,百度一下上官网,实现步骤很详细,而且我也不是用这种方式实现的,老大明确要求要用facebook和whatsapp的sdk来实现

2.利用UIActivityViewController来实习分享,其实我认为这是最简单的方法,如果对分享的界面等要求不高的话,这个效果已经很好了。推荐一篇cocoaChina上的链接:研究UIActicityViewController和简书上的玩转IOS开发:《使用系统自带的UIActivityViewController和UIActivity进行内容分享》

需要注意的是在玩转IOS开发:《使用系统自带的UIActivityViewController和UIActivity进行内容分享》中有两点不是很好:

a.文中是实现分享功能,但是却在自定义的UIActivity没有调用activityCategory方法(默认为返回UIActivityCategoryAction);实际上IOS在分的时候将UIActivity分成操作和分享两类,UIactivityviewController的下面一栏默认显示的是操作分类,上面一栏显示分享分类

b.其中提到需要在activityImage前面加下划线(有点奇怪的现象,之前测试的时候,没加没有任何问题,后面在需要开发的时候,又变灰色了,这点就看实际情况考虑吧)。

关于UIActivityViewController的更详细的说明最好去查看apple的官方文档,然后还有一点要说明的是,并不是activityViewController.excludedActivityTypes中可供排除的方法才能够使用,实际上只要是实现了app extension的app都会出现在UIactivityviewcontroller的可供操作项中(包括whatsapp前提是你是IOS8.0以后以及下载了whatsapp)

c.需要注意的是最后只要调用activityDidFinish:方法则表示该操作已经完成,对象会被释放,有些延时的任务需要注意这一点

3.第三种就是通过Facebook和whatsapp的sdk来实现,Facebook最详细的文档还是他的官方文档,主要要提供的是whatsapp分享实现的方法,whatsapp对于IOS没有所谓的sdk可供调用,只能通过[[UIApplication sharedInstance] openURL:]来实现这个功能,这是官方文档的链接实际上这个链接说的也很不详细,连怎么分享的实现都没有~。~总结下注意点:

a.首先不用去想着既能分享文字,又能分享图片,反正我是没找到方法的

b.实际上分享一个总的URL就足够了,在分享到whatsapp上的时候会自动去获取url上的内容,实际分享效果还是可以的

c.具体怎么分享URL,请参考这个链接上的9楼。分享文字和图片可以参考http://jingyan.baidu.com/article/f54ae2fc39d0d91e92b849b8.html

d.还要注意的一点是在分享字符串的时候不要通过【string stringwithformat:】去拼接字符串,貌似这样拼接玩转成URL后就会出现无法跳转到whatsapp的情况,具体原因不明

e.不要忘了在info.plish的LSApplicationQueriesSchemes字段下添加whatsapp字段

4.实现facebook分享还可以使用SLComposeViewController,记得导头文件

#import <Social/Social.h>

在然后说下在实现UI的时候遇到的小问题一并列在下面吧;

1.Iphone的各个版本尺寸

2.IOS利用模态弹出视图类似AlertView效果





0 0
原创粉丝点击