説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『Safariの設定に問題はないのに位置情報の取得でエラーがでます!?』という質問に答えます。
***
位置情報サービスをオンにしているし、Safariの設定では位置情報の利用について「このAppの使用中のみ許可」を選択している、けれど「位置情報の取得ができませんでした」とエラーが出て先へ進めないのですね? この問題は、あなたのせいでもiPhoneのせいでもありません。
それは、iOS 10以降のSafariではHTTP接続のページから現在地を取得することが禁止されたためです。HTTP接続では、WEBブラウザとサーバ間の通信が暗号化されていないため、通信内容を盗み見られてしまう可能性があります。ユーザの安全を守るためには、暗号化された通信を行うHTTPS接続の利用を推奨するだけでなく、HTTP接続を禁止する必要があったというわけです。
このエラーはシステムレベルでの制限により生じているため、Safariの設定では回避できません。位置情報取得のスイッチすべてを有効にしていても、システムを初期設定に戻してもエラーは発生します。Safari以外のWEBブラウザを使用しても同じです。言い換えれば、iPhone側にエラーの原因はありません。アクセスしたWEBサイトに問題がある(仕様が古い)のです。
となると、解決策はひとつしかありません。位置情報取得にかかわる処理にHTTPS接続を使うよう、WEBサイト側が修正を行うことです。
AppleにかぎらずGoogleなどWEBブラウザ開発にたずさわる多くの企業が、位置情報に関する処理をHTTPS接続に限定するようにしています。WEBサイトを運営する企業側もこの動きに応じ、HTTPS接続を使うサイトはここ1年ほどでかなり増えました。放置されたWEBサイトでもないかぎり、「位置情報の取得ができませんでした」のエラーを見ることはできなくなりそうです。