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