最近项目中有用到分享功能,由于周期紧迫,所以使用的是友盟分享,简单快速,集成步骤官方文档写的非常清楚,只需要按照文档按部就班即可。
http://dev.umeng.com/social/ios/quick-integration
- (void)shareButtonDidClick {
// 设置第三方的库,传入 链接
[self bf_setThreeLibKeyWithUrl:self.urlStr];
[UMSocialSnsService presentSnsIconSheetView:self
appKey:YM_Share_App_Key
shareText:self.name
shareImage:imgUse
shareToSnsNames:[NSArray arrayWithObjects:UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite,UMShareToQQ,UMShareToSina,nil]
delegate:self];
}
- (void)bf_setThreeLibKeyWithUrl:(NSString*)urlString {
// [UMSocialData setAppKey:YM_Share_App_Key];
// 微信
[UMSocialWechatHandler setWXAppId:weChatAppID
appSecret:weChatAppSecret
url:urlString];
// 新浪
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:sinaAppKey
secret:sinaAppSecret
RedirectURL:urlString];
// QQ和QQ空间
[UMSocialQQHandler setQQWithAppId:QQAppID
appKey:QQAppKey
url:urlString];
}
设置了链接,qq和微信分享都是正常的,有图片,有内容,有链接,但是微博只有图片和内容,没有链接。
解决方法:
在选中的平台方法中将分享链接 拼接到 分享内容的后面,
#pragma mark - 判断是哪个平台,如果是微博平台,就进行内容和链接的拼接
- (void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData
{
NSString *sinaContent = [NSString stringWithFormat:@"%@ %@", self.name,self.urlStr];
if (platformName == UMShareToSina) {
socialData.shareText = sinaContent;
}
}