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空间,微信好友,微信朋友圈,新浪微博(仅限这些平台)(仅限分享纯图片和链接文字两种类型)

你可能感兴趣的:(iOS上一个简易方便使用的分享框架SZShare)