iOS 调试友盟SDK和微信SDK集成后的兼容性
生活随笔
收集整理的這篇文章主要介紹了
iOS 调试友盟SDK和微信SDK集成后的兼容性
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
為了解決App在通過微信登錄、分享時(shí)提示“未驗(yàn)證的應(yīng)用”這個(gè)問題,更新了友盟SDK,同時(shí)也更新了微信SDK。
最新版本的微信SDK,需要設(shè)置Universal Links,同時(shí)需要實(shí)現(xiàn)AppDelegate的如下方法:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{}剩下就是把微信支付、分享、登錄業(yè)務(wù)調(diào)通了。
由于分享和登錄直接使用了友盟SDK已經(jīng)封裝好的方法,所以在處理如下方法中,需要對(duì)業(yè)務(wù)作區(qū)分:
為此,我封裝了一個(gè)類,專門處理相關(guān)邏輯。
關(guān)鍵點(diǎn)是把微信支付和登錄、分享業(yè)務(wù)處理區(qū)分開。即支付使用微信的協(xié)議方法處理,登錄和分享使用友盟的回調(diào)處理。
下面給出一個(gè)demo:
/**處理鏈接@param url 鏈接@return 結(jié)果*/ - (BOOL)handleOpenURL:(nonnull NSURL *)url{//??微信支付單獨(dú)處理,走微信自己的代理if ([self isWechatPayBusinessWithUrl:url]) {return [WXApi handleOpenURL:url delegate:self];}//微信登錄、分享等功能,走友盟封裝的功能,和友盟的回調(diào)if ([[UMSocialManager defaultManager] handleOpenURL:url]){//其它return YES;}return NO; } /// 判斷指定的url是否是微信支付業(yè)務(wù) /// @param url 用于判斷的url - (BOOL)isWechatPayBusinessWithUrl:(NSURL *)url {if (!url) {return NO;}//schemaNSString *wechatPayPath = [NSString stringWithFormat:@"%@://pay", WX_AppKey];//universal linksNSString *wechatPayUniversalLinks = [NSString stringWithFormat:@"%@/pay", WX_AppKey];return [url.description rangeOfString:wechatPayPath].location != NSNotFound ||[url.description rangeOfString:wechatPayUniversalLinks].location != NSNotFound; }完事兒!
總結(jié)
以上是生活随笔為你收集整理的iOS 调试友盟SDK和微信SDK集成后的兼容性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播礼物特效-漫播直播礼物分析
- 下一篇: 阿里云VOD 视频点播(二)、VUE视频