

Xamarin.formのWebViewで困っております。  
xamlにwebviewタグを実装し、例としてAmazonのページを表示しようとしております。

[code]

    <?xml version="1.0" encoding="UTF-8"?>
    <ContentPage 
      xmlns="http://xamarin.com/schemas/2014/forms"
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
      x:Class="SampleClass.Amazon"
      xmlns:i18n="clr-namespace:SampleClass;assembly=SampleClass"
      Title="{i18n:Translate Amazon}">
     
     <AbsoluteLayout>
      <WebView Source="{ StaticResource AmazonURL }"
       AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
       AbsoluteLayout.LayoutFlags="All" />
     </AbsoluteLayout>
    
    </ContentPage>
[/code]

またコード内の「AmazonURL」は「App.xaml」に定義しております。

[code]

    <x:String x:Key="AmazonURL">http://amzn.to/1UKGpN9</x:String>
[/code]

これで実機及びシミュレータ(iOS)で動作確認すると以下のように表示されません。

[![AmazonのWebページ表示せず](https://i.stack.imgur.com/AXO96.png)](https://i.stack.imgur.com/AXO96.png)

Safariで表示すると以下のページになります。

[![Safari表示](https://i.stack.imgur.com/VsN8X.png)](https://i.stack.imgur.com/VsN8X.png)

確認したところ、短縮URLでは表示されず、通常のURLなら表示します。  
通常URLでは文字列が長くなりますので、短縮URLで表示するには  
どのようにすればいいのでしょうか？  
ご教授のほどお願い致します。


CC BY-SA 3.0
2016-06-12T06:40:39.697
26671
2016-06-12T11:28:55.100
9561
question
webview xaml xamarin
Xamarin.formのWebViewについて


「App Transport Security has blocked a cleartext HTTP」というエラーが発生していると思います。

これでGoogle検索すると原因などがわかると思います。

  * [[iOS 9] iOS 9 で追加された App Transport Security の概要 ｜ Developers.IO](http://dev.classmethod.jp/smartphone/iphone/ios-9-intro-ats/)

こちらの「Info.plist の設定例」の「基本的にATS を有効にし、ATS の対象にしないドメインを Info.plist
に記載する」参考に、`XXX.iOS` プロジェクトにある `Info.plist`
ファイルに以下のように追記します(テキストエディタで編集した方がやりやすい、と個人的には思います)。

[code]

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>amzn.to</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
    
[/code]

これで `amzn.to` の接続が許可され、 WebView で表示できるようになると思います。


CC BY-SA 3.0
2016-06-12T11:28:55.100
26684
2016-06-12T11:28:55.100
15190
26671
answer