日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 调试友盟SDK和微信SDK集成后的兼容性

發布時間:2024/1/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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集成后的兼容性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。