首先,感谢王存锴同学的工作,代码相关的实现全是存锴的功劳。
随着iOS6的发布, 最新集成的Facebook和微博分享功能为我们的程序 社交化提供了更方面的方式,但如果我们的应用 想支持旧的版本,就需要考虑旧的应用方式 ,而且我们以前有一个非常好用的ShareKit 这个库了,难道我们需要放弃吗?
当然不是,为什么不做下扩充呢,毕竟ShareKit本身的结构挺不错的,
ShareKit本身的历史就不再讨论了,有兴趣的同学可以在这个链接上面看看–http://getsharekit.com
还有另外一位国内的开发者做了对国内社交网络的支持,大家可以关注一下他的Blog–http://icyleaf.com/2011/05/append-related-services-into-sharekit-from-china
关于iOS6自带的分享功能, 苹果提供的API非常简洁,创建一个ViewController
SLComposeViewController *socialVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
这个ViewController会提供完美的界面,就是WWDC演示分享图片那样。 当然,创建了就需要把它显示出来 ,一样非常简单的工作
[[self currentTopViewController] presentViewController:socialVC animated:YES completion:Nil];
那我们分享的内容在哪体现出来 呢,别着急,看下面的代码,把文字,URL, 图片资源都加载上来了,
if (self.item.text) {
[socialVC setInitialText:self.item.text];
}else if(self.item.title){
[socialVC setInitialText:self.item.title];
}
if (self.item.URL) {
[socialVC addURL:self.item.URL];
}
if (self.item.image) {
[socialVC addImage:self.item.image];
}
以上的部分是关于分享代码内部的详细分析,下面来说如何判断iOS6的新功能是否可行呢,下面的函数可以帮你搞定。
- (BOOL)FacebookFrameworkAvailable {
if (NSClassFromString(@”SLComposeViewController”)) {
return YES;
}
return NO;
}
讨论完上面的内容 ,做为开发者 , 那我们需要在程序调用中做什么事情呢?
如果以前用的就是ShareKit, 那恭喜你,代码不用做任何的修改, 简单的替换文件就OK了。
由于附件只支持2M的大小, 我不能把整个ShareKit的项目工程上传上来,我会把它上传到SVN上面。附件是支持Facebook的两个头类文件,过两天我会把支持Weibo分享的包上传上来。