前几天在使用sharesdk分享时,参数不管怎么设,微信收藏都会弹出,代码如下:
[ShareSDK registerApp:SHARESDK_APPKEY
activePlatforms:@[@(SSDKPlatformTypeQQ), @(SSDKPlatformSubTypeWechatSession), @(SSDKPlatformSubTypeWechatTimeline)]
onImport:^(SSDKPlatformType platformType) {
switch (platformType) {
case SSDKPlatformTypeWechat:
[ShareSDKConnector connectWeChat:[WXApi class]];
break;
case SSDKPlatformTypeQQ:
[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
break;
default:
break;
}
} onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
switch (platformType) {
case SSDKPlatformTypeWechat:
[appInfo SSDKSetupWeChatByAppId:@"****************"
appSecret:@"*************************"];
break;
case SSDKPlatformTypeQQ:
[appInfo SSDKSetupQQByAppId:@"********" appKey:@"************" authType:SSDKAuthTypeBoth];
break;
default:
break;
}
}];
我试了一下,就是把activePlatforms设为空数组,分享菜单都会弹出微信好友、微信朋友圈和微信收藏。解决办法是在弹出分享菜单时控制平台列表,items参数不要置为nil,代码如下:
[ShareSDK showShareActionSheet:nil
items:@[@(SSDKPlatformTypeQQ), @(SSDKPlatformSubTypeWechatSession), @(SSDKPlatformSubTypeWechatTimeline)]
shareParams:shareParams
onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
switch (state) {
case SSDKResponseStateSuccess: {
[SVProgressHUD showImage:nil status:@"分享成功"];
}
break;
case SSDKResponseStateFail: {
[SVProgressHUD showImage:nil status:@"分享失败"];
}
break;
default:
break;
}
}];