iOS上一个简易方便使用的分享框架SZShare

在iOS app 开发中经常会有分享的需求,而一般的app分享的平台基本就是那么几个QQ、微信、微博;实现的方式有那么几种:

1、通过各平台提供的SDK自行封装;

2、使用第三方集成好的SDK(ShareSdk、友盟分享);

这两种方式在分享需求比较复杂的情况下,是一个好的选择,但很多时候只是简单的分享一下app,图文等等;自行封装成本较高,需要花费时间看SDK文档;ShareSdk和友盟分享需要导入很多不必要的文件,还需要在其平台注册才能使用。所以,如果你只是简单的分享,我推荐一款开源的分享框架SZShare。(github:一款使用简单小巧的分享控件)。

一、介绍

SZShare 是参考OpenShare及ShareSdk写的,内部实现是用的OpenShare方式,不需要分享平台的SDK,整个文件不到120k;同时方便扩展及自定义。

二、使用 

1.注册 在didFinishLaunchingWithOptions:中添加以下代码

[SZShare registerPlatforms:@[@(SZPlatformTypeQQ),

@(SZPlatformTypeWeChat),

@(SZPlatformTypeSinaWeibo)]

onConfiguration:^(SZPlatformType platform) {

switch (platform) {

case SZPlatformTypeQQ:

[SZShare connectQQWithAppId:kAppIdQQ];

break;

case SZPlatformTypeSinaWeibo:

[SZShare connectWeiboWithAppKey:kAppKeyWeibo];

break;

case SZPlatformTypeWeChat:

[SZShare connectWeChatWithAppId:kAppIdWeChat];

break;

default:

break;

}

}];

*注、需要在各分享平台注册自己的App拿到appKey 2.分享回调

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

//第二步:添加回调

if ([SZShare handleOpenURL:url]) {

return YES;

}

//这里可以写上其他OpenShare不支持的客户端的回调,比如支付宝等。

return YES;

}

3.分享相关信息

SZShareMessage *message = [[SZShareMessage alloc] init];

//单纯分享图片 则只需要这两个参数

message.title = @"分享标题";

message.image = @"分享图片,需要传入UIimage对象";

//其他分享需要加上这两个

message.desc = @"分享描述";

message.link = @"分享链接";

[SZShareSheet shareToPlatformsWithMessage:message onShareStateChanged:^(SZShareState state) {

switch (state) {

case SZShareStateWithOutSupportPlatform:

NSLog(@"no platforms has exist!");

break;

case SZShareStateSuccess:

break;

case SZShareStateFailure:

break;

case SZShareStateCancel:

break;

default:

break;

}

}];

***说明:目前只实现了QQ好友,QQ空间,微信好友,微信朋友圈,新浪微博(仅限这些平台)(仅限分享纯图片和链接文字两种类型)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 由于分享的定制,大部分需要我们自定义界面,只要调用对应的接口就可,但是找了很多,终于找到加上自己总结总结出以自定义...
    小白哥有话说阅读 3,027评论 1 0
  • 这是我第一次写博客 ,写的不好请见谅. 最近在项目中涉及到新浪微博,qq分享,还有微信和朋友圈分享,于是就采用了s...
    进阶的蚊子阅读 1,980评论 0 4
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 6,318评论 3 22
  • 表妹结婚几年了,小外甥也上学有人带了,就商量着跟妹夫计划离职后回家开水暖卫浴门店,让我帮忙提点下,怎么才能...
    一段金子阅读 188评论 0 0
  • 今早毕业结果验收,说实话实际自己什么都没做。自从凤凰回来,这一个月来,就没认认真真地去做事情,总是无聊,发呆,虚度...
    zeker阅读 499评论 0 1