質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

577閲覧

info.plistで安全でないとエラーが出てしまう

ke__6

総合スコア15

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/07/14 03:26

編集2017/07/14 04:14

###前提・実現したいこと
http://docs.fabo.io/swift/uikit/009_uiwebview.html
を使ったswiftの学習中にエラーを吐かれて、コードの確認をしても問題はなさそう(エラー文から見るとinfo.plistの方に問題があるのかな?なんて思っています)です。
info.plistを編集すること自体初めてなので、あれこれ聞いてしまったらすみません。。

###発生している問題・エラーメッセージ

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

###該当のソースコード

swift

1(info.plist) 2 3 4<?xml version="1.0" encoding="UTF-8"?> 5<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 6<plist version="1.0"> 7<dict> 8 <key>CFBundleDevelopmentRegion</key> 9 <string>en</string> 10 <key>CFBundleExecutable</key> 11 <string>$(EXECUTABLE_NAME)</string> 12 <key>CFBundleIdentifier</key> 13 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 14 <key>CFBundleInfoDictionaryVersion</key> 15 <string>6.0</string> 16 <key>CFBundleName</key> 17 <string>$(PRODUCT_NAME)</string> 18 <key>CFBundlePackageType</key> 19 <string>APPL</string> 20 <key>CFBundleShortVersionString</key> 21 <string>1.0</string> 22 <key>CFBundleVersion</key> 23 <string>1</string> 24 <key>LSRequiresIPhoneOS</key> 25 <true/> 26 <key>UILaunchStoryboardName</key> 27 <string>LaunchScreen</string> 28 <key>UIMainStoryboardFile</key> 29 <string>Main</string> 30 <key>UIRequiredDeviceCapabilities</key> 31 <array> 32 <string>armv7</string> 33 </array> 34 <key>NSAppTransportSecurity</key> 35 <dict> 36 <key>NSExceptionDomains</key> 37 <dict> 38 <key>www.info.io</key> 39 <dict> 40 <key>NSExceptionAllowsInsecureHTTPLoads</key> 41 <true/> 42 </dict> 43 </dict> 44 </dict> 45 <key>UISupportedInterfaceOrientations</key> 46 <array> 47 <string>UIInterfaceOrientationPortrait</string> 48 <string>UIInterfaceOrientationLandscapeLeft</string> 49 <string>UIInterfaceOrientationLandscapeRight</string> 50 </array> 51</dict> 52</plist> 53

イメージ説明

###補足情報(言語/FW/ツール等のバージョンなど)
xcode8.3.3
swift3.1

###画像追加しました。

イメージ説明
ViewControllerにはこれしか書いてないです。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

u39ueda

2017/07/14 04:11

通信している箇所のコードも提示してもらえますでしょうか?おそらくUIWebViewにURLだかURLRequestだかをセットしていると思うのでその周辺をお願いします。
ke__6

2017/07/14 04:15

画像追加しました。基本的には上記URLに沿って書いてるので問題があるとしたら見落としで書いてないとかですか。。。?
guest

回答2

0

ベストアンサー

Info.plistのNSExceptionDomains内のwww.info.ioが、UIWebViewに渡したURLのホスト名(www.fabo.io)と一致していないため発生しています。

一致するようにInfo.plistかUIWebViewに渡すURLのどちらかを書き換えればそのエラーは出なくなると思います。

余談ですが、ソースコードを貼り付ける際は画像でなくテキストを張ってもらえると助かります。
検索に引っかかりませんし、コピペもできませんので…。

追記

まだ同じエラーが出ているのは、画像やjs/cssなどをwww.fabo.io以外からhttpで読み込んでいるからだと思います。
これだとちょっとサンプルとして表示するURLとしてちょっとあまりよろしくないような気がします。

対応としてはNSExceptionDomainsにドメインを追加していく手もありますが…キリがないです。
このような自分が管理していないWebページをWebViewで表示する場合はNSAllowsArbitraryLoadsInWebContentNSAllowsArbitraryLoadsを設定することになります。
設定方法は解説しているサイトが多くありますのでそちらを参照してください。

もしくはこれは単なるサンプルと割り切って今はエラーを無視するのもありかと思います。
実際のWebページを表示する際にそれにあった設定を考えてもいいのではないでしょうか。

投稿2017/07/14 04:31

編集2017/07/14 06:48
u39ueda

総合スコア950

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ke__6

2017/07/14 04:39

表示されました。。。自分のタイプミスだったようです。。 しかし、うまくページに飛べた際にもエラーメッセージは同一のものが返されるのですが、これは問題ないのでしょうか。。?
ke__6

2017/07/14 08:37

ありがとうございます、、! とりあえず今のところは他に覚えることも多いですし、サンプルでしかないので割り切っていこうと思います。。
guest

0

NSExceptionDomainswww.fabo.ioにしないとダメなのでは?

投稿2017/07/14 04:28

編集2017/07/14 04:29
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ke__6

2017/07/14 04:38

試しにException Domainの部分をwww.fabo.ioに書き換えましたが同じ内容でエラーが返されました。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問