延伸阅读1:不使用第三方shareSDK或者友盟实现:分别嵌入 新浪微博、QQ、微信 做第三方授权登录 获取到头像 昵称等信息
延伸阅读2:使用CocoaPods安装shareSDk文档链接(注意:有时不加后面的git=>...报错,有时加上却报错了,方正如果报错就切换加或者不加试试。)
最后安装方法的链接
# Mob 公共库(必须)
pod 'MOBFoundation'
# 主模块(必须)
pod 'ShareSDK3',:git => ‘https://git.oschina.net/MobClub/ShareSDK-for-iOS.git'
pod 'ShareSDK3/ShareSDKPlatforms/QQ',:git => ‘https://git.oschina.net/MobClub/ShareSDK-for-iOS.git'
pod 'ShareSDK3/ShareSDKPlatforms/WeChat',:git => ‘https://git.oschina.net/MobClub/ShareSDK-for-iOS.git'
#错误:
-canOpenURL: failed for URL: "weixin://app/wxff569f16175592XX/" - error: "This app is not allowed to query for scheme weixin"
原因:没有添加白名单
解决方法:看图4
图中的扩展模块补充:在调用可以弹出我们UI分享方法的时候是必需的
首次分享明明安装微信了提示没安装微信,直接分享微信时,提示微信没有安装。
#导入头文件
//新方法判断是否安装微信
#import <ShareSDKExtension/ShareSDK+Extension.h>
//检查微信是否已被用户安装(已经过时,检测不到微信,而且分享的时候失败,提示没安装微信。)
// if ([WXApi isWXAppInstalled]) {
// [contentArray addObjectsFromArray:wechat];
// }
//检查微信是否已被用户安装(解决了上面的问题)
if ([ShareSDK isClientInstalled:SSDKPlatformTypeWechat]) {
[contentArray addObjectsFromArray:wechat];
}
步骤:
友情提示1 友情提示2,新浪微博的url scheme的设置格式为wb+AppID,facebook的设置格式为fb+AppID,微信格式为wx+AppID,QQ格式为QQ+AppID 友情提示3 友情提示4友情提示四点直接完成整个集成:
退出登录(如果是第三方登录,退出登录也就是取消授权状态)
// [ShareSDK cancelAuthorize:SSDKPlatformTypeWechat]; //取消微信授权
[ShareSDK cancelAuthorize:SSDKPlatformTypeQQ];//取消QQ授权
//判断授权状态
BOOL isAuthorizedWithQQ = [ShareSDK hasAuthorized:SSDKPlatformTypeQQ];
if (isAuthorizedWithQQ) {
// [ShareSDK cancelAuthorize:SSDKPlatformTypeWechat]; //取消微信授权
[ShareSDK cancelAuthorize:SSDKPlatformTypeQQ];//取消QQ授权
NSLog(@"取消授权失败,也就是退出失败,可以在这个方法再调一次取消授权");
}else
{
NSLog(@"退出成功,下次会重新授权登录");
}
#微博分享失败
Error Domain=ShareSDKErrorDomain Code=204 "The operation couldn’t be completed. (ShareSDKErrorDomain error 204.)" UserInfo=0x158b65e0 {user_data={
error = "Insufficient app permissions!";
"error_code" = 10014;
request = "/2/statuses/upload_url_text.json";
}}
网友评论