2014年7月8日火曜日

iPhone「を」遠隔操作できるアプリでURLスキームを利用する。動作しない時の解決策。

myPhoneDesktop – Phone on your Desktop
  • OS:iOS5.0以降
  • 掲載時の価格:500円
  • こんな方にお勧め:
    • PC/MACから遠隔操作して電話をかけたい方。
    • ウンザリするほど長いURLをデスクトップから入力したい方。
    • iPhoneをリモートコントロールしたい方。
    • iPhoneに長文のテキストを入力したい方。
  • チェックポイント:前回少し触れたように、ブラウザを操作できるということなので、URLスキームを試してみました。その結果は・・・
基本的にはOK。でも、テキスト入力をともなうURLスキームの場合は、受け取るアプリ側次第、ですね。普通にURLスキームで、アプリを起動させるだけであれば全く問題ありません。テキスト入力もアルファベット(ASCII文字)であれば、そのままテキスト文をアプリ側に引き渡してくれます。

ですが、残念ながら日本語をテキスト文として渡そうとすると、URLスキームの構文エラーとなってアプリそのものが起動しない場合がありました。具体的にはLINE。PC/MACからリモートでURLスキームを利用しても便利にはならないアプリの最右翼(笑)ですが、ものは試しとやってみた結果、やっぱりダメでしたねぇ。

もともとLINEのURLスキームは、メッセージ文を送り込むだけの機能ですから、送信先を選択できません。結局はiPhone上で数回タップしないとメッセージを送信できないのです。myPhoneDesktopを利用してリモートするぐらいなら素直にMAC用のLINEを利用した方が遙かに便利です。

でも、どうしてもPC/MACから日本語の長文をURLスキーム経由でアプリに渡したい、とうご要望もあるでしょう。一応の解決策はあるので、下記にご紹介します。

日本語を入力するとエラーになるのは、単純にURLというものが、元々ASCII文字しか想定されていない仕組みだからです。ということで、日本語をASCII文字に置き換えてやる、つまりURLエンコードして送り込めば、解決します。LINEで試して見ましょう。

myPhoneDesktopでの操作例です。下図のように、日本語をそのまま入力して「Open」ボタンをクリックしても、iPhone側ではエラーになって、LINEの起動すらしません。


これを、UTF-8でエンコードして記入してやると・・・


ちゃんとiPhone側では日本語にデコードして引き渡してくれています。


ご覧の通り、”どうしても”長文をURLスキーム経由エンコードで送り込みたい時”のみ”に使うべき手段です。だって、UTF-8にエンコードすることが、余分な手間ですから。myPhoneDesktopのテキスト送信機能を利用すれば、わざわざ自前で事前にエンコードしなくても、ちゃんと日本語をiPhoneのクリップボードに送り込んでくれます。普通の使い方であれば、クリップボードからペーストするだけですから、遙かに手間を少なく利用できます。ちなみに、myPhoneDesktopのテキスト送信機能(クリップボード)は、iCloudを利用するアプリよりも遙かに早くて安定しています。わたしはiPhoneに長文を流し込む時はこの機能を利用しています。

せっかく、myPhoneDesktopがバージョンアップして、電話をかける時にコピペで利用しやすくなったというのに、ジャンクなレビュー記事で恐縮です。
バージョンアップで、いままでは、数字とハイフン(-)のみの利用から、新たに「()」や「,」も認識するようになりました。これで書類やウェブ上の電話番号をコピーしてそのまま貼り付ける事ができますね。

でもなぁ、やっぱりURLエンコード機能も実装して欲しい、です。