ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

Evernote for iPhoneを拡張するEvernotePatcher

      2016/03/16

ATOK Pad for iPhoneは変換効率が高く便利ですが、ATOK Padとその他のiPhoneアプリの連携のためには、その他のアプリケーション側の対応が必要。
しかし、現実的には、対応が望めるのは日本人開発者によるiPhoneアプリに限られるでしょう。

ATOK Padに対応していると喜ばれるかもな、と思うのはEvernote。しかし、残念ながらATOK Pad対応が絶望的な海外製。
そこで、そのEvernoteをATOK Padに対応させるべく、EvernotePatcherを作りました。

また、EvernoteはEvernoteBridgeという呼称のURL Schemeを使ったアプリケーション間連携に対応しているものの、情報が非公開であること、またbookmarkletなどによる連携が不可能なことも不満だったので、Ver.0.2からはオレオレURL Schemeを実装し、bookmarklet連携を可能にしました。
(続きは[MORE]から)

解説

EvernoteにATOK Pad連携機能、オレオレURL Schemeによる連携機能を加えるパッチです。

投稿画面のタイトルが改変されてATOK PadのLauncherになります。
操作手順としては上掲の動画を見てもらうのが一番ですが、文字に起こすと以下のようになります。

  1. Evernoteで投稿画面開く
  2. タイトル部分をタップ
  3. ATOK Padに切り替わる
  4. 文字編集
  5. 「完了」ボタンを押す
  6. ATKPadPatcherを導入していない環境では「完了」ボタンが「左向きの矢印」ボタンに変身するので、再度そのボタンを押す

ATOK Pad連携をするためには、iOS4のマルチタスク(Fast App Switch)が有効である必要があります。
iPhone 3G+iOS4.x.xに代表されるマルチタスクが有効になっていない環境では、ATOK Pad連携はうまくいきません。
また、マルチタスクが有効になっていても、EvernoteとATOK Padが同時に動いていない場合も連携はうまくいきません。
Evernote→ATOK Padと切り替わった後も、EvernoteがiOS4のFast App Switchで動き続けることが連携成功の条件です。
Evernoteが裏に回ったときにメモリ不足などでOSによって自動的に終了させられていると、うまくいかないです。
Evernoteに戻ったときに、Evernoteから一から起動し直しになっていないか確認してください。

連携時の操作手順をATKPadPatcherで減らして楽をする

ATKPadPatcherを併用すると、連携時の手順を減らして楽をすることができます。

ATOK Padの外部アプリケーション連携時の手順をシンプルにするATKPadPatcher

オレオレURL Schemeによるアプリケーション間連携機能(Ver.0.2より)

Webクリップ

EvernotePatcher導入後、以下のようなbookmarkletをMobileSafariなどに登録して実行すると、表示中のWebページをEvernoteにクリップできます。
通常だとEvernote内蔵のWebブラウザで一度ページを表示させないとWebクリップできませんが、ワンタッチでWebクリップできるようになるので便利です。

javascript:window.location=’evernote:clip:’+window.location

登録用リンク(一度ブックマークした後、頭のhttp://hitoriblog.com/?を削ってください)

新規エントリ追加

EvernotePatcher導入後、以下のようなbookmarkletをMobileSafariなどに登録して実行すると、新規エントリを追加できます。

javascript:window.location=’evernote:newnote:title=’+document.title+’&tagnames=Clip&content=’+document.body.innerText+’&sourceURL=’+window.location

登録用リンク(一度ブックマークした後、頭のhttp://hitoriblog.com/?を削ってください)

これはこのままだと改行が落ちてしまうため、実用するにはもう少し工夫が必要かと思います。

「evernote:newnote:」で始め、title(タイトル)、tagnames(タグ)、content(本文)、sourceURL(参照元URL)を引数に付けることでそれぞれを指定できます。
tagnamesは「,」で区切ると複数指定できます。

既知の問題

  • 一部のページがWebクリップできない。EvernotePatcherとは無関係の、Evernote自体の問題である可能性があります
  • Evernoteがバックグラウンドで動いていない状態だとWebクリップに失敗する0.4で修正

Webクリップの失敗と問題の切り分けについて

Ver.0.2でiPhone用のEvernoteを拡張するEvernotePatcherをバージョンアップして、bookmarkletからEvernote for iPhoneに新規ノート、Webクリップを追加できるようにしました。

しかしながら、WebクリップのURL Scheme「evernote:clip:」の方は動作不完全だったので修正してバージョン0.4にしました。

0.3まではあらかじめEvernoteを起動し、バックグラウンドに回してからでないと機能しませんでしたが、0.4からはそうした準備が必要無くなっています。

また、URLに「?」を含んだりするとクリップできませんでしたが、その不具合も修正しました。

ただ、Evernote for iPhoneのWebクリップ機能自体あんまりよろしくなく、ページのレイアウトが崩れるのは元より、Webクリップそのものができないページがあるようです。

EvernotePatcherは、それらの不完全な動作を改善するものではないのでご了承ください。

Webクリップできないページに遭遇したら、問題を切り分けるために、EvernoteのノートにWebクリップできないページのURLをペーストして、それをタップし、Evernoteの中でページを表示させ、アクションボタンからWebクリップを実行してみてください。それでもWebクリップできなければ、それはEvernotePatcherの問題ではなく、Evernote自体の問題です。

Evernoteの標準の使い方でWebクリップしても失敗する場合は、僕にはどうしようもありません。

履歴

  • 2011.07.02 0.4-1 bookmarkletからのWebクリップ時、バックグランドでEvernoteを待機させていないとWebクリップできなかった問題を修正。Webクリップ時、bookmarkletからEvernoteに引き渡すときに一部文字が含まれる場合にWebクリップに失敗していた問題を修正
  • 0.3-1 ATOK PadをインストールしていないとオレオレURL Schemeが機能しない点を修正
  • 0.2-1 2011.01.27 オレオレURL Schemeによるアプリケーション間連携機能追加
  • 0.1-1 2010.10.21 初版

動作環境

  • iOS 4.0
  • iOS 4.0.1
  • iOS 4.0.2 (not tested)
  • iOS 4.1
  • iOS 4.2.1
  • iOS 4.3.3

インストール

New野良リポジトリに置いておきました。

「EvernotePatcher」で検索してください。

無保証です。何の保証もありません。
今後のアップデートもあるとは限りません。
それでもよければ使ってみてください。

   

 - iPhone, Jailbreak, ガジェット