[iOS] WebView 瀏覽 http 的安全性設定 – Visual Studio for Mac


去年做 Android 的 App ,今年老闆要我做 iOS 的 App 。

我的大部分還是靠 HTML5 網頁呈現即時資訊,所以我主要只要把 App 包個 WebView 即可。

一開始我是在 Xamarin.iOS 大分類下看說明學著寫,例如這個 WebView:

https://docs.microsoft.com/zh-tw/xamarin/ios/user-interface/controls/uiwebview

我一開始以為我自己看得很透了,直接開始寫,但是怎樣都卡在連不上我的手機網頁,只好從上面網址抓線上範例來測試,範例網址的確可以正確呈現:

https://xamarin.com/

但是我只換網址為我的手機網頁就不行,畫面全白… 我開始鎖定是 http 跟 https 的差異。一找,果然在說明書找到:

https://docs.microsoft.com/zh-tw/xamarin/xamarin-forms/user-interface/webview

這個網頁是介紹 iOS/Android/Windows Phone 三種行動裝置共用的設計部分,在網頁中可以看到,iOS 特別註解從 iOS 9 以後安全性變更,預設不能瀏覽 http ,要修改安全性設定…

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

 

冏… 為啥 iOS 的特殊設定不是放在 Xamarin.iOS 下,而是放在 Xamarin Forms 下…

但是又碰上個難題,我是直接在 MacBook Pro 下安裝 Visual Studio for Mac ,沒有另外安裝純文字編輯器可以直接輸入安全性規則,比對原始碼內容,在介面上測試輸入如下:

設定網址安全性

設定網址安全性

重新編譯執行,果然可以正常瀏覽 http 網址。

編輯步驟:

  1. 在最下方點選 [新增項目]
  2. 類型選 [字典]
  3. 編輯項目名稱改為 NSAppTransportSecurity
  4. 在屬性 NSAppTransportSecurity 下方點選 [新增項目]
  5. 類型選 [布林值]
  6. 編輯項目名稱改為 NSAllowsArbitraryLoads
  7. 值 改為 是

存檔後會跟上圖一樣。

微軟網站的線上手冊沒考慮直接使用 Visual Studio for Mac 編輯,所以只能自己試啦。

可以看到專案名叫做 HelloWebView … 跟 Hello World 差不多的意思~~~

廣告
Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

文章分頁導航

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: