最近寫了個項(xiàng)目需要用到微信QQ第三方登陸.介于一年前寫過一個第三方demo.那時(shí)候里面pod的是pod ‘UMengUShare/Social/ReducedWeChat' pod ‘UMengUShare/Social/ReducedQQ'也就是老版本的了,一切運(yùn)行ok,等到提交app的時(shí)候,蘋果發(fā)郵件提示檢測到里面包含UIWebview(2020年6月份以來蘋果禁止帶有UIWebview的app上架),于是去看官網(wǎng),可能友盟官方文檔的東西比較多,看起來就比較亂,最后終于找到了去除UIWebview的最新SDK.
下面直接貼出來了:
pod 'UMCCommon'
pod 'UMCShare/Social/WeChat'
pod 'UMCShare/Social/QQ'
在AppDelegate里面導(dǎo)入頭文件
import <UMCommon/UMCommon.h>
import <UMSocialQQHandler.h>
import<UMSocialWechatHandler.h>
下面試初始化友盟sdk
- (void)initThirdLogin{
[UMConfigure initWithAppkey:UMKEY channel:@"App Store"];
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):@"當(dāng)初申請微信登. 陸時(shí)的Universal Links地址",
@(UMSocialPlatformType_QQ):@"qq不需要Universal Links地址,我寫的nil"
};
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:WXAPPID appSecret:WXSECRET redirectURL:@"http://mobile.umeng.com/social"];
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:QQAPPID appSecret:QQAPPKEY redirectURL:@"http://mobile.umeng.com/social"];
}
- (BOOL)application:(UIApplication *)application openURL: (NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation];
if (!result) {
}
return result;
}
下面是點(diǎn)擊微信/qq登陸按鈕拉起微信或者qq的方法
[[UMSocialManager defaultManager] getUserInfoWithPlatform:platformType currentViewController:self completion:^(id result, NSError *error) {
if (error) {
// NSLog(@"%@",error);
} else {
// UMSocialUserInfoResponse *resp = result;
// NSLog(@"獲取微信/qq的name-%@",resp.name);
// NSLog(@"獲取微信/qq的openid-%@",resp.openid);
// NSLog(@"獲取微信/qq的iconurl1%@",resp.iconurl);
// NSLog(@"獲取微信/qq的unionGender-- %@",resp.unionGender);
}
}];
最后別忘了在Info.plist文件中添加微信和qq的白名單呦,到這里就大功告成,希望能給大家?guī)韼椭鷡