スキーマ

2011年11月19日

iPhoneを使っていると、bluetoothwpOFF/ONしたり、画面ロックを無効にしたいことがままある。
設定画面からメニューを辿っていくのが煩わしいと常々思っていた。
iPhoneアプリで、画面ロックをワンタッチで切り替えるることができないかと探してみたりもしたのだが、URIスキーマという機能を使うと、設定画面をダイレクトに呼び出すことができることがわかった。
iOS5からの新機能である。
SafariのURL欄にURIスキーマを入力すれば、通常のHTMLアンカーと同じじように動作する。

設定画面からのURI schemeリストをリンクで用意した。以下のページをiPhoneで読み込んで、リンクをタップすると、設定画面に飛ぶことができる。

URI scheme List


URIスキーマのリストは、こちらのページからいただいた。

[UPDATE6]iPhoneの設定画面をサクッと開く方法 -『Touch Icon Creator』でURLスキーム対応アイコンを簡単に作る


しかし、そのスキーマで画面にジャンプする前のURLリンクをホーム画面にアイコン登録するのが難しい。
PCのように、デスクトップにショートカットがをおいて、プロパティでURL(この場合URI scheme)に書き換えればいいとは単純にはいかない。
safariにしかホーム画面にアイコンを登録できる機能はないし、アプリをのAPIでもその機能をは提供されていないようだ。

その問題を解決するアプリが、touch iconというアプリのようだ。


iOS5でWi-Fiなどの設定画面を一発で開けるアイコンを作れることが判明


このページの手順で、簡単にホーム画面に設定アイコンを設定できた。

はたして、touch iconではどのように登録しているのか?

リバースエンジニアリングっぽく調べてみた。

safariのURL欄に、直接javascriptを埋め込む形で実行しており、そのjavascriptごとホーム画面アイコンにしているようだ。
URLから飾りの部分を削除して、仕組みの部分のみを抽出すると、以下のようになる。

data:text/html;charset=UTF-8,<head>
<title>WIFI</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<body>
<a id="link" href="prefs:root=WIFI"></a>

<script type="text/javascript">
  if (window.navigator.standalone) {
    var e = document.getElementById("link");
    var ev = document.createEvent("MouseEvents");
    ev.initEvent("click",true,true);
    e.dispatchEvent(ev);
  }else {
    document.write("このページをホーム画面に追加してください。<br />");
  }
</script>
</body>

上記を一行にまとめたものが、以下である。
data:text/html;charset=UTF-8,<head> <title>WIFI</title> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> </head> <body> <a id="link" href="prefs:root=WIFI"></a> <script type="text/javascript"> if (window.navigator.standalone) { var e = document.getElementById("link"); var ev = document.createEvent("MouseEvents"); ev.initEvent("click",true,true); e.dispatchEvent(ev); }else { document.write("画面下のボタンをタップして、このページをホーム画面に追加してください。<br />"); } </script> </body>

これをコピペして、タイトルとURLスキーマの部分を書き換えて、メールでiPhonenに送り、それをsafariで開いて、その画面をホーム画面に登録をすると、設定画面に一発で飛べるアイコンを作ることができる。
アイコンイメージは登録できないので、あくまで実験としてお使いください。

上記リンクの作者様、情報ありがとうございます。
そして、touch iconの作者さんは、すごいことを考えたものです。
便利なツールをありがとうございます。




sylphide_ffr31mr at 00:53コメント(1)トラックバック(0) 
記事検索
最新コメント
livedoor プロフィール
月別アーカイブ
  • ライブドアブログ