iOS UMSocial:createSocialAction uid is (null)解决

写在前面

公司客服反馈APP分享功能出现404错误。

一.查找问题

友盟社交化组件(sdk)版本太旧,须更新升级;
腾讯微博须认证授权;
新浪微博须认证授权。

二.调试问题

delete项目中之前的sdk4.4老版本,导入umeng_ios_social_sdk_5.2.1_arm64_custom最新sdk。相关代码设置如下:

AppDelegate.h

#import "UMSocial.h"
#import "UMSocialWechatHandler.h"
#import "UMSocialQQHandler.h"
#import "UMSocialSinaSSOHandler.h"
#import "SudokuViewController.h"

AppDelegate.m

#pragma -mark UMSocial
- (void)setUMSocial
{
    [UMSocialData setAppKey:appKey_umsocial];
}
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    BOOL result = [UMSocialSnsService handleOpenURL:url];
    if (result == FALSE) {
        //调用其他SDK,例如支付宝SDK等。接收并处理交易结果,
        
    }
    return result;
}

调用的viewcontroller里面,.h文件里面实现如下协议

#import <UIKit/UIKit.h>
#import "AppDelegate.h"
@interface MoreViewController : UIViewController<UMSocialUIDelegate,UMSocialDataDelegate>
{
    ......
}

.m文件里面代码如下

[self setupUMShare]; //放在你要调用的地方

#pragma -mark UMSocial
-(void)setupUMShare
{
    //设置微信AppId、appSecret,分享url
    [UMSocialWechatHandler setWXAppId:appID_weixin appSecret:appSecret_weixin url:url_share];
    //当分享消息类型为图文时,点击分享内容会跳转到预设的链接
    [UMSocialData defaultData].extConfig.wechatSessionData.url = url_share;
    //微信好友
    [UMSocialData defaultData].extConfig.wechatSessionData.title = title_share;
    //朋友圈
    [UMSocialData defaultData].extConfig.wechatTimelineData.url = url_share;
    [UMSocialData defaultData].extConfig.wechatTimelineData.title = title_share;
    [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeImage;
    //应用分享类型如果用户已经安装应用,则打开APP,如果为安装APP,则提示未安装或跳转至微信开放平台
    [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeApp;
    
    //设置分享到QQ/Qzone的应用Id,和分享url 链接
    [UMSocialQQHandler setQQWithAppId:appID_qq appKey:appKey_qq url:url_share];
    [UMSocialData defaultData].extConfig.qqData.url = url_share;
    [UMSocialData defaultData].extConfig.qqData.title = title_share;
    [UMSocialData defaultData].extConfig.qzoneData.url = url_share;
    [UMSocialData defaultData].extConfig.qzoneData.title = title_share;
    
    
    
    //第一个参数为新浪appkey,第二个参数为新浪secret,第三个参数是新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。
    [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:appKey_sina
                                              secret:appSecret_sina
                                         RedirectURL:redirectURL_sina];
    
    
    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:appKey_umsocial
                                      shareText:text_share
                                     shareImage:[UIImage imageNamed:imgName_share]
                                shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToSina,UMShareToQQ,UMShareToQzone,UMShareToTencent]
                                       delegate:self];
}

-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
    //根据`responseCode`得到发送结果,如果分享成功
    if(response.responseCode == UMSResponseCodeSuccess)
    {
        //得到分享到的平台名
        NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
    }
}
-(void)didFinishGetUMSocialDataResponse:(UMSocialResponseEntity *)response
{
    
}

相关配置

URL scheme配置
兼容iOS9 https设置
回调设置,这个要设置,不然会出现点击qq分享或者是别的分享没有反应或者奔溃的错误

三.问题解决

如图添加-ObjC参数,回车,确保添加成功,ok(问题具体解决过程还是花了一段时间,现在忘了具体还遇到什么问题,但是问题解决结果就是这样的。有时候看上去很难得问题,或者是感觉解决不了的问题,请不要灰心,既然出现问题,就一定可以解决问题,要坚持,哈哈,再一次提醒自己,不轻易说放弃。不好意思,啰嗦了。)

特别注意

友盟最新集成文档
请注意以下红色提示

集成的时候仔细看看清这句话哦,本人就不小心看成了-Objct之后导致出错,之后网上各种搜索,问友盟技术,最后又反过来看这个集成文档,才恍然大悟,大大的鄙视自己呀。以后一定要细心认真!(后期会记录更新一篇编译参数-ObjC,-all_load,-force_load异同点的文章)

end

大概就这些,希望对你有帮助,不喜勿喷哦~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,229评论 25 707
  • jiaModuleDemo项目是为了解决关于项目中如何进行模块化开发而编写的实例,包含如何进行路由式、本地模块间交...
    icc_tips阅读 2,419评论 1 17
  • 1 简介 现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见。本文的目的在于介绍分享功能的基本实现...
    Cloudox_阅读 1,271评论 0 3
  • 你有没有过以下这样的经历? 工作上埋头苦干天天加班,升职加薪的却是别人;很想融入某个群体但总是被边缘化;你努力的追...
    松青月冷阅读 1,984评论 0 4
  • 每天晒晒太阳 每夜赏赏星光 晨起走走碎步 睡前呷呷姜汤 读一卷书 行一里路 饮一杯茶 约一挚友 畅一感悟 诗意的活...
    旖旎i阅读 218评论 4 16