iOS ShareSDK 新浪微博分享遇到的坑

微博分享遇到的坑

错误

[NSConcreteMutableData wbsdk_base64EncodedString]

打印log

 -[NSConcreteMutableData wbsdk_base64EncodedString]: unrecognized selector sent to instance 0x1447b3e60

2016-03-31 10:55:40.210 GlassAssist[429:218303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableData wbsdk_base64EncodedString]: unrecognized selector sent to instance 0x1447b3e60'

解决方法:


切记 单词为-ObjC  O和C都是大写。


请求授权显示错误页面(error:redirect_uri_mismatch)



解决方法:

登录http://open.weibo.com ,选择[管理中心]->[我的应用]->["您的应用名"]->展开左侧[应用信息]->[高级信息]->OAuth2.0 授权设置 右上角[编辑]->在框里填入回调地址即可.(前期测试应用时随便填个公司主页即可.两个地址可以相同)




3 授权失败-error code:202

#warning:[新浪微博]应用信息有误,不能进行相关操作。请检查本地代码中和服务端的[新浪微博]平台应用配置是否有误

本地配置:null

服务器配置:null


这个问题是初始化的时候的问题:

(1)

[ShareSDK registerApp:@"b4329f653xxx"
          activePlatforms:@[
                            @(SSDKPlatformTypeWechat)]
                 onImport:^(SSDKPlatformType platformType){
                     switch (platformType){
                         case SSDKPlatformTypeWechat:
                             [ShareSDKConnector connectWeChat:[WXApi class]delegate:self];
                             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 SSDKPlatformTypeSinaWeibo:
                             //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
                            [appInfo SSDKSetupSinaWeiboByAppKey:@"xxxxxxxxx"
                                                      appSecret:@"xx7426edc4443e80d8efd73eadc3xxx"
                                                    redirectUri:@"http://www.ingenic.cn"
                                                       authType:SSDKAuthTypeBoth];
                             break;
                         case SSDKPlatformTypeWechat:
                             [appInfo SSDKSetupWeChatByAppId:@"wx59f8918dcbxxxxx"
                                                   appSecret:@"xxb231f64dce8fdf7a02d3538659xxx"];
                             break;
                         default:
                             break;
                     }
                 }];

这是因为上面的activieplktforms 参数没有写新浪微博的,所以造成新浪微博分享失败,将其修改成

activePlatforms:@[@(SSDKPlatformTypeWechat),@(SSDKPlatformTypeSinaWeibo)]

就可以了。

(2)出现此问题的情况,还有就是设置app_id和app_secret的时候不能写成子平台

case SSDKPlatformSubTypeWechatSession:
case SSDKPlatformSubTypeWechatTimeline:
      [appInfo SSDKSetupWeChatByAppId:@"wx59f8918dcx x x x"
                    appSecret:@"xxxb231f64dce8fdf7a02d353865xxxx"];
这样写是不行的,应该写成 SSDKPlatformTypeWechat。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值