采用ShareSDK做分享
其实我一直认为用别人集成的东西是非常简单的,因为第三方集成的东西都有开发文档,照着文档一步步走下来就可以了 。
所以今天没事做了一个shareSDK的分享
前面的配置库之类的就不说了 哈
其实ShareSDK分享在工程里面用的久是两个方法
第一个写在AppDelegate里面
[ShareSDK registerApp:@"13bb100f5a447" activePlatforms:@[
@(SSDKPlatformTypeQQ),
] onImport:^(SSDKPlatformType platformType) {
[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
} onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
[appInfo SSDKSetupQQByAppId:@"100371282"
appKey:@"aed9b0303e3ed1e27bae87c33761161d"
authType:SSDKAuthTypeBoth];
}];
来看看官方给的说明
/**
* 在将生成的AppKey传入到此方法中。[就是说第一个参数是在ShareSDK平台上注册的APPKey]
* 方法中的第二个第三个参数为需要连接社交平台SDK时触发,[就是说你需要链接哪个平台就写上]
* 在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。[就是说如果需要你需要去这个平台上注册开发者账号并申请AppID和AppKey的,其实就两个平台一个微信,一个QQ]
* 如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
*/
第二个方法就是需要分享的时候调用的
他需要在调用的控制器里面倒入框架
#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>
//1、创建分享参数
NSArray* imageArray = @[[UIImage imageNamed:@“图片名称”]];
// (注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@“图片网址”])
if (imageArray) {
NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
[shareParams SSDKSetupShareParamsByText:@分享内容”
images:imageArray
url:[NSURL URLWithString:@"http://www.baidu.com"]
title:@"分享标题"
type:SSDKContentTypeAuto];
//2、分享(可以弹出我们的分享菜单和编辑界面)
[ShareSDK showShareActionSheet:nil //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
items:nil
shareParams:shareParams
onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
switch (state) {
case SSDKResponseStateSuccess:
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
message:nil
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alertView show];
break;
}
case SSDKResponseStateFail:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
message:[NSString stringWithFormat:@"%@",error]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
NSLog(@"%@",[NSString stringWithFormat:@"%@",error]);
[alert show];
break;
}
default:
break;
}
}
];}
上面都是share官方给出来的 接下来我就说说我做的过程中遇到的问题
1,就是在测试的时候,分享QQ总是分享失败,因为我是菜鸟,我就后者脸皮去找MOB官网的客服,然后她告诉我必须真机,并且装有QQ才能测试。。。。哦对了,微信也是
2,就是ios9适配的问题,,这个真的无解了,明明一个开发文档,非要分开,搞得我弄了半天,去问的时候被客服鄙视了半天。最主要的应该是加一个白名单的问题(我就想问一下,什么是白名单??到现在也不能理解。。。惆怅。。。)。
好吧,以上就是来自菜鸟小明的总结,,,有大神请指正我的错误,,还有解答一下:什么是白名单??我只知道黑名单
其实我一直认为用别人集成的东西是非常简单的,因为第三方集成的东西都有开发文档,照着文档一步步走下来就可以了 。
所以今天没事做了一个shareSDK的分享
前面的配置库之类的就不说了 哈
其实ShareSDK分享在工程里面用的久是两个方法
第一个写在AppDelegate里面
[ShareSDK registerApp:@"13bb100f5a447" activePlatforms:@[
@(SSDKPlatformTypeQQ),
] onImport:^(SSDKPlatformType platformType) {
[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
} onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
[appInfo SSDKSetupQQByAppId:@"100371282"
appKey:@"aed9b0303e3ed1e27bae87c33761161d"
authType:SSDKAuthTypeBoth];
}];
来看看官方给的说明
/**
* 在将生成的AppKey传入到此方法中。[就是说第一个参数是在ShareSDK平台上注册的APPKey]
* 方法中的第二个第三个参数为需要连接社交平台SDK时触发,[就是说你需要链接哪个平台就写上]
* 在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。[就是说如果需要你需要去这个平台上注册开发者账号并申请AppID和AppKey的,其实就两个平台一个微信,一个QQ]
* 如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
*/
第二个方法就是需要分享的时候调用的
他需要在调用的控制器里面倒入框架
#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>
//1、创建分享参数
NSArray* imageArray = @[[UIImage imageNamed:@“图片名称”]];
// (注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@“图片网址”])
if (imageArray) {
NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
[shareParams SSDKSetupShareParamsByText:@分享内容”
images:imageArray
url:[NSURL URLWithString:@"http://www.baidu.com"]
title:@"分享标题"
type:SSDKContentTypeAuto];
//2、分享(可以弹出我们的分享菜单和编辑界面)
[ShareSDK showShareActionSheet:nil //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
items:nil
shareParams:shareParams
onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
switch (state) {
case SSDKResponseStateSuccess:
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
message:nil
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alertView show];
break;
}
case SSDKResponseStateFail:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
message:[NSString stringWithFormat:@"%@",error]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
NSLog(@"%@",[NSString stringWithFormat:@"%@",error]);
[alert show];
break;
}
default:
break;
}
}
];}
上面都是share官方给出来的 接下来我就说说我做的过程中遇到的问题
1,就是在测试的时候,分享QQ总是分享失败,因为我是菜鸟,我就后者脸皮去找MOB官网的客服,然后她告诉我必须真机,并且装有QQ才能测试。。。。哦对了,微信也是
2,就是ios9适配的问题,,这个真的无解了,明明一个开发文档,非要分开,搞得我弄了半天,去问的时候被客服鄙视了半天。最主要的应该是加一个白名单的问题(我就想问一下,什么是白名单??到现在也不能理解。。。惆怅。。。)。
好吧,以上就是来自菜鸟小明的总结,,,有大神请指正我的错误,,还有解答一下:什么是白名单??我只知道黑名单