2011年02月27日

【iPhone/iPad:JailBreak】Backgrounder 1.0.3-1

2012/06/19追記:
未だにこの記事に多くのPVがあるのは、現在の最新バージョン 1.1.0-1 が上手く動かないからであろうことを把握しています。 私の環境でも上手く設定できませんでした。
この記事は既に古くなっていますし、1.1.0-1を上手く動かすためのヒントは何もありません。 悪しからずご了承ください。
 

 
こんにちは。
Backgrounderの設定項目の解説をバージョン1.0.3-1を元に書きなおしました。
 
前提
 
最小化:
アプリの画面からホーム画面に戻る行為と考えてください。つまりホームボタンを押下して"アプリを閉じる"ことです。「閉じる=終了する」ではないことに注意してください。
 
iOS4標準のマルチタスク機能:
最小化時に以下の処理をバックグラウンドで処理し続けます。それぞれアプリごとに実装している場合に限定されます。
  • Audio再生例:音楽再生アプリを閉じても曲が再生されつづけます。
  • GPSによる位置情報取得例:GPSロガーアプリを閉じても位置情報を取得し続けます。
  • VoIPの接続維持例:Skypeを閉じても通話や待ち受けが可能です。
  • ダウンロード継続例:Dropboxを閉じてもダウンロードを継続します。
  • タスクの完成例:具体例浮かばず。一連の処理の途中でアプリを閉じても処理を完結させる、かな?
Fast App Switch:
iOS4標準のマルチタスク機能をサポートしていないアプリの救済措置として、iOS4が提供する機能です。サポートしていないアプリにだけ有効な機能というわけではなく、iOS4用に作成されたすべてのアプリで有効です。(一部の古いアプリでは無効です。)最小化時にアプリの実行状況をメモリ上に退避し、再起動時に復元します。つまり「バックグラウンドで処理を継続」ではなく、「中断したところから処理を再開」を実現します。
 
 
1. Background Method(デフォルト:Backgrounder)
アプリのバックグラウンドでの処理継続方法を指定します。
 
1-1.Off
アプリをバックグラウンド処理させません。最小化と同時にそのアプリは完全に終了します。
 
1-2.Native
バックグラウンドに移行させたアプリを最小化した時、iOS4標準のマルチタスク機能を使用して処理を継続させます。 iOS4標準のマルチタスク機能やFast App Switchingをサポートしていないアプリは、最小化と同時にプロセスが完全に終了します。これを選択した直後は、後述する"Enable at Launch"と"Stay Enabled"は自動でONになります(もちろん変更可能)。
 
1-3.Backgrounder
バックグラウンドに移行させたアプリを最小化した時、処理を継続させます。 Nativeと違い、標準マルチタスク機能をサポートしていなくてもバックグラウンドで動かします。フォアグラウンドで操作している時とほぼ変わらない状態なので、iPhoneへの負荷は高くなりがちです。
 
1-4.Auto Detect
アプリがiOS4標準マルチタスクをサポートしているかどうかによって、バックグラウンドでの処理継続方法を自動判定します。サポートしている場合はNativeメソッドを、サポートしていない場合はBackgrounderメソッドを使用します。このメソッドを選択する場合、後述する細かい設定の一部は指定出来ません。
 
 
2.Option for Native
Nativeメソッドを選択した場合の追加設定です。
 
2-1. Fast App Switching(デフォルト:ON)
Fast App Switch機能を使用するかどうか指定します。
  • OFF:「中断したところから処理を再開」を実現させません。
  • ON :「中断したところから処理を再開」を実現します。
2-2. Even if Unsupported(デフォルト:OFF)
古いアプリでは通常Fast App Switchが使用できません。そうしたアプリにもFast App Switchを適用するかどうか指定します。このオプションは上記の「2-1. Fast App Switching」がONの場合に限り指定できます。
  • OFF:適用しません。
  • ON :適用します。かなり強引なことをするので問題が生じる場合があり注意が必要です。
3.Option for Backgrounder
Backgrounderメソッドを選択した場合の追加設定です。
 
