最近公司要求做微信分享 和微信登陆,于是的于是就集成了友盟的微信分享和微信登陆的功能,然后呢?经理给了一个微信开放平台申请的AppKey 和AppSecret。然后的然后误会就产生了,使用此appKey 集成后,分享功能正常使用。但是的但是,当调取微信的登陆信息的时候,你会发现得不到回调信息completion 的block(意思是:也不会报错也不会返回登陆所需的Token);
// 在需要进行获取用户信息的UIViewController中加入如下代码#import - (void)getAuthWithUserInfoFromWechat
{
[[UMSocialManager defaultManager] getUserInfoWithPlatform:UMSocialPlatformType_WechatSession currentViewController:nil completion:^(id result, NSError *error) {
if (error) {
} else {
UMSocialUserInfoResponse *resp = result;
// 授权信息 NSLog(@"Wechat uid: %@", resp.uid);
NSLog(@"Wechat openid: %@", resp.openid);
NSLog(@"Wechat unionid: %@", resp.unionId);
NSLog(@"Wechat accessToken: %@", resp.accessToken);
NSLog(@"Wechat refreshToken: %@", resp.refreshToken);
NSLog(@"Wechat expiration: %@", resp.expiration);
// 用户信息 NSLog(@"Wechat name: %@", resp.name);
NSLog(@"Wechat iconurl: %@", resp.iconurl);
NSLog(@"Wechat gender: %@", resp.unionGender);
// 第三方平台SDK源数据 NSLog(@"Wechat originalResponse: %@", resp.originalResponse);
}
}];
}
检查了所有的info.plist 配置完全没有问题。
报错类型:UMSocialPlatformErrorType_NotSupport = 2001, // 不支持(url scheme 没配置,或者没有配置-ObjC, 或则SDK版本不支持或则客户端版本不支持)
初始状态导入的为友盟中微信分享的完整版本。会一直报这个2001的错误,然后检查了,上述 url scheme ;-ObjC。然后的然后重新pod 导入微信分享简洁版,之后错误消除。
但是走到这里仍然得不到回调信息,那么最后只能怀疑这个appKey 的问题 了,然后我去经理处查询一下,然后我惊奇的发现,呵呵哒,给我的appKey 竟然和安卓的一样。但是的但是,正常情况下 这个appKey 两个平台是不一样的。所以换成iOS 平台的AppKey 和AppSecret。一切都搞定了。正常获得所有微信登陆信息。