4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DeeplinkAdvent Calendar 2015

Day 5

iOS9.0 Safari で利用できる applink ハック

Last updated at Posted at 2015-12-04

Universal link 導入に伴い、独自スキームを使う applink は利用する折に確認ダイアログが出るようになりました。

iOS9.0 の Safari では、このダイアログを半ば無視してアプリを切り替えることが可能です。

注意!
しかしながら iOS9.1 以降では以下のハックは利用できません。また iOS9.2 では、適用しない方がよい状況になっている様子です。素直に Universal link を導入しましょう。

location.href などで applink にリダイレクトした後、別のアドレスに setTimeout を使って再リダイレクトします。

  location.href = 'app-scheme://app-scheme';
  setTimeout(function() {
      location.href = "https://your.fallback.address/";
  },1)

この時、Safari では、後者で指定したアドレスが開かれると同時に applink が選択された状態と同じになり、該当アプリが開きます。

見つけた当初から Safari のバグっぽいと思っていましたが、iOS9.1 でしっかり直されていました。

ですので、もう一度言いますが、iOS9.0 でのみ利用できるハックで iOS9.1 以降では、副作用の方が影響が大きいので、利用しないことを強くオススメ します。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?