3-1. Fall Back to Native(デフォルト:ON)
アプリ最小化時の振る舞いをNativeメソッドと同様にするかどうか指定します。
  • OFF:Nativeメソッドと同様にしません。アプリの仕様により差異はありますが基本的にバックグラウンドでそれまでの処理を継続します。
  • ON :可能な場合にNativeメソッドと同様にします。ONにすると、上述の「2. Option for Native」も指定できるようになります。
4. Backgrounding State
アプリをバックグラウンドに移行させる条件などを指定します。
 
4-1. Enable at Launch(デフォルト:OFF)
アプリの起動と同時にバックグラウンドに移行させるかどうか指定します。 Nativeメソッドを選択した場合はデフォルトでONになります。
  • OFF:起動時にはバックグラウンドに移行させません。手動で移行させる必要があります。
  • ON :起動時にバックグラウンドに移行させます(起動と同時に最小化するわけではないよ!)
4-2. Stay Enabled(デフォルト;ON)
バックグラウンドに移行された状態のアプリの最小化時の振る舞いを指定します。
  • OFF:バックグラウンドに残存することなく最小化と同時にアプリは完全に終了します。
  • ON :最小化させた時の振る舞いは、上記1〜3の設定に従います。
5. Indicate state via...
バックグラウンドに移行されたアプリの状態表示について指定します。
5-1. Badge(デフォルト:OFF)
バッヂ表示のON/OFFを指定します。
  • OFF:アプリのアイコンには特になにも表示されません。
  • ON :バックグラウンドに移行しているアプリのアイコンに、そのことを示すバッヂが表示されます。
5-2. Status Bar Icon(デフォルト:OFF)
アプリを表示している際の、ステータスバーアイコン表示のON/OFFを指定します。
  • OFF:ステータスバーには特になにも表示されません。
  • ON :現在作業中のアプリがバックグラウンドに移行しているアプリである場合、ステータバーにそのことを示すアイコンが表示されます。
6. Miscellaneous
いわゆる「その他」の設定です。
6-1. Minimaize on Toggle(デフォルト:ON)
アプリをバックグラウンドに移行させる操作(一般にはホームボタンの長押し)をした時に、アプリを最小化させるかどうか指定します。
  • OFF:最小化させません。バックグラウンドに移行させた後も、継続してアプリを操作できます。
  • ON :最小化させます。その後アプリは上記1〜3の設定に従って振る舞います。
 
 
以上、ざっと説明してきました。各設定項目ごとに英文ながら詳細な説明がされていますが、それぞれ切り口が異なるため組み合わせて考える場合に混乱しやすいのではないかと思います。
 
 
(参考)
Backgrounderをインストールしていない状態、つまりiOS4標準の動作をさせるための設定を挙げてみます。これを基準に目的の挙動を実現するために、どの項目を変更すれば良いか考えてみると分かりやすいかも。
  • 1. → Native
  • 2. → Fast App Switching:ON / Even if Unsupported:OFF
  • 3. → Enable at Launch:ON / Stay Enabled:ON
  • 4. → 指定できません
  • 5. → Badge:OFF / Status bar Icon:OFF
  • 6. → Minimaized on Toggle:ON
こういう挙動にしたいんだけど、どう設定すればいいの? という疑問があればコメントへどうぞ。すべてに回答できるとは限りませんけども・・・ごめんね。
タグ:iPhone JailBreak
posted by Huwy at 11:09 | Comment(5) | TrackBack(0) | iPhone/iPad JailBreak | このブログの読者になる | 更新情報をチェックする

2011年02月20日

【iPhone/iPad:JailBreak】iPhone4 iOS4.2.1 JailBreak

こんにちは。お久しぶりです。
記事エントリ自体ものすごくご無沙汰していましたが、今回はさらにご無沙汰なiPhoneJBネタ。
いつもどおり「いまさら」なネタなのでスルー推奨w

JailBreakMeによるiOS4.0.1JB以降、紐付きだったり不安定だったりと"お気軽JB"派の俺には何かと敷居の高い環境でした。
HDR撮影やらゲーセンやらMobileMe位置検索無料化やら、少なくとも俺にとってはどーでもいい機能のために取るべきリスクではないと判断し、静観しておった次第。
そんな中、iPhone Dev-TeamよりPownageTool4.2がリリースされ、ようやく"お気軽JB"が可能となったため、さっそくJBしてみました。


【環境】
Windows 7 Pro64bit
iTunes 10.1.2.17
iPhone 4 iOS4.0.1JB(JailBreakMe StarによるJB)

【CFW】
PownageTool4.2にて作成された野良CFWの
iPhone3,1_4.2.1_8C148_Custom_Restore.ipsw

【Pwned DFUモード移行ツール】
RedSn0w 0.9.6rc8 Windows版


ネットから収集した手順をもとにJB実行。そしてあまりにあっけなく完了。
不明エラーに慄いたり、完了後の不安定さに脇汗びっしょりかいたりしていた過去のJBと違い、なんたる手軽さであろうか。
さすがDev-Team、いい仕事しやがるぜい。

とは言うものの、OSバージョンアップによる影響は皆無とはならず。
まず、画像ファイル名が変更されてしまったため過去のWinterBoard資産がそのままでは使えませんでした。
最近はテーマ関連のCydiaプロダクトは完全に無視していました。iOS4.2.1向けテーマもたくさんリリースされていることでしょうが、また探すのも面倒なんでテーマ弄りは今回はパス。
つぎにMakeItMineが使えん。どうしたのさエリカちゃん。ってか俺だけ? これまた動作ではなく見た目の問題なんであっさりと諦めました。
パスワード2011/02/21追記:
iPodayさんのつぶやきより: FakeCarrier または Fake Operator というアプリ/アドオンでiOS4.2.1JBのキャリアロゴを変更可能とのこと。


いま俺に必要なJBプロダクトってなんだろうと、良い機会なので挙げてみました。
挙げてみて思った。やっぱりリスクを侵してまでJBアップデートする必要は俺には無いな、と。

・Action Menu(Plus Pack)
クリップボード履歴管理はもはや必須。

・Activator
他のアプリの要請からというだけでなく、スワイプジェスチャー大好きっ子の俺の要請でもありますw

・Backgrounder
やはりネイティブタスク管理機能はどうも使いにくい。自分でコントロールしたいのよ。

・FolderEnhancer
これもネイティブフォルダ機能がどうも気に入らないので。階層化は今のところ使ってませんけどね。

・iFile
これも今はあんまり使ってませんが、ファイルシステムを掌握できているという安心感って大切だと思うの。

・No Bookmarks
Safariは良く使ってます。なので起動のたびにイラつきたくないですよね。

・Remove Recents
アプリの起動履歴なんか要らんのじゃい!

・Rotation Inhibitor
ゴロ寝iPhonerには必須だよね。

・SBSetting
ご覧のとおり単体アプリよりアドオン系重視の俺には必須だし、トグル系便利だし、メモリ気になるし。

・TimeServerClient
iTunesとの同期がそんなに頻繁でないので。もやしさんありがとう。

・VibEditor
鈍感なので。もやしさんありがとう。

・WinterBoard
非JBなiPhone女子の気を引くために。先述のとおり、使う予定は今のところ無いけど。


さてiOS4.2.1がやっとJB出来たところですが、まもなく4.3リリース、そして夏にはiPhone5の発売が確実視されておりますな。
4.3JBはすぐに可能となるだろうとDev-Teamの発表があったので良しとして、iPhone5(iOS5.0?)はどうなるんでしょう。
ってか、俺そろそろAndroidに乗り換えるかもー。


タグ:iPhone JailBreak
posted by Huwy at 01:08 | Comment(0) | TrackBack(0) | iPhone/iPad JailBreak | このブログの読者になる | 更新情報をチェックする

2010年08月16日

【iPhone/iPad:JailBreak】iPhone4 JailBreaking記録3

こんにちは。
誰の役にも立たないお話し第3弾です。
第1弾でも書いた「3Gデータ通信があぼ〜ん」が再現しちゃった話し。

きっかけは3GSのヤフオク出品でした。
需要を考え、4.0.1でJBしSIMアンロックしました。
さて、俺はSoftbankの1回線しか持っておらず、それは今iPhone4で使ってるSIMが対象です。3GSで正しくSIMアンロック出来たか確認するためには、4のMicroSIMを3GSに差し替えなければなりません。

幸いSIMアダプタは入手済みでしたので、早速差し替えました。はい、3GSで(Softbankだけど)電話の発信が出来ました。
UltraSn0wで大きなトラブルは聞いたことないし、これでdocomoSIMでもイケるっしょ。

ではSIMをiPhone4に戻します。
念のため117に発信、おk。
更に念のためSBSで3G側のIPアドレスを確認しました。第1弾で書いたような悪夢が再現したらオイラ死んじゃうし!

・・・死にました。
見事にIPアドレスがN/Aです。もちろんMMSもNG。うひょー!

第1弾で書いたとおり、前回はBase Structureというライブラリのアップデートで直りました。今回ももちろん試します。バージョンは既に最新ですが、ReInstallしてみます。
ダメだ・・・NG。
iPhoneDeliveryも試します。ダメだダメだ!
ネットワークリセット。無駄無駄無駄無駄!
わー!またまた詰んだー!久しぶりにジョジョ読みたいっっっ!

前回の復旧例を振り返ります。
確かにBase Structureのアップデートのタイミングで直ったけど、それはホントにたまたまタイミングが同じなだけで、復旧の理由は実は「時間経過」にあるのではないか?
Softbankの3G網の中で、我がSIMが認識されるのにちょっと時間が掛かるだけ・・・そんな都合の良い解釈をしてみます。
だとすると、前回に倣って復旧は約12時間後か。え〜、待ってみる〜?

待ってるだけでも能が無いので、iFileでファイルシステムに異常が無いか調べてみます。
plistとかちょいと書き換えれば復旧するかもしれないし!
そしてここで重大な発見がありました。
/var/mobile/Library/Carrier Bundle.bundle/フォルダが丸ごと消えてます。
確かこのフォルダはリンクであり、実体は
/System/Library/Carrier Bundles/の下の
Softbank_jp.bundle/フォルダです。

お?じゃあリンク貼り直せば良くね?復旧する保証はないけど、キャリアの何某かを管理してるフォルダなのだから可能性は高い!
早速GO!&Reboot!・・・あれ、またリンク消えとる。くっそー!じゃあもうリンクじゃなくて丸ごとコピーだ!Go&Reboot!

カウンターパンチを喰らうとこんな気持ちになるのかな?ねえジョー、教えてよジョー。
はい、ダメでした。
勝手に作ったリンクが消えた事実から察するに、ブート過程の何らかの処理の中で動的に処理されるのでしょう。おそらく俺の手には負えない領域なので、諦めるしかありません。

時間経過で直る、というのはまったくの憶測に過ぎず、12時間後に復旧しなかったらもう復元しかありません。
可能性の低い12時間を無駄に過ごすよりは、今復元しちまおう。
そう思い直し、せっかくなので4.0.1で復元。
これでダメならジーニアスバーの予約をしなければなりませんでしたが、さすがに復旧。
再JBもOK。
一から環境再構築ですわ・・・はぁ、しんど。

教訓:
SIMの抜き差しはやめましょう。

・・・とか言って、普通に抜き差ししてiPhone4と3GSを1SIMで使い分けてる報告は腐るほど上がってるんだけど。
今回も前回も、結局原因はハッキリしないし、俺はもうしません。怖いもん。

余談:
3GSは無事にヤフオクに出品。
出品は初めてなので、ドキドキしてます。
敢えてオークションIDとか書きませんが、このブログで俺の文体に馴れてる奇特な方なら、商品説明の書きぶりで分かるでしょう。特定できたら買ってねw

追記:
いろいろ調べてみました。
ふむ、結局アクティベートに失敗したわけですな。3GSを4.0.1JBする過程で、旧SIMでアクティベートしたのがマズかったか。これで新SIMが無効になった? いやいや、3GSで発信確認したのは新SIMだったんだぞ?
iPhone4で新SIMの抜き差しをもう一回やればよかったのか?
復元作業を経ずにJBデバイスを再アクティベート(だけ)するのってどうやるんだろ?
リカバリーモードやらDFUモードは文鎮化寸前のデバイスを復元する時の話し、って固定観念があるんだけど、そっから変えてかにゃならんのか? お詳しい方、是非、コメントを。
まだまだ知らないことばかり。修行が足りませんな。
posted by Huwy at 05:24 | Comment(0) | TrackBack(0) | iPhone/iPad JailBreak | このブログの読者になる | 更新情報をチェックする

2010年08月06日

【iPhone/iPad:JailBreak】iPhone4 JailBreaking記録2

こんにちは。
俺自身にしか役に立たない薄っぺらいJB録の第2弾、参ります。
今回はテーマ弄りの紆余曲折。

結局テーマ弄りたくて、WinterBoard入れちゃいました。当面の目的は、フォルダアイコンと、フォルダ展開時の背景画像、Lockスライダー、Lock画面のバッテリを弄りたい。
アプリアイコンは統一感を維持するのがたいへんなので始めから対象外です。

WB用のテーマで、フォルダアイコンとフォルダ展開時の背景画像を変更するものがあったので(Blue Wave なんとか)、それをベースに好みの画像ファイルに差し替えていこうという方針を立てました。

まず、素直にそのテーマを適用してみます。
あれ?変化なし。WBはまだiPhone4JB環境には非対応か?
他のテーマも試してみます。適当にアプリアイコンを変更するテーマを適用。一部のサードパーティ製アプリには適用されるね。
なんだ?前者のテーマと後者のテーマにどんな差があるんだ?

iFileでテーマの構成を確認。
例えばフォルダ構成などに違いはありません。
強いて違いを挙げれば、前者がシステムUIの画像を変更するものであるのに対し、後者はアプリアイコンの変更だけです。
つまりWBが対応出来てないのは、システムUIの変更処理だけなのかな。
iFileでもうちょい深い所まで確認して見ます。
つまり、システムUIの画像のモノホンの確認です。

フォルダアイコンおよびフォルダ展開時背景画像は、
/System/Library/CoreServices/SpringBoard.app/
の下にありました。そして問題を理解しました。
iPhone4のiOS4においては、Retinaディスプレイ用のサイズの大きな画像ファイルが用意されていました。例えばフォルダアイコンは以下のように2つのファイルが存在します。

FolderIconBG.png(従来用)
FolderIconBG@2x.png(Retina用)

試しに@2xのほうをリネームし、改めてWBでテーマを適用すると、ちゃんと適用されました。おそらく、どこぞのplistで適用の優先度が決められているもよう。
plistやその他の設定ファイル、構成ファイルを弄る勇気はないので、それ以上は追求してません。

また逆に、WBテーマの画像ファイル名を@2xにリネームすることも試してみました。この場合、思惑どおり適用されるのですが、そもそも従来ディスプレイ用の画像ファイルなので、Retinaディスプレイ上では1/4のミニサイズで表示されてしまいます。

まとめてみましょう。

・システムUI用の画像ファイルは、従来ディスプレイ用とRetinaディスプレイ用があり、Retina用が存在する限りそちらが優先される。
Retina用が存在せず、従来用が適用される場合は表示の際に拡大しているようだ。

・システムUI用のWBテーマの多くは、現時点では従来ディスプレイ用ファイルしか準備していないため、そのままでは適用されない。
これらを適用したい場合は、画像編集ツールでサイズを2×2倍にし、さらにリネームする必要がある。

・標準アプリを含むRetina対応アプリのアイコンも然り。

というわけで、フォルダアイコンとフォルダ展開時背景を母艦でリサイズし、さらにリネームして、システムパスに直接的ぶち込みました(もちろんオリジナルファイルはバックアップしましたよ)。

俺のやることなんざ、せいぜい画像ファイルの差し替えだけなので、なんかもうWBに頼らないでいいやと思えてきました。最初の方針はどこへやら。

とりあえずここまでの作業結果

image-20100806050926.png

image-20100806050946.png

image-20100806051002.png

2010/08/08追記:
Lock画面も弄りました。
WBのテーマ適用条件を変更出来ればもっとお手軽になるんですけどねぇ。どなたか御指南お願いします。

image-20100808025941.png

2010/08/08追記の追記:
@2xの事とか、iPhoneテーマカスタマイズの雄、とよしんさんのブログに書いてありましたね(・_・;
RSSの消化を怠ったばかりに余計な時間を使ってしまったorz
posted by Huwy at 05:11 | Comment(9) | TrackBack(0) | iPhone/iPad JailBreak | このブログの読者になる | 更新情報をチェックする

2010年08月04日

【iPhone/iPad:JailBreak】iPhone4 JailBreaking記録1

こんにちは。
ようやくiPhone4のJBが可能になりましたね。
その方法などは既に皆さんご存知のことと思いますし、このブログなんか足元にも及ばないほど詳細な解説をされてるブログがたくさんありますので、割愛します。

今回は俺のJB作業履歴をツラツラと書くだけです。本人のための備忘録ですね。同じようなケースに行き当たった方には、もしかしたら有用かもしれませんけど。長文だよ。

<8月2日>

毎朝のTLチェックにて、とよしんさんのTweetでJailbreakMeローンチを知る。

さっそく実行。アクセス負荷が異常に高いのであろう、ダウンロードが始まらない。
数回挑戦ののち、ダウンロード&JB完了。
Retinaディスプレイで拝むCydiaアイコンが眩しいぜ。

CydiaでSBSを検索するもヒットせず。
出勤時間となり諦める。
しかしJB解禁の興奮覚めやらず、通勤電車内でSBS検索を再試行。アクセス集中により各リポジトリに繋がりにくい状態であったが、何度目かのCydia起動でSBSも検索ヒット。インストール成功。

ReSpring中の画面にノイズが表示され涼しい電車内で脂汗をかく。しかしそのまま普通に起動を確認。
が、アンテナアイコンが1つに、さらにキャリアロゴ、3Gロゴが非表示に。再び大量の脇汗をかく。

落ち着け俺。Rebootだ。なんの根拠もないけどこういう時はとりあえずRebootだ。
そしてReboot後、すべて復旧。
ふぅ。な?俺の言ったとおりRebootして正解だったろ?と、俺に言い聞かせる。

JBと言えばSBS。後は帰宅後にゆっくり進めようと思い、祭りが予想される2chで情報収集。ReSpring時の画面ノイズは全員に再現してるもよう。実害はないので気にしないことにする。
MMSが使えなくなった方がいたので、念のため自分も確認。うん、使えねww
そうだなあー、また根拠無しだけどこの場合はネットワークリセットかな。ま、俺を信じろ。
リセット後・・・3Gデータ通信があぼーん。
詰んだーーーーーーー!

とりあえず通話は出来るようだ。
IPアドレスが取得できていない。もう外出中なのでWi-Fi使って復旧作業も出来ない。
あーあ、帰宅するまでこのiPhone単なる電話機ですよ。

職場のネットワークは当然のことながらフィルタが仕込まれており、2chはおろかTwitterすら参照不可能。が、ごにょごにょ設定のうえとりあえずTwitterに繋ぐ。
普段TL上の交流をあまりしないツケが回ってきたようで、3Gデータ通信に関する有益な情報は皆無。

昼休みに最寄駅のマックに駆け込み、Wi-Fi経由で情報収集。さまざまな障害パターンの議論がなされているが、3Gデータ通信が不可能なのは俺だけのようだ。

たしか3GSiOS4JBで電波掴まなくなった時はUltraSn0wインストールすりゃOKって読んだ記憶あったな、とりあえずやってみっか。
あ゛ーっ!Cydia繋がらんー!

昼休み終了。帰宅まで我慢しよう。

帰宅後、2chにてMMSの問題はiPhoneDeliveryなるアプリの導入で復旧するという情報を得る。成功報告もいくつかあった。
3Gデータ通信不可能という問題は直接関係ないものの、藁をも掴む思いでCydia起動。
ん、なんかアップデート来てる。
Base Structure?なにそれ。俺が今欲しいのは君じゃないのよ。でもなんかライブラリっぽいし、取り敢えずアップデートする。
・・・え、直った。3GでIPアドレス取れとる。MMSの送受信出来とる。いやっほう!

この際なので、MIMとか必要性の低いJBアプリはもうインストールやめとこう。
もやしさんのリポジトリも追加してっと。
個々のアプリ設定も3GSiOS4JBと同じにしてっと。ふむふむ、スタートダッシュで大転倒したが、無事にiPhone4JB完了!!
深夜遅くまでかかってしまった。早く寝なきゃ明日遅刻してしまう。

<8月3日>

遅刻した。


posted by Huwy at 04:42 | Comment(0) | TrackBack(0) | iPhone/iPad JailBreak | このブログの読者になる | 更新情報をチェックする