iOS swift 通過Url開啟自定義的app

2021-07-06 09:27:19 字數 1066 閱讀 4575

在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...