[JB]iOSのTwitter / Facebook共有機能を使いやすくするJailbreak Tweak、SharePatcher
2015/02/16
価値ある情報をユーザー視点で発信するブログ
2015/02/16
もくじ
SafariからTwitterにページ情報を共有しようとするときなどに使うiOS標準の共有機能。
これは昔から使い物にならなくて、腹が立ってパッチを当てていたりしました。以前はWebページのタイトルを挿入してくれなかったので、挿入するように改造したのです。
[JB]iPhoneのSafariの共有機能の書式等を改善するSafariSharePatcher
iOS 8では、この共有機能を使うとWebページのタイトルを挿入してくれるようになったので大分マシですが、ぶっきらぼうにページタイトルを挿入するだけなので、共有の書式としてはイマイチです。
冒頭にコメントを書きたいので、コメントとWebページのタイトルとを区別するために、Webページのタイトルは引用符で囲いたい。コメントとWebページのタイトルの間に空白を一つ入れたい。すぐにコメントを書き始められるように、カーソルは先頭にあってほしい。
そこで、それを実現するJailbreak Tweakを作ってみました。(続きは[Read More]から)
作ったJailbreak TweakがSharePatcher。以前作ったSafariSharePatcherのiOS 8対応版とでも言えるものです。
Safariのみならず、システムワイドに適用されるので、名前から「Safari」が取れました。
SharePatcherは、共有されるテキストを事前にJavaScriptで加工できるようにするものです。
また、カーソルをテキストの先頭に動かす効能も持っています。
SharePatcherをインストールすると「設定>SharePatcher」が出現します。
設定項目は、PRE PROCESSのJavaScriptのみ。
共有されるテキストが投稿画面にセットされる前に、ここのJavaScriptで加工され、加工結果が投稿画面にセットされるようになります。
デフォルトでは、以下のようなJavaScriptがセットされています。
txt = ' "' + txt + '"';
共有されるテキストが変数txtに代入されており、それを加工。加工したものをtxtに代入すると、それが投稿画面にセットされます。
ここでは、共有されるテキストをダブルコーテーションで囲んでいます。先頭に空白も追加しています。
if文を使って、テキストのフォーマットに応じて加工方法を変えることも当然できます。
以下の例は、共有されるテキストにURLが含まれる場合は、何も加工をしない。URLが含まれなければダブルコーテーションで囲むというものです。
if (txt.match(/http:\/\//)) { // nop } else { txt = ' "' + txt + '"'; }
都合で入力欄が1行のテキストフィールドになっていますが、複数行のJavaScriptもペーストできます。行末のセミコロンをお忘れなく。
なぜJavaScriptが登場するなど使用者を畏怖させる作りになっているかというと、iOS 8ではこのパッチをシステムワイドに適用せざるを得ないためです。
アプリごとにどんなテキストを共有させるかはまちまちであり、それらに全部対応できないため、後から工夫できる余地を残しました。
頻用するであろうSafari、YouTube.app辺りならデフォルトのままで困りません。
Amazonアプリ。
Amazon アプリ
カテゴリ: Lifestyle
販売元: AMZN Mobile LLC(サイズ: 33.1 MB)
全てのバージョンの評価: (6,377 件の評価)
その共有機能は、末尾に「<半角スペース>@Amazon」というものが付きます。
毎回手動で削除するのが面倒なので、SharePatcherで自動化します。
1行目のように追加。
txt = txt.replace(" @Amazon", ""); txt = ' "' + txt + '"';
すると、最初から削除された状態になります。
SharePatcherの適用範囲は、TwitterとFacebookのみです。
SharePatcherは無保証、無サポートです。自己責任でお使いください。
iOS 8.1.2 / iPhone 5s
いつもの New野良リポジトリ をCydiaに登録後、以下のリンクをタップしてインストールしてください。
インストール後、「設定>SharePatcher」を必要に応じて設定してください。