DO NOT PAY FOR JAILBREAK YOUR DEVICE!

最近、『NTTドコモのSIMカードでLTEを使えるようにする』『ソフトバンクやKDDIで月額を払わなくてもテザリングができるように』などのフレーズで『CommCenter* patch』や各種キャリアバンドルをインストールする代行業者があるようで、たいへん多くの「どのような関係性があるのか」「無償で提供しているように見せかけてカネを取るのか」「いくら儲かるのか」といった問い合わせを受けています。

これらの悪質な業者と我々は、いっさい関係がありません。Jailbreakは無償で提供されるべきものであり、これを商用利用すべきものでもありません。 [続きを読む »]


2011年7月27日水曜日

iOSアップデート時のjailbreak環境のバックアップと復元スクリプト

iOSアプリケーションの開発を業としていると、検証目的などで割と頻繁に端末のOSを入れ替えたりします(もちろん『TinyUmbrella』のお世話になります)。

ここしばらくはiOS 4の牙城だったので主にiPhone 3GSとiPhone 4の2台体勢で前者のOSを入れ替えていればよかったのですが、iOS 5を視野に入れたテストも行うようになり、メインとして利用しているiPhone 4もOSバージョンを上げたり下げたりの検証作業に使用するようになりました。

Jailbreak環境の復元はめんどくさい

ところで、jailbreak環境でいちばん面倒なのはCydia appsの復元だと思います。筆者は後述のようにCydia向けリポジトリからのアプリケーション類をたくさんインストールしています。

iOSのバージョン切り替えとApp Store アプリケーションの再インストールは、(該当のshshさえあれば)端末をDFUモードにしてから『redsn0w』でpwned DFUモードに切り替え、『TinyUmbrella』でTSS Serverを実行させてから『iTunes』でoption+復元ボタンによる指定ファームの復元を行えばよいだけです。

筆者の場合は、iOSのマイナーバージョンまでが同じ(つまり4.3.1→4.3.3など)であれば復元後にiTunesのバックアップから書き戻し、そうでなければ(4.2.1→4.3.5など)復元前にあらかじめ /var/mobile/Library/ や /var/mobile/Applications/ 以下などから設定ファイルやデータ類、 /var/mobile/Media/ 以下の写真データなどを採取しておき、いったんiTunesで新規のiPhoneとして設定してからjailbreakして設定ファイルやデータ類を『iPhone Explorer』を利用して手動で書き戻しています。

これと比べるとCydiaでリポジトリを追加し直し、必要なアプリケーションをひとつひとつ指定していくのはとても骨が折れます。もちろん、それに対するソリューションもたくさん提供されています(たとえば『AptBackup』など)。究極的には自分でそのようなツールを作ることもできます。いくつか書き戻したい設定ファイルなどもあったので、融通を利かせたくて筆者もシェルスクリプトで作りました。

Backup/restore for apt/Cydia repos and packages, libactivator/libhide/libiconsupport settings.
https://gist.github.com/1101829

〝bkrs.sh -b〟で生成したバックアップファイル〝/var/mobile/backup.zip〟を取得してPCに保存しておき、復元とjailbreak後に〝/var/mobile/backup.zip〟を書き戻してCydiaからでもapt7,aptitude,unzipを導入してから〝bkrs.sh -r〟とやれば、あとはよしなにしてくれる、という案配です。

自動で再導入されるパッケージの中には、iOSのバージョンが上がったなどの際にSpringBoardをstackさせたりするものなどもあると思うので、その場合はbackup.zip内の〝deblists.txt〟をいじるなどして何とかしましょう。

ところで、よくある質問として「なんか面白いアプリないの?」「何を入れているの?」というものが挙げられますので、この機会に整理したものをメモがてら以下に記しておきます。

App Store applications

App Storeからインストールできるものとしては、以下のようなものをインストールしています。App Storeはレートの見直しによって最近価格が変わりましたので、変更後の価格も併記しておきます。

ATOK Pad』 (¥1200)
長い日本語の文章を打たなければいけないとき、Bluetoothキーボードと接続して使います。
OneNote for iPhone
日本のApp Storeには掲載されておらず、米国のApp Storeから購入しています。Microsoft公式であるぶん、Office Live (Skydrive)に保存したOneNoteドキュメントが扱えるため、備忘録やスクラップブックとして活用しています。
SketchBook Mobile』 (¥230 → 170)
世の中にはイラストでないと伝わらない内容やイラストのほうが早い内容というものがあるので、そのようなときに使います。
iSSH』 (¥1200 → 850)
iSSHはSafariと並んで筆者の生活の中心となっているアプリケーションです。最近RDPサポートが追加され、いつか下記のiTap RDPが要らなくなるかもしれません。
iTap RDP』 (¥1400 → 1000)
RDPでないといけないWindowsサーバーに接続するときはこちらを使っています。とてもよく作り込まれています。
i文庫S』 (¥420 → 350)
青空文庫形式のテキストファイルやスキャン済みファイルの閲覧にとても便利です。
ComicGlass』 (¥230 → 170)
本来の機能であるマンガの閲覧もそうなのですが内蔵のhttpダウンローダがとても優れているので、大容量ファイルをダウンロードする際に利用したりもしています。
Podcaster』 (¥230 → 170)
Video Podcastを視聴する際に便利です。
im.kayac.com』 (¥230 → 170)
TwitterやIRCなどのキーワード通知に大活躍しています。筆者のiPhoneでPush通知音が鳴るのはこのアプリケーションだけです。
Boxcar
Twitterのfavorites追加通知などのために使っています。キーワードヒットに関してはim.kayac.comがメイン。
Colloquy』 (¥230 → 170)
とても優れたIRCクライアントですが、筆者はiPhoneではmobircを使うことが多いのでどちらかというと腰を落ち着けたとき用という感じです(そしてそのような場合はiPadがある)。
Facebook
Facebookに関してはほぼ『FacebookIrcGateway』からIRCチャンネルとして見ているのですが、チェックインや写真アップロードだけは公式アプリケーションを使います。
Google+
Google+に関しては早くAPIが出てIRC Gatewayが作られる時代が来るといいなと思いながら、あまり出来がよいとは言えない公式アプリケーションを使っています。
Osofora』 (¥350 → 250)
個人的に好きなTwitterクライアントですが、Twitterの閲覧のためには『TweetIrcGateway』(opentig)を使っているため、これもIRCチャンネルとして見られます。また、Twitterに写真などを送ることはなくなったため、ほぼ使われていません。
Echofon Pro』 (¥600 → 450)
im.kayac.comやBoxcarがうち漏らしたキーワード通知やfavorites通知のためにインストールしています。
GREE
勤務先がGREEアプリを提供しているので一応……

他に、ゲームとして『Real Racing 2』(¥800 → 600)や『Need for Speed』シリーズ、『Official Sudoku』(¥115 → 85)などをインストールしています。

あと、業としてそれらを使うゲームを提供しておきながら言うのもなんですが、移動に電車を使うようになってはじめて、モーションセンサやジャイロセンサを使うゲームは電車の中などではまったく実用にならないことに気付きました。地面と水平を保てる状態でゲームをするようなシーンは、筆者の生活の中ではトイレくらいしかありませんでした。

Cydia applications

Cydiaからインストールできるものとしては、以下のようなものをインストールしています。似た名前のものが存在する場合があるので、アプリケーションバンドルも併記しておきます。

SpringBoard周り
『Winterboard』 winterboard
言わずと知れたテーマ環境です。一部アイコン/リソース類の差し替えやRetina化などに使っています。
『Five Icon Dock』 com.saurik.iphone.fid
Dockに表示するアイコンを5つに増やします。
『Five Icon Switcher』 com.chpwn.five-icon-switcher
App Switcherに表示するアイコンを5つ(それ以外も設定から変更可)に増やします。
『App Switcher Brightness』 org.thebigboss.appswitcherbrightnesss ($0.99)
App Switcher左端のボリュームスライダの下にLCD輝度調整スライダを追加します。
『Icon Renamer』 com.rpetrich.iconrenamer
SpringBoardの各アイコンをリネームするためのツールです。
『Gridlock』 com.chpwn.gridlock ($0.99)
SpringBoard標準ではアイコンを飛び飛びに配置することはできませんが、グリッドに沿って配置することが可能になります。
『PerPageHTML+』 com.wynd.perpageplus ($1.99)
SpingBoardの各ページにHTMLで構成されたウィジェットを配置するツールです(無償版と違って、ウィジェットがタップなどのイベントを取得できます)。
『Wraparound』 com.aaronash.wraparound ($1.99)
SpringBoardの最後のページからSpotlightやその逆など、ページめくりを最初と最後でループさせることができます。
『LiveClock』 liveclock
時計アイコンが実際にアナログ時計として動作します。
『WeatherIcon』 com.ashman.weathericon
天気アイコンが実際に天気を表示するようになります。
『Backgrounder』 backgrounder
マルチタスクを拡張するツールです。OS標準以外の方法でバックグラウンド化したり、アプリごとにバックグラウンド化を阻止したりできます。
『Activator』 libactivator
ボタン操作やジェスチャ操作を拡張します。SBSettingsなどの起動操作の他に下記2種のツールが便利です。
『LastApp』 jp.ashikase.lastapp
直前に起動したアプリケーションへ切り替えます。2種のアプリケーション間移動に便利です。
『SpringFlash』 springflash
iPhone 4背面のLEDフラッシュを点灯/消灯します。
ロックスクリーン周り
『LockInfo』 com.ashman.lockinfo ($7.99)
ロック画面に各種情報を表示します。
Dark_mod Theme for LockInfo』 jp.backspace.lockinfo.themes.dark
旧バージョン標準のDarkテーマに近いテーマです。
『Clock Plugin for LockInfo』 com.ashman.lockinfoclock
細めの時計プラグインです。
『Lock Weather Plugin for LockInfo』 com.ashman.lockinfolockweather
標準ロック画面に近いデザインの時計に、カレンダーや天気表示などを追加したプラグインです。
『Weather Plugin for LockInfo』 com.ashman.lockinfoweathericon
天気情報を表示するプラグインです。
『Twitter Plugin for LockInfo』 com.ashman.lockinfotwitter
Twitterへのポストや新着のmentions/DMなどを表示するプラグインです。
SBSettings周り
『SBSettings』 sbsettings
言わずと知れた設定切り替えツールです。
iOS Theme for SBSettings』 jp.backspace.sbsettings.themes.ios
iOSっぽいデザインのテーマです。
『Airplane SBSettings Toggle』 org.thebigboss.sbsairplanetoggle
フライトモードのON/OFFを切り替えるトグルです。
『Push Notifications Toggle』 sbsettingspushnotificationstoggle
Push通知のON/OFFを切り替えるトグルです。
『Personal Hotspot SBSettings Toggle』 net.limneos.personalhotspottoggle
Personal HotspotのON/OFFを切り替えるトグルです。
『Autolock SBSettings』 sbsettingsautolock2
オートロックのON/OFFを切り替えるトグルです。
『Autocorrection SBSettings Toggle』 sbsettingsautocorrect
オートコレクトのON/OFFを切り替えるトグルです。
『Net Talk Toggle』 sbsettingsnettalk
netatalkサービスのON/OFFを切り替えるトグルです。
『SBSettings VPN Toggle』 sbsettings-vpn
VPN接続のON/OFFを切り替えるトグルです。
『Lighttpd SBSettings Toggle』 net.limneos.sbstogglelighttpd
lighttpdサービスのON/OFFを切り替えるトグルです。
『Aptupdate for SBSettings』 org.thebigboss.sbsaptupdate
バックグラウンドで "aptitude update" コマンドを実行します。
ユーティリティ
SwipeToMoveCursor』 com.hitoriblog.swipetomovecursor
左右スワイプでカーソル移動を行ったり〝Type’n Go〟と呼ばれる独自コマンドでカーソル移動を拡張するツールです。
『iFile』 eu.heinelt.ifile ($4.00)
言わずと知れたファイラーです。
『Notified Pro』 net.epelaez.notifiedpro ($2.99)
Push通知のログを採取し、画面上スワイプなどで表示するツールです。
『Notification GriP for Notified Pro』 com.samball.notificationgrip
Push通知を標準のポップアップダイアログでなく、Growlのように表示するツールです(ログはNotified Proで閲覧できます)。
iOS Theme for Notified Pro』 jp.backspace.notified.themes.ios
Notified ProとNotification GriP向けのiOSっぽいテーマです。
『qTweeter』 com.efiko.qtweeter ($3.99)
Activatorで割り当てたアクションからいつでも起動できる、Twitter/Facebookへのポストを行うためのツールです。
『SwapCamRoll』 com.spithre.blogspot.swapcamroll
カメラロールを2つ作って切り替えます。
Better patch for SwapCamRoll』 jp.backspace.swapcamroll.better
SwapCamRoll標準ではカメラロールしか切り替わりませんが、このパッチによって写真ライブラリも切り替わるようになります。
ユーティリティ(環境設定に追加されるもの)
『SAM』 com.bingner.sam
SIMカードの認証周りにアクセスするためのツールです。SIMの差し替えによってキャリアが変わった場合などに再アクティベーションするために利用しています(これをやらないとバッテリー異常消費などの原因になることがある)。
『Calendar Colors』 com.richman777.calendarcolors
カレンダーを複数同期している場合の項目の色を調整するためのツールです。
『Tetherize』 com.w00tylab.tetherize
テザリングやパーソナルホットスポット利用時の青いステータスバーを変更したり無効にするためのツールです。
『FastSnap』 com.extra.fastsnap ($0.99)
カメラ起動中にボリュームボタンでシャッターを切るためのツールです。
『FreeSync』 com.flippobiga.freesync ($1.00)
iTunesとの同期中でもiPhoneを利用できるようにするためのツールです。
『ManualCorrect Pro』 com.japaneatahand.manualcorrectpro ($0.99)
オートコレクト機能を変更し、候補をタップしないと修正されないようにするツールです。
『MultiCleaner』 com.dapetcu21.multicleaner ($0.99)
App Switcherに表示しておくアプリケーションを指定したり、終了したらApp Switcherから抹消するようにするためのツールです。アプリの強制終了など、他の機能も豊富です。
FakeClockUp』 jp.novi.fakeclockup
iOSのアニメーション速度を変更して見かけ上の速度を向上させるツールです。
シェル/サービス系
iPhoneを便利なサーバーにしてくれるサービス群
iPhone単体でWebサービスの簡単なモックを作って説明したりサーバーのメンテナンスなどを行うことが多いので、iPhone側がある程度のサーバー的なサービスを提供してくれると作業効率が上がります。以下のようなものを入れています。
  • us.scw.afctwoadd
  • lighttpd
  • netatalk
  • openssh
  • openssl
  • php
  • python
コマンド周り
以下のパッケージ群を導入することで、ひととおりUNIX的なコマンド環境が整うと思います。人によってはzshやemacsが要るのかもしれません。
  • adv-cmds
  • basic-cmds
  • diskdev-cmds
  • file-cmds
  • network-cmds
  • shell-cmds
  • system-cmds
  • coreutils
  • coreutils-bin
  • sudo
  • screen
  • inetutils
  • vim
パッケージ周り
Cydiaを導入しただけだとapt系の全コマンドが導入されるわけではないので追加します。それと、簡単なプログラムを書いたときにフェイクのコード署名をつけるためにldidが便利です。
  • apt7
  • aptitude
  • ldid
その他
NTT docomo bundle for b-mobileSIM U300』 jp.backspace.carrier.docomo.bm.u300
b-mobileSIM U300』用のキャリアバンドルです。
SoftBank bundle for Premobile』 jp.backspace.carrier.sb.premobile
プリモバイル』用のキャリアバンドルです。
CommCenterClassic Patch for iOS 5』 jp.backspace.ios5.commcenter.patch
本来はiOS 5向けのCommCenterパッチですが、iOS 4.3.3のみ限定的にサポートを入れています(※iOS 4系で最後のuntethered jailbreak対応バージョンとなると思われるため)。
Premobile patch for smilehelp.app』 jp.backspace.smilehelp.patch.p
ソフトバンク純正の『新着MMS』アプリケーションに対するパッチで、iPhone用APNでない場合(このパッチでは銀または白SIM向けmailwebservice APNの場合)に正しく動作するようにします。

他にも細々としたものをインストールしていますが、これらを一括で戻せるようになって再構築作業はとても楽になりました。

0 件のコメント:

コメントを投稿