2012-02-14 12 views
2

私はこの質問が既にかなり尋ねられていることを知っています。そして私はstackoverflowですべてのトピックを読んでいます。 しかし、私の問題には満足のいく答えはありません。iOS 5を実行しているiPhoneをミュートする方法

iOS 5を実行しているiPhoneをプログラムでミュートしたい場合は、多くの人が、公的な枠組みでは不可能だと言っています。私はそれを認識しています。私がコードを作成しようとしているAppは、個人的な使用のためだけです。私はAppStore上でそれを販売するつもりはない(まだ?)。

私の研究によって、私はプログラムでiPhoneをミュートする方法をいくつか考えています。

  • は、デフォルトのサウンドを交換した音を再生している

    1. 使用プライベートフレームワーク
    2. フック関数やメソッド(着信音のように、MailSent、IMessageが、USW ...)上記の

    いくつかの考え

    1. 私のプライベートフレームワーク(私のXcodeインストール内)のすべてのヘッダをクラスダンプし、funcが見つかりませんでした目的の振る舞いに(機能名で)示すもの
    2. 私はそれは可能だと思いますが、私はフックする機能を知らない。したがって、これを行うにはかなりの努力が必要です(私はこれをしたくないと思います)。
    3. これを考えると、これは良い解決策ではないかもしれません。多分あなたは音を変えることができます。しかし、その後、電話はミュート全く私はAVSystemControllerに方法changeActiveCategoryVolumeBysetVolumeToを使用してチャンスを与えていたが、それらは私の電話をミュートしませんが、最低限の音量を設定

    (ゲーム、YouTubeの、...)ではありません0.06(または何か)にリンガーの。

    iPhoneを完全にミュートする方法がなければならないが、RingToggle(jailbroken app)はそれをとてもうまくやっている。

    どのようにすればいいですか?

  • 答えて

    2

    プライベートフレームワークを使用していても、サンドボックスアプリから電話をミュートすることはできません。

    RingToggleは、バネボードに接続して電話をミュートする方法を使用します。彼らはおそらくMobileSubstrate拡張を使用しています。

    +0

    私はあなたが正しいかもしれないと恐れています。しかし、私は、MobileSubstrateの拡張機能を使用するには、適切なことが分かっていなければなりません... – TanteFinn

    関連する問題