2016-08-01 4 views
3

내 앱 중 하나에서 성공적으로 재생 한 사운드를 재생하는 기능이 있습니다. 앱이 실행 중일 때 (포 그라운드 상태) 수신 통화가 수신 되더라도 앱 음악이 중단되고 통화 연결이 끊어지면 다시 시작됩니다.백그라운드 상태에서 수신/발신 통화 이벤트를받는 방법

이제 실제 문제가 있습니다. 앱이 백그라운드 상태로 전환되면 수신/발신 통화에 대한 이벤트가 수신되지 않습니다. 배경 모드에서 내 앱에서 음악이 재생되고 수신 전화가 오면 iPhone 음악 앱과 달리 통화가 끊어지면 앱 음악이 자동으로 중지되지만 다시 재생되지 않습니다.

iOS의 한계입니까, 아니면이를 달성 할 수 있습니까?

: 내가 본때를 장치에 대한 해결책을 찾는 게 아니에요 또는 Enterprise는

+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 

    } 

} 

배경 모드 이에 대한에 전환하는 것을 잊지 마십시오. 그리고 백그라운드에서 무언가를 수행하십시오. 위치를받는 것과 같습니다.