SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UWPアプリ開発の最前線

SQLiteデータベースがWebアプリでも使える!
~Uno Platformクロスプラットフォーム開発の可能性を探る

UWPアプリ開発の最前線 第16回

Uno Platform 2.0(プレリリース版)のWebViewコントロール

 今回のサンプルアプリは、SQLiteデータベースに格納してあるWebページのデータを画面上部のリストに一覧表示するとともに、データを選択したときにそのWebページを画面下部のWebViewコントロールで表示しています(次の画像)。

今回のサンプルアプリ(UWP版)
今回のサンプルアプリ(UWP版)

 このWebViewコントロールは、iOS/Androidでは使用上の注意事項があります。また、WebASMではWebViewコントロールがまだ提供されていないので、自作することになりました。

iOSでのWebViewコントロール

 iOSでは、既定でWebViewコントロールが表示できるURLはhttpsだけです。既定ではhttpを表示できないのです。httpも表示するには、info.plistに次のようにNSAppTransportSecurityプロパティを追加します(次のコードと画像)。

NSAppTransportSecurityプロパティを追加した(info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    ……省略……
    <key>NSAppTransportSecurity</key>
    <dict>
      <key>NSAllowsArbitraryLoadsInWebContent</key>
      <true/>
    </dict>
  </dict>
</plist>
info.plistにNSAppTransportSecurityプロパティを追加した
info.plistにNSAppTransportSecurityプロパティを追加した(Visual Studio 2019のGeneric PList Editor)

 iOS 10以降では、上のようにNSAllowsArbitraryLoadsInWebContentをtrue(Yes)にすればhttpも表示できるようになりますが、App Storeへの提出が制限されます。また、iOS 9ではNSAllowsArbitraryLoadsを使いますが、App Storeでの審査はより厳しくなると思われます。

AndroidでのWebViewコントロール

 Androidも、iOSと同様に既定ではWebViewコントロールでhttpを表示できません。httpも表示するには、AndroidManifest.xmlのapplicationタグにusesCleartextTraffic属性を追加します(次のコード)。

usesCleartextTraffic属性を追加した(AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          package="UF16" android:versionCode="1" android:versionName="1.0">
  <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28" />
  <application android:label="UF16"
               android:usesCleartextTraffic="true"></application>
</manifest>

次のページ
まとめ

関連リンク

この記事は参考になりましたか?

UWPアプリ開発の最前線連載記事一覧

もっと読む

この記事の著者

biac(ばいあっく)

HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11840 2019/12/16 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー