2016-08-01 11 views
3

私のアプリケーションの1つでは、成功したサウンドを再生する機能があります。アプリが実行中(フォアグラウンド状態)で着信を受信して​​も、アプリの音楽は停止し、コールが切断されると再び再開します。バックグラウンド状態で着信/発信イベントを取得する方法

ここで本当の問題があります。アプリがバックグラウンド状態になると、着信/発信のイベントは受信されません。バックグラウンドモードで音楽がアプリ内で再生されているときに着信があった場合、iPhone Musicアプリとは異なり、アプリの音楽は自動的に停止しますが、電話が切断されたときには再開しません。

これはiOSの制限ですか、それとも実現できますか?

注:私は脱獄デバイスまたはエンタープライズアプリケーションのための任意の解決策を探していないよ

+0

あなたが見つけた解決策はありますか?もしそうなら、あなたに投稿を依頼することができますか? –

+0

いいえ解決策が見つかりませんでした。 – milanpanchal

+0

あなたはどうやって進めましたか? –

答えて

1

あなたはコールセンターを作成し、AppDelegateクラスのハンドラブロックを割り当てることを試みたことがありますか?次は働かなければならない。

import UIKit 
import CoreLocation 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 
    let callCenter: CTCallCenter = CTCallCenter() 

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     window = UIWindow(frame: UIScreen.mainScreen().bounds) 
     window?.rootViewController = ViewController() 
     window?.makeKeyAndVisible() 

     callCenter.callEventHandler = { 

      (call: CTCall!) in 

       switch call.callState { 

        case CTCallStateConnected: 

         print("CTCallStateConnected") 

        case CTCallStateDisconnected: 

         print("CTCallStateDisconnected") 

        case CTCallStateIncoming: 

         print("CTCallStateIncoming") 

        default: 

         print("default") 

       } 

     } 

     return true 

    } 

} 

背景モードこのためをオンにすることを忘れないでください。また、バックグラウンドで何かを実行し、受信場所のようなものです。

関連する問題