スポンサーリンク

【iPad_JB】 iPad非対応Appにパッチをあててキレイに表示する

iPad

追記: 下記の方法を自動で行うCydia App、FullForceがリリースされている。設定はコントロールパネルのFullForceから。

FSM.comに面白い記事が載っていたので試してみた。

jailbreak済みのiPadにインストールした、iPhoneのみ対応のAppのinfo.plistを書き換えて、高解像度対応にするものだ。

テキスト系で、拡大してテキストがギザギザになってしまったり、iPhoneキーボードになってしまうようなAppで特に有効。

▼英辞郎をiPadで表示した場合、解像度がそのままで、小さい画面になってしまう。

▼iPadの拡大機能を使うと、今度はギザギザなフォントに加えて、iPhoneキーボードがギザギザに拡大する。

今回紹介するplistを編集する手法を使えば、この問題が解決するAppがある。

メインのPCがクラッシュして、再構築中なので、簡単にまとめておく。
なお、本当に無保証。何が起きても責任は持たない。plistエディタの使い方とか、ググレばわかるような質問もお断りする。

記事にあるように、単純にAppのディレクトリ(var/mobile/applications/)の下にある、書き換えたいAppフォルダのルートにあるinfo.plistを編集して、以下の記述を追加するだけ。追加後、respringしてOSに認識させる必要がある。

<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>

この記述は、iPad対応であることを宣言するもの。plistエディタで、適当な場所に挿入して保存すれば、plist中あるべき場所に保存される。
ここで注意事項。iPadの拡大機能 (1x → 2x)を使ったものは、info.plistに、すでにこの記述が存在する。どこにあるのかは分からないが、おそらく別の場所に拡大機能を使っているという記述がされているのだろう。この場合、いったん1xに戻してrespringすると、plistから記述が消えるので、その状態から、今一度記述を追加する。
それ以外のもので、すでに <integer>2</integer> 以外の記述が存在するplistもあった。この場合は<integer>2</integer>を追加すれば動作した。

▼英辞郎で試してみたら、非常にうまく行った。フォントはキレイな高解像度のものに置き換わり、キーボードもiPadネイティブのものに変わった。

 

▼追記: 後で調べてみたら、パッチを当てた英辞郎では、一番下のメニューボタンバーが全て動作しないことがわかった。
座標がハードコードされているせいなのか、このパターンが多い。

 

追記: 上記の方法を自動で行うCydia App、FullForceがリリースされている。設定はコントロールパネルのFullForceから。
非常に簡単にiPadフル画面化の設定、取り消しができる。respringも必要ない。

やってみて、うまくいったもの、いかなかったものをリストしておく。(もちろん無保証)
これ以外にやってみて、結果がよかったものがあったらコメントでお知らせいただけるとうれしい。

緑字は追記したもの

【うまくいったもの】
Byline、mBox Mail、iFile (JB App)、ギャラリー(タッチする場所に癖あり)、BB2C

【動作するが、下段のボタンが機能しないもの】
英辞郎、Mobile RSS 、Reeder、FourSquare、iDiskOpera Mini
Read It Later (sortなど、あまり使わないボタンなので、あまり問題ない)

【うまくいかなかったもの】
ニコニコ動画(表示はうまくいくが、もともとiPadでは動画が再生できない)
ラブプラスi(スタート画面でバグる)
BirdBrain(一応動く、が一部画面がおかしい&テキスト折り返してしまう=誰得)
iTextSpeed (終了後のメニューボタンがタッチできない)
Opera Mini (最初の起動でOKが押せないので、先に進めない)


タイトルとURLをコピーしました

Fatal error: Uncaught Error: Call to a member function listFiles() on null in /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php:595 Stack trace: #0 /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php(615): W3TC\CdnEngine_GoogleDrive->path_get_id('sjdojo/wp-conte...') #1 /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/Cdn_Core.php(738): W3TC\CdnEngine_GoogleDrive->format_url('sjdojo/wp-conte...') #2 /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(1226): W3TC\Cdn_Core->url_to_cdn_url('https://peer2.n...', 'sjdojo/wp-conte...') #3 /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(911): W3TC\_Cdn_Plugin_ContentFilter->_link_replace_callback_ask_cdn('"https://peer2....', '"', 'https://peer2.n...', 'sjdojo/wp-conte...') #4 [internal function]: W3TC\_Cdn_Plugin_ContentFilter->_link_replace_callback(Array) #5 /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(935): preg_replace_callback('~([" in /home/peer2/www/sjdojo/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php on line 595