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 件のコメント:
コメントを投稿