簡體   English   中英

在 Swift WKWebview 中獲取設備名稱

[英]GET Device Name in Swift WKWebview

如何在 swift5 中獲取設備名稱並使用 wkwebview url 發送。 如果我打印名稱,我會得到 model 名稱,但使用以下代碼我會得到錯誤線程 1:致命錯誤:在展開可選值時意外發現 nil。

 let name = UIDevice.current.name
 let url = URL(string: "mydomain/index.php?token=\(token ?? "")&model=\(name)")!
 webView.load(URLRequest(url: url))

我需要將設備名稱和令牌存儲在 mysql 數據庫中。 謝謝你!

您嘗試解開包裝(第 2 行末尾的 . 運算符)不安全表達式:URL 構造函數無法識別您作為字符串傳遞的字符串。 參數為有效 url。 它返回 nil 並導致致命錯誤:嘗試重構代碼以使其更安全:

let urlStr = "mydomain/index.php?token=\(token ?? "")&model=\(name)"
print("trying to load url \(urlStr)")
if let url = URL(string: urlStr) {
   webView.load(URLRequest(url: url))
}

更新:在 這個SO 問題之后,必須稍微重構代碼:

let urlStr = "mydomain/index.php?token=\(token ?? "")&model=\(name)"
print("trying to load url \(urlStr)")
if let url = URL(string: urlStr.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)) {
   webView.load(URLRequest(url: url))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM