開發與維運

iOS14 適配canOpenURL問題

問題

部分升級到iOS 14的用戶,在點擊鏈接跳轉的時候,[[UIApplication sharedApplication]canOpenURL:url]返回false
經定位,是因為iOS 14新增默認瀏覽器設置,用戶設置其他瀏覽器(例如chrome)為默認瀏覽器後,[[UIApplication sharedApplication]canOpenURL:url]就會報以下錯誤

-canOpenURL: failed for URL: "https://www.163.com" - error: "This app is not allowed to query for scheme https"

解決方案

  1. 應急方法:讓用戶在設置-其他瀏覽器中,把【默認瀏覽器】改為Safari瀏覽器
  2. info.plist添加以下字段
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>https</string>
</array>

Leave a Reply

Your email address will not be published. Required fields are marked *