shareSDK第三方登录

延伸阅读1:不使用第三方shareSDK或者友盟实现:分别嵌入 新浪微博、QQ、微信 做第三方授权登录 获取到头像 昵称等信息

延伸阅读2:使用CocoaPods安装shareSDk文档链接(注意:有时不加后面的git=>...报错,有时加上却报错了,方正如果报错就切换加或者不加试试。)
最后安装方法的链接

微信开发: scope参数错误或没有scope权限解决方法

# 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
shareSDK第三方登录_第1张图片
图中的扩展模块补充:在调用可以弹出我们UI分享方法的时候是必需的

首次分享明明安装微信了提示没安装微信,直接分享微信时,提示微信没有安装。

#导入头文件
//新方法判断是否安装微信
#import 

//检查微信是否已被用户安装(已经过时,检测不到微信,而且分享的时候失败,提示没安装微信。)
//    if ([WXApi isWXAppInstalled]) {
//        [contentArray addObjectsFromArray:wechat];
//    }

    //检查微信是否已被用户安装(解决了上面的问题)
    if ([ShareSDK isClientInstalled:SSDKPlatformTypeWechat]) {
        [contentArray addObjectsFromArray:wechat];
    }

步骤:

看官方文档就足够了


友情提示四点直接完成整个集成:

shareSDK第三方登录_第2张图片
友情提示1
shareSDK第三方登录_第3张图片
友情提示2,新浪微博的url scheme的设置格式为wb+AppID,facebook的设置格式为fb+AppID,微信格式为wx+AppID,QQ格式为QQ+AppID
shareSDK第三方登录_第4张图片
友情提示3
shareSDK第三方登录_第5张图片
友情提示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";
}}

你可能感兴趣的:(shareSDK第三方登录)