iOS實現在webview頁面內點擊鏈接,跳轉指定App


早上和UI剛談到這個需求,然后自己試了一下,發現還是蠻簡單的,記錄一下:

 

思路分析:

iOS內應用之間跳轉都會用到 URL Schemes這個東西,簡單的講,這個就是用來定義app身份的一個id識別,這里定義了之后,手機運行過這個app之后,會在系統內部記錄下這里的身份識別,下次,其他app想訪問該app,只要請求那里定義的URL Schemes,手機自己就能找到這個app,從而實現跳轉。。。

 

好了,代碼測試如下:

1、在項目里,Info最下端,找到URL Types,add一個新的Schemes:

這里的幾個參數最好都填一下,但是URL Schemes是必填的。

 

 

info.plist添加說明

 

2、在AppDelegate里的  handleOpenURL 代理方法捕獲跳轉過來的監聽,或者拿取傳遞的參數。

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    if (!url) {
        return  NO;
    }
    
    NSString *urlStr = url.absoluteString;
    NSLog(@"handleOpenURL:%@",urlStr);
    
    return YES;
}

 

3、打開模擬器的Safari,在地址欄輸入:    TestOC://    

格式為:URL Schemes  :  //   3部分組成。

點擊Open,就會跳轉我的應用了,並且走到了handleOpenURL方法,並打印出了url。

 

 

這里,如果我想傳遞一些參數,該怎么做呢?

原理一樣的:在 ://之后加上一段參數即可。

只需要這樣寫:

TestOC://userId:123&pwd:123

然后,我們再截取處理就可以了。

 

補充一下:如果想傳遞圖片,可以利用系統的剪切板:UIPasteboard 很方便哦

 

PS:這里我為了省事,直接在地址欄輸入的,正常情況下,在頁面里,一般用link或button之類的,帶上url就行了,使用原理還是一樣的。

而且,這里瀏覽器其他也是一樣的,用Safari只是為了舉例。

 

大家快試試吧~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM