これは難しい問題です。私は機内モードを 1 日に何十回も切り替えますが、それをすばやく行う方法が必要です。私は、機内モード専用の物理ボタンのために殺すようなまれなユーザーです. 音量を下げるボタンで試してみたいと思います。これはアプリ ストアにはありませんが、いくつかのプライベート ライブラリを使用できることを嬉しく思います (実際、必要になると思います)。実際、電話をジェイルブレイクする必要があることが判明するかもしれません。この段階では、特定のコードではなく、一般的なアーキテクチャのアドバイスを探しています (ただし、決して害はありません)。
問題は、この問題に取り組むのに最適なアーキテクチャは何かということです。私はこのように問題を分解します:
1) アプリをバックグラウンドで実行し続けて、音量ボタンの押下 (およびおそらくリモコン デバイスからの音量ダウン イベント) をリッスンして応答できるようにする方法。ここでは 3 つの選択肢があります。 --VOIP アプリを作成する --ナビゲーション アプリを作成する --音声アプリを作成する 音声アプリが最も合理的な方法のようです。アプリをバックグラウンドで動作させ続けるために、サイレント トラックを繰り返し再生し続ける必要がありますか? 別のアプリからオーディオ トラックを再生すると、アプリが停止するという問題が発生するようです。
2) 音量ダウン イベントを傍受する方法。この問題に対する 1 つの答え: iPhone の音量ボタンへのプログラム アクセス
3) 飛行機のステータスを確認し、変更する方法。私が理解していないいくつかのMachコードと動的リンクに関するこの問題に対する古い回答: http://blogs.oreilly.com/iphone/2009/01/bring-airplane-mode-control-ba.html
プライベート ライブラリを理解するための最良のリソースは、http: //theiphonewiki.com/wiki/index.php?title= /System/Library/Frameworks にあります。
より良いプライベート ライブラリ「ドキュメント」の提案や、Zdziarski による「iPhone Open Application Development」ブックの更新を歓迎します。
一緒に考えてくれてありがとう!