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 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
これは非常に助かります
ありがとうございます

お言葉に甘えて質問させていただきたいのですが
サポートしてる・してないに関わらず、自分が設定したボタン以外では一切常駐させないようにするには、どうすればよいでしょうか?

例えばiPodなどの勝手な常駐を許したくないのです。かつ、設定したボタンのみ常駐させたいのです。個別設定を使わずにこれができると非常に便利なのですが……。
Posted by みれにあ at 2011年03月02日 14:59
みれにあさん、こんにちは。
返事が遅くなりました。

ボタンとはアプリ自体のことでしょうか?
個別設定を使いたくない理由はなんでしょう?

例えば全100アプリのうち、50アプリだけは常駐させたいけど、50個も1つ1つ個別設定するのは大変だということでしょうか?
残念ながら1つ1つ設定するしかないと思います。
Posted by ひゅうい at 2011年03月10日 17:02
あ、違うか。
基本的には全アプリ非常駐で、ボタン(Activatorアクション)で任意に常駐/非常駐をコントロールしたいと、そういうことですかね?

だとしたら、Overrideなし、GlobalでMethod="None以外"を選んで、Enanle at Launch="OFF"にすればOKかと。
他の項目はお好みで良いと思います。
Posted by ひゅうい at 2011年03月10日 19:38
その設定で運用してみます
アドバイスありがとうございます!
Posted by みれにあ at 2011年03月11日 12:56
私もお言葉に甘えて質問させていただきたます
端的に書きますと、ニコニコ生放送アプリの音声を聞きながら、他のアプリ(ブラウザ)などを操作したいです。
良い方法はありますか?
Posted by けん at 2012年02月19日 10:54
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]
2013/11/12現在、スパムコメント対策のため「コピー」という単語をブロックしています。

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック