友盟iOS微信登陆没有回调的原因
1、在友盟文档中这样说:
7.4 微信登录
添加配置文件参考文档:添加微信及朋友圈,添加相关库文件,配置URL schemes及添加系统回调
注意微信登录必须先在微信开放平台申请微信登录权限
在你的程序APPdelegate入口方法添加下面的代码
#import "UMSocialWechatHandler.h"
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
在微信登录按钮中实现下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
}
});
在授权完成后调用获取用户信息的方法
//得到的数据在回调Block对象形参respone的data属性
[[UMSocialDataService defaultDataService] requestSnsInformation:UMShareToWechatsession completion:^(UMSocialResponseEntity *response){
NSLog(@"SnsInformation is %@",response.data);
}];
2、实践使用时:
#pragma mark - 微信登录
- (void)loginViewClickedWeiXiButton{
[UMSocialData setAppKey:@"55bb141a67e58e9f80001801"];
[UMSocialWechatHandler setWXAppId:@"wx2802d4e49f68996f" appSecret:@"f1bf8a16c5f87570ab07782d3e0ab223" url:@"http://www.umeng.com/social"];
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
// 获取微博用户名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
NSLog(@"username is %@, uid is %@, token is %@ iconUrl is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
}
});
}
3、【坑在这里】没有回调时因为要在应用代理方法中增加:
//sdk
#import "UMSocialSnsService.h"
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[UMSocialSnsService applicationDidBecomeActive];
}
最后说明
- 微信的
openid对应友盟里叫usid
下面是授权成功的回调数据:
- UMSocial: makeRequestWithPath is /share/token/53290df956240b6b4a0084b3/, parameters is {
"access_token" = "OezXcEiiBSKSxW0eoylIeJDUKD6z6dmr42JANLPjNN56WRFnd-vVJO37ma0gCpKY1v5q8EVEMwdQqzvXoFFpe1jQXUzjqukub9-228J8sjvugvVVQYvzkhyvAgItvkYmMIGD_cE2hAWUm44_qCB-oQ";
ak = 53290df956240b6b4a0084b3;
de = "iPhone7,1";
dt = 1438857527939;
ek = 4b37315fd0421b0b3a682a4a5e4487e9;
en = WiFi;
"expires_in" = 7199;
mac = "02:00:00:00:00:00";
openid = oyAaTjrJMAb3qfCbyDRp3h0NKyew;
openudid = 147ad485c3b80ffd54bfc8689c2d7db1ed88994b;
os = iOS;
pcv = "2.0";
"refresh_token" = "OezXcEiiBSKSxW0eoylIeJDUKD6z6dmr42JANLPjNN56WRFnd-vVJO37ma0gCpKYHXgyDeQ4Xqm60G-omrGp2u-KbIy7zTP5gV5dnw3RVN-GzkjY8gCWIMC3_cCHcflH6IPexy2c-k46gGG0M07p6g";
sdkv = "4.2.3";
to = wxsession;
tp = 0;
uid = 462ae0edb57d53dfd2affb5e4ae36ad;
usid = oyAaTjrJMAb3qfCbyDRp3h0NKyew;
}
[18:38:48.197( 2055)] - UMSocial: actionType is 15 , received json Dic is {
data = {
};
msg = "no error";
st = 200;
}
原文链接:http://www.jianshu.com/p/177e3309272a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
友盟iOS微信登陆没有回调的原因的更多相关文章
- 友盟iOS推送配置(从真机调试到推送)
下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已. iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这里我将省略掉一 ...
- 55、android app借助友盟实现微信授权登录
一.去微信开放平台的管理中心申请移动设备的审核(需进行开发者资质认证,每年300元) 1.获取应用的签名 2.在微信开放平台申请移动应用 两个注意点:①签名要填对 ②应用的包名要写对(tips: co ...
- Android Studio 独立引入(非友盟)微博分享和回调时问题
最近同事在做一个小项目时,由于产品的要求,Wap页面的分享规定不能使用友盟的社会化组件.他则不得不手动一个一个渠道的引入分享,好在渠道不多就三个,但是第一微博分享引入的时候问题就出现了. 问题一:li ...
- Android 友盟和微信的包冲突:Multiple dex files define Lcom/tencent/a/a/a/a/a;
最近App中有个需求是添加微信支付,就在微信技术官网 http://open.weixin.qq.com,查看一下文档,然后下载SDk,Demo.把SDK集成进项目. 照着微信的文档,把jar包和进来 ...
- 友盟iOS sdk整理
文档中心 :http://dev.umeng.com 集成文档:http://dev.umeng.com/analytics/ios-doc/integration 报表中心:http://www.u ...
- android使用友盟实现第三方登录、分享以及微信回调无反应问题解决办法
这里介绍微信和新浪登录.微信登录和新浪登录都需要申请第三方账号.可以参考官方文档http://dev.umeng.com/social/android/operation#2还是很清晰的. 新浪微博开 ...
- ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现
问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...
- iOS开发-友盟分享(1)
1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网 友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...
- AppDelegate减负之常用三方封装 - 友盟推送篇
之前分享过集成友盟推送的方法, 需要的朋友可以查看一下链接: http://www.cnblogs.com/zhouxihi/p/6533058.html 一般开发中我们比较多使用的三方有友盟推送, ...
随机推荐
- JavaSE_ Java基础 总目录(1~6)
JavaSE学习总结第01天_Java概述01.01 计算机概述01.02 计算机硬件和软件概述01.03 软件开发和计算机语言概述01.04 人机交互01.05 键盘功能键和快捷键01.06 如何打 ...
- mapper分页排序指定字段查询模板
StudentQuery: package Student; import java.util.ArrayList; import java.util.List; public class Stude ...
- Windows10笔记本双显卡导致的启动黑屏解决办法之一
参考链接:http://www.zhihu.com/question/33662311 大概就是关掉ulps. ulps,显卡的多核心超低功率状态,节能用的,AMD出的双显卡的一种节能方案.不过,与某 ...
- 高频(工作频率为13.56MHz)
在该频率的感应器不再需要线圈进行绕制,可以通过腐蚀活着印刷的方式制作天线.感应器一般通过负载调制的方式 的方式进行工作.也就是通过感应器上的负载电阻的接通和断开促使读写器天线上的电压发生变化,实现用远 ...
- 基于Visual C++2013拆解世界五百强面试题--题16-进制分析
清写出下列代码的输出内容 #include <stdio.h> int main() { int a = -1, b = -12, c = -123, d = -1234; printf( ...
- PHP第一章学习——了解PHP(下)
继续昨天的部分! —————————————————————————————— 首先Ubuntu下安装Apache软件: ubuntu更新源有问题,又要解决半天! 我现在很冷静! 安装Apache教程 ...
- 各浏览器对 window.open() 的窗口特征 sFeatures 参数支持程度存在差异
标准参考 无. 问题描述 使用 window.open 方法可以弹出一个新窗口,其中 open 方法的 sFeatures 参数选项在各浏览器中支持程度不一,这有可能导致同样的代码使各浏览器中弹出窗口 ...
- VisualSVN Server安装后,TortoiseSVN远程无法访问版本库。
修正!重演了一遍,发现总结有误,重新整理下.首先访问版本库的路径不清楚的话可以在VisualSVN Server的版本库上右键“Copy URL to Clipboard”.访问版本库失败的几种情况: ...
- SQL 插入语句汇总
INSERT VALUES 插入一行或多行到目标表中 -- single row INSERT INTO Sales.MyOrders(custid, empid, orderdate, shipco ...
- 使用约束给tableview添加暂无数据的提示
在tableview没有数据的时候,我们经常需要在tableview的正中间插入一张图片,来提示用户暂无数据 /** * 添加一个view,提示暂无数据 */ - (void)addPromptVie ...