iOS9の変更がもたらすURLスキーム利用への変化 – canOpenURL

iOS9では大きめの変更が多数入っている。canOpenURLという命令に対する変更もそうだ。
これは主にアプリ間連携で多く用いられる。

ランチャーアプリや着せ替えアプリを使うと、自分のインストールしているアプリが自動的に一覧表示されることを不思議に思ったことはないだろうか?
これにはcanOpenURLという命令が使われており、その名の通り「このURLスキームが開けますか?」という判定処理を行っているのだ。

わかりやすい例を出そう。
純正のメモアプリを開き、以下のように入力する(※1)

ミュージックのURLスキーム music:///
でたらめなURLスキーム musicxx:///
file_0 (6)
このように、開くことのできるURLであればリンクとして反映される。これでmusic:というURLスキームを持つアプリがインストールされていると推定されるわけだ。
このような判定がランチャーなどで利用されているというわけ。

はっきり言ってこうした情報は筒抜けだった。
iOS9ではこれに制限がかかった。iOS8まではユーザーがどんなアプリをインストールしているかという情報がこの手法でいくらでも抜き放題だったので、そうした情報を収集していた会社も少なくないだろう。制限は妥当だと思う。

iOS9からはアプリ内の設定ファイルinfo.plistに記載されたホワイトリストの最大50件までのURLスキームに対してのみ判定を行えるように変更されたため、勝手に収集されるアプリ情報は格段に減ります。
そのため着せ替えアプリやランチャーを使っている場合の利便性も落ちる。ユーザーがインストールしているアプリの一覧がほとんど取得できない(できても50アプリまで)ので、リストの中から一つ一つユーザーが探していくようになるだろう。

ランチャーや着せ替えアプリが使えなくなるという心配をする人もいるだろうが、URLスキームが使えなくなるという話ではなく、利用するための手順が多少変わるというだけだ。
しかしアップデートの止まった古いアプリの場合では問題が出てくる可能性があるので、OSのアップデートは慎重に行っていただきたい。

この変更によってURLスキームを駆使する一部のアプリでは大幅に使い勝手が悪くなるだろうが、「アプリ一覧が出てこなくなった!早急に直してください!それまでは☆1です」なんてレビューはやめてあげて欲しい。
Apple側での仕様変更でアプリ開発者側にはどうしようもないのだから、そこを責められると開発者はお手上げだ。
起動しない、落ちるなどはまたこれとは別問題なので開発者に報告を。

開発者側で対処できる問題、できない問題の2つを知ること、混同しないことが大切です。

——

アプリ側の問題を解決すべくLaunch Center Proは1年ぶりのアップデートを行うことを予定している。
Launch Center ProはVer2.5となり、ウィジェットランチャー、対応アプリも大幅に増えるということなので大いに期待したい。


もうすでに審査は通過しているようなので、いつものように待ちぼうけを食わされることもないはず。
しかしiOS8での通知関係の不具合を認識しつつも1年間放置したので、てっきり審査が厳しくてもうアプデは望めないのかと思っていただけに驚かされました。iPad版は少し遅れそう。

ウィジェットのアイコンが大きいのは将来的に設定できるように計画をしているようなので、しばらく辛抱を。だいぶ先になりそうだけど。
ちなみに残念なお知らせとしてはVer3は無料アップデートにならないかもしれないということだ。


安くないものだけに、これから購入しようという方はそのあたりを頭に入れておいていただきたい。

——

※1 純正メモのURLスキーム判定には癖がある

music:
music://
music:///

インストールされているアプリでも前者2つは実行可能判定にはならないので注意。
正確には://の後に1文字があればリンクとして反映される。
music://a
でもいい。
file_0 (7)

こうやって純正メモアプリを使ってURLスキームを探すというのもなかなか面白い。

——

ちなみに私は開発者ではないし、推論も混ざっていることを付け加えておきます。
たぶんそこまで外してはいないと思うけど間違いがあればツッコミを。

2 COMMENTS

xideon

ユーザーからしてみれば、なんらかの問題が起きた場合、OS側の問題なのか、アプリ側の問題なのかはわからない。普通はね。
だから開発者さんはめげずに説明して欲しいとはおもう。
ブロガーの皆さんにも同様にお願いしたいです。
こちらのブログを読んでらっしゃる方々は、そのような心配はしなくても良いのでしょうけど。

返信する
maxi

そうですね。
ちゃんと説明があればユーザーが怒るべき点も変わってきますし、レビューもそこまで荒れずに済むと思います。単なる説明不足で評価が下がってしまうのは本当に勿体ない。

『アプリは変わってない、OSは変えた』
そんな状況でもアプリ開発者に怒りをぶつける人が多いのは残念です。

返信する

maxi へ返信するコメントをキャンセル