Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

iOS10から位置情報取得にはHTTPS必須?

[追記]
HTTP で geolocation の位置情報が取得できないのは、ブラウザの仕様みたいですね。
iphone 以外の chrome では既にその仕様になっているようです。

ios10 safari がその仕様に沿うようになったということだと思います。


Google Maps Geocoding API を使って現在地からスポットを探す機能を実装しています。

上記APIには、現在地の緯度経度を取得する
navigator.geolocation.getCurrentPosition(successCallback(), errorCallback())
という関数が用意されています。
この関数は、位置情報取得に成功した場合に第一引数を、失敗した場合に第二引数をコールバックして実行します。

iOS10 にアップデートしたテスト機で API を触っていると、エラーコード "POSITION_UNAVAILABLE" で失敗する現象に出くわしました。

原因は、HTTPS(SSL)通信が完全では無かったことです。

  • HTTPで読み込んでいるリソース(画像/広告)があった
  • 開発環境で証明書が効いてなかった

ATSによってアプリがHTTPS必須になることは警戒していましたが、
今後、広い分野でHTTPSの制約が出てきそうですね。
今秋までにフルSSLを決意した一日でした。

私自身の知識不足と、今の時代にHTTPを使っていること自体..、
ということは置いといて、
この記事が同じことでハマる人のためになれば幸いです。
※iOS10のリリースは2016秋?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
19
Help us understand the problem. What are the problem?