iOS APP內(nèi)嵌Webview跳轉(zhuǎn)支付寶,完成后跳回APP

遇到的問題:

由于項(xiàng)目是通過WKWebView內(nèi)嵌的h5來實(shí)現(xiàn)茂卦,而且需要進(jìn)行支付寶支付何什。

問題1:點(diǎn)擊h5中的支付時(shí),并沒有跳轉(zhuǎn)支付寶APP
問題2:支付完成或取消支付時(shí)等龙,支付寶APP沒有跳轉(zhuǎn)回原APP

解決方法:

問題1:通過WKWebView的代理攔截請求的URL富俄,捕獲支付寶的鏈接:
-(void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
    NSString *urlStr = navigationAction.request.URL.absoluteString;
    if ([urlStr hasPrefix:@"alipays://"] || [urlStr hasPrefix:@"alipay://"]) {
        NSURL* alipayURL = [self changeURLSchemeStr:urlStr];
        if (@available(iOS 10.0, *)) {
            [[UIApplication sharedApplication] openURL:alipayURL options:@{UIApplicationOpenURLOptionUniversalLinksOnly: @NO} completionHandler:^(BOOL success) {
                
            }];
        } else {
            // Fallback on earlier versions
            [[UIApplication sharedApplication] openURL:alipayURL];
        }
    }
    decisionHandler(WKNavigationActionPolicyAllow);
}
問題2:通過替換攔截的URL中的fromAppUrlScheme值:

攔截到的URL.png

由于攔截到的URL是編碼過的,有興趣的同學(xué)可以看下這個(gè)在線編碼解碼工具而咆。

我的方法是:對URL進(jìn)行解碼得到string霍比,取出?之后的字符串暴备,轉(zhuǎn)換成字典悠瞬,再取出字典中key為fromAppUrlScheme對應(yīng)的value,再將string中的value替換為自己APP對應(yīng)的URLSchemes涯捻,再將該string進(jìn)行浅妆,URL編碼,得到一個(gè)新的URL障癌,供跳轉(zhuǎn)凌外。

-(NSURL*)changeURLSchemeStr:(NSString*)urlStr{
    NSString* tmpUrlStr = urlStr.copy;
    if([urlStr containsString:@"fromAppUrlScheme"]) {
        tmpUrlStr = [tmpUrlStr stringByRemovingPercentEncoding];
        NSDictionary* tmpDic = [self dictionaryWithUrlString:tmpUrlStr];
        NSString* tmpValue = [tmpDic valueForKey:@"fromAppUrlScheme"];
        tmpUrlStr = [[tmpUrlStr stringByReplacingOccurrencesOfString:tmpValue withString:@"你對應(yīng)的URLSchemes"] mutableCopy];
        tmpUrlStr = [[tmpUrlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]] mutableCopy];
    }
    NSURL * newURl = [NSURL URLWithString:tmpUrlStr];
    return newURl;
}
-(NSDictionary*)dictionaryWithUrlString:(NSString*)urlStr{
    if(urlStr && urlStr.length&& [urlStr rangeOfString:@"?"].length==1) {
        NSArray *array = [urlStr componentsSeparatedByString:@"?"];
        if(array && array.count==2) {
            NSString*paramsStr = array[1];
            if(paramsStr.length) {
                NSString* paramterStr = [paramsStr stringByRemovingPercentEncoding];
                NSData *jsonData = [paramterStr dataUsingEncoding:NSUTF8StringEncoding];
                NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
                return responseDic;
            }
        }
    }
    return nil;
}
對應(yīng)info.plist設(shè)置的URLSchemes.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涛浙,隨后出現(xiàn)的幾起案子康辑,更是在濱河造成了極大的恐慌摄欲,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疮薇,死亡現(xiàn)場離奇詭異胸墙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)按咒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進(jìn)店門迟隅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人励七,你說我怎么就攤上這事智袭。” “怎么了掠抬?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵吼野,是天一觀的道長。 經(jīng)常有香客問我剿另,道長,這世上最難降的妖魔是什么贬蛙? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任雨女,我火速辦了婚禮,結(jié)果婚禮上阳准,老公的妹妹穿的比我還像新娘氛堕。我一直安慰自己,他們只是感情好野蝇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布讼稚。 她就那樣靜靜地躺著,像睡著了一般绕沈。 火紅的嫁衣襯著肌膚如雪锐想。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天乍狐,我揣著相機(jī)與錄音赠摇,去河邊找鬼。 笑死浅蚪,一個(gè)胖子當(dāng)著我的面吹牛藕帜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惜傲,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼洽故,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盗誊?” 一聲冷哼從身側(cè)響起时甚,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤隘弊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后撞秋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體长捧,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年吻贿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了串结。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,768評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舅列,死狀恐怖肌割,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帐要,我是刑警寧澤把敞,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站榨惠,受9級(jí)特大地震影響奋早,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赠橙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一耽装、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧期揪,春花似錦掉奄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缤苫,卻和暖如春速兔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背活玲。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工憨栽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翼虫。 一個(gè)月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓屑柔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親珍剑。 傳聞我的和親對象是個(gè)殘疾皇子掸宛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評論 2 350