在info.plist中**模式下新增:
cfbundleurltypes
cfbundleurlschemes
aaa
aaa是自定義的協議
//獲取當前viewcontroller並新增文字展示url
let vc = self.window?.rootviewcontroller
let label = uilabel(frame: cgrect(x: 50, y: 100, width: 400, height: 100))
label.text = "\(url)"
vc?.view.addsubview(label)
return true
}在js中:
開啟aaa應用
就可以通過瀏覽器開啟自己的應用了
openurl這個方法返回型別是bool,有時候會出現即使成功開啟應用也返回false的情況。
即使是這樣,也有可能返回false並在控制台輸出乙個錯誤。
解決方法:把需要開啟的url加入自己應用的info.plist
info.plist加入
urlschemestring>
urlscheme2string>
urlscheme3string>
urlscheme4string>
一定要用真機測試!!!
最後要說一下引數的解析方式,在handleopenurl方法中傳遞過來的url帶有引數我們如何解析呢?
例如 url = aaa:"
型別是nsurl,可以通過url.query得到引數字串,在用字串的根據符號『&』分割的方法就可以得到引數key=value的字串陣列,再根據『=』分割久可以分別得到key和value了。
let myarray = url.query?.componentsseparatedbystring("&")
var dict:nsmutabledictionary = nsmutabledictionary()
for i in myarray!
print(dict)
通過url開啟app的方法
原文 2012 秋季 cocoachina開發者大會專題回顧 跳轉回這個遊戲。實現這樣的功能並不麻煩,通過將網上一些相關教程彙總以後就寫了下面的教程分享。跳轉過來的鏈結位址。第一步 在info.plist中加入這些內容 其中url identifier 可以隨便取,url schemes 就是實現跳...
url鏈結開啟本地應用(測試通過)
基於windows 模擬mailto x 主要參考 1 在網頁上本地辦公 網頁應用越來越方便,基於mfc等可視介面的應用越來越乏力。需求 在網頁上開啟乙個本地的檔案 不過當檔案比較大的時候,經常會打不開,而且對網路要求比較高 3 檔案在cmdline中開啟的方式一般是 exe 檔案路徑 檔名 1 打...
android Intent開啟URL鏈結
一 開啟鏈結intent it new intent intent.action view,uri.parse it.setclassname com.android.browser com.android.browser.browseractivity getcontext startactivi...