iOS集成ShareSDK

整理关于iOS集成ShareSDK遇到的问题.

ShareSDK iOS 集成

1.分享的时候没有显示相关图标的问题

AppDelegate.m配置了微博/QQ/微信,(代码中微信还没配置),代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
初始化ShareSDK
*/
- (void)initShareSDK{
[ShareSDK registerActivePlatforms:@[
@(SSDKPlatformTypeQQ),
@(SSDKPlatformTypeSinaWeibo),
@(SSDKPlatformTypeWechat)
]
onImport:^(SSDKPlatformType platformType) {
switch (platformType) {
case SSDKPlatformTypeWechat:
[ShareSDKConnector connectWeChat:[WXApi class]];
break;
case SSDKPlatformTypeQQ:
[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
break;
case SSDKPlatformTypeSinaWeibo:
[ShareSDKConnector connectWeibo:[WeiboSDK class]];
break;
default:
break;
}
}
onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
switch (platformType) {
case SSDKPlatformTypeWechat:
break;
case SSDKPlatformTypeQQ:
[appInfo SSDKSetupQQByAppId:@"1106033955"
appKey:@"lvUDjsm3mIKTaBOa"
authType:SSDKAuthTypeBoth];
break;
case SSDKPlatformTypeSinaWeibo:
//设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
[appInfo SSDKSetupSinaWeiboByAppKey:@"1585205826"
appSecret:@"d0f8acf2e5c2f38efe7e996f7ce53832"
redirectUri:@"http://www.sharesdk.cn"
authType:SSDKAuthTypeBoth];
break;
default:
break;
}
}];
}

但是在实际显示出来,是有问题的,QQ跟QZone没有显示出来,只显示了微博:

59a52283cd38d.jpg

原因是没有配置一些必要的Schem白名单:

配置白名单

对应的一些平台如微信,QQ等平台还要按照集成文档的方案去配置URL Types

ShareSDK iOS CocoPods集成

否则会分享失败.

2.分享成功后,如果停留在分享平台,返回自己的App,即是分享成功,回调的状态是Cancel

按照ShareSDK人工服务的回答来说这个是正常的流程,所以如果是Cancel状态,就不做提示.

3.做的过程中遗忘了添加ShareSDK的Appkey跟Secret到info.plist

在项目的根info.plist添加在官网申请的Secret跟Key,KEY为MOBAppSecretMOBAppkey.