カスタムURLスキームを利用する (1)


iOSにおけるカスタムURLスキームについて調べた事をまとめましたので数回にわたって解説したいと思います。それほど詳しくない分野なので間違っていたらご指摘くださいませ。

まず、URLスキーム(URL Scheme)についてざっくり説明しておきます。

一般にURLは
(スキーム名):(スキームごとに定められた何かの表現形式)
という形をしている。スキーム名としてはプロトコル名が用いられていることが多いがそれに限らない。
Uniform Resource Locator – Wikipedia より引用

ここに出てくる “(スキーム名)” 、分かりやすい例だとURL(http://ほげほげ.com/)の http 部分がこれにあたります。ftp や mail など、探せばいろいろ思いつくアレですね。そしてこのスキーム名は 「URLスキーム」 とも呼ばれます。
スキーム名とコロンに続く “(スキームごとに定められた何かの表現形式)” という箇所がファイルパスであったりメールアドレスであったりとスキーム名ごとに定められているわけです。
(※てっきり「hoge://fuga=foo&piyo=bar」のような形式のものをURLスキームと呼ぶのかと思っていましたが思いっきり間違ってました)
以上、URLスキームについての予備知識はここまで。

iOSではURLスキームを利用してアプリケーション間の連携が可能です。主な使い道は以下の2つです。

  1. アプリケーションの起動
    アプリ定義のURLスキームが分かっていれば、openURL:メソッド等を利用してそのアプリを起動できます。パラメータを渡す(後述)ことも可能。
    メール, sms, マップなどはアップルがURLスキームを公開しています。
  2. パラメータを利用したアプリケーション間の連携
    URLと同様に、起動するアプリにパラメータを渡すことができます。
    SafariがYoutubeアプリやマップアプリと連携しているように、他アプリを起動する際にパラメータ情報を付加することができます。
    起動された側はURL情報を取得してパラメータの内容を取り出すことができます。

自作アプリではプロパティリストにユーザー独自のURLスキームを定義することで上記URLスキームの機能を組み込む事ができます。
このユーザー定義のURLスキームが「カスタムURLスキーム」です。

次回はカスタムURLスキームを使用したアプリ起動について解説します。

続き>> カスタムURLスキームを利用する (2)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください