iOS 9で登場した「Universal Link」は、通常のHTTPプロトコルから直接iOSアプリを起動できる。ユーザにブラウザの存在を意識させることなくアプリへ処理を分岐できる新しい実装だが、どっこい「URLスキーム」も健在だ。今回は、URLスキームを利用したiPhoneとの連携について、具体例をもとに解説してみよう。

El Capitanで使えるURLスキーム

URLスキームはアプリが独自に定義できるが、一部はOS X/iOSに予約されている。あるアプリから他のアプリへと値を引き渡しつつタスク(アクティブなアプリ)を切り替えることが主要な役割だが、単純にアプリの起動に利用してもかまわない。アプリの種類によりマルチタスクの制限があるiOSとは異なり、完全なプリエンプティブ・マルチタスクが大前提のOS Xとしては、むしろアプリ起動の手段としてURLスキームは有用だ。

下表には、El CapitanとiOS 9の両方で動作を確認したURLスキームを挙げた。ここに挙げたURLスキームであればOS X/iOSを問わず同じ動作(同じアプリの起動)に利用できるため、「メール」や「メモ」などのアプリに記録しておけばラウンチャー代わりに利用できるというわけだ。なお、ほかにも「http:」というメジャーどころが控えているが、システム設定の見直しによりデフォルトのWEBブラウザを変更できるため、ここでは除外している。

ここに挙げたURLスキームは、OS XだけでなくiOSでも同様に動作する

OS X El CapitanとiOS 9に共通のURLスキーム
mailto: メールの新規作成
facetime: FaceTimeの起動
facetime-audio: FaceTimeオーディオの起動
gamecenter: GameCenterの起動
itms: iTunes Storeの起動
http://maps.apple.com/?q マップの起動
tel: 電話をかける(OS XではFaceTimeの起動)

ワンクリックで電話をかける

URLスキームはWebブラウザ(Safari)のURLバーから起動できるが、「メモ」や「メール」、「リマインダー」といったアプリの文書に記述すれば自動的に認識され、ハイパーリンクが設定される。「http://news.mynavi.jp」などと記述すると、Safariが起動するハイパーリンクが自動設定されるしくみはご存知だろうが、それと同じことが他のアプリで可能になるのだ。

ピンとこない場合には、以下の書式で「メモ」に知り合いの電話番号を記述してほしい。改行するやいなや、行全体がオレンジのハイパーリンクに変わるはず。これをiPhoneの「メモ」でタップすればiPhoneの電話機能による発呼が始まり、OS Xの「メモ」でタップすればFaceTimeが起動し(Apple IDで関連付けられた)iPhone経由で発呼しようとする。

なお、「TEL : 03-XXXX-XXXX」などと書式を崩した場合には、iOSでは電話番号部分を賢く抜き出して検出してくれるが、OS Xでは右横にプルダウンメニューが表示される形式になる。このプルダウンメニュー、カーソルの位置判定がシビアで表示しにくいことはご存知のとおり、だからワンクリックで発呼できる「tel:XX-XXXX-XXXX」というURLスキームが役に立つのだ。

tel:03-XXXX-XXXX

ハイパーリンクをタップするとFaceTimeが起動し、(Apple IDで関連付けられた)iPhone経由での発呼が始まる

iOSでも変わらず動作するところがポイント

OS Xの「メール」に組み込みの電話番号検出機能では、小さな「∨」ボタンをクリックしなければならず操作しにくい

地名だけで地図を示す

メールで集合場所・待ち合わせ場所を伝えるとき、駅名などランドマークの名前に言及することが多いはず。地図のURLを添えるにしても、正確な緯度・経度を指定するほどのものではなく、地図アプリ/サイトで位置を調べるのは少々大げさだ。とはいえ、「霞ヶ関駅」のように東京都千代田区と埼玉県川越市のどちらの駅か誤解されかねないランドマークも存在するため、地図のURLを添えたほうがいい。

地図アプリで正確な緯度・経度を調べるほどではないが地図のURLをメールに添えたい、そんなときは以下のURLスキームを利用しよう。「http://maps.apple.com/?q=」に続けて駅名やランドマーク的建築物を指定すればOK、東京ミッドタウンも竹橋駅もこの方法でいける。

iOSのマップアプリはもちろん、Android端末で表示を試みてもGoogle Mapsにリダイレクトしてくれるので問題なし。「http://maps.apple.com/?q=」を日本語IMEのユーザ辞書にでも登録しておけば便利に使えること確実のURLスキームなのだ。

http://maps.apple.com/?q=横浜駅

「http://maps.apple.com/?q=」を日本語IMEに登録しておけば、地名を入力する程度でマップのURLが完成する