2014-04-29 3 views
0

앱이 종료 되어도 로컬 알림을 보내도 백그라운드에서 전화를 모니터링해야합니다. 그런 식으로 계속 할 수있는 방법이 있습니까? 나는 10 분을 넘어서도 의미한다. 지금까지는 앱을 종료하지 않고도 통화를 모니터링하고 알림을 보낼 수 있습니다. 고맙습니다. 여기앱이 죽어도 전화 모니터링

는 내가 뭘 방법은 다음과 같습니다

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 

    UIBackgroundTaskIdentifier bgTask = 0; 

    UIApplication *app = [UIApplication sharedApplication]; 

    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:bgTask]; 
    }]; 

    [self startMonitoringCalls]; 
} 

-(void)startMonitoringCalls 
{ 

    callCenter = [[CTCallCenter alloc] init]; 

    [callCenter setCallEventHandler:^(CTCall *call) { 
     if ([[call callState] isEqual:CTCallStateConnected]) { 
      NSLog(@"Get called"); 
     } else if ([[call callState] isEqual:CTCallStateDisconnected]) { 

      UILocalNotification *notification = [[UILocalNotification alloc] init]; 
      notification.fireDate = [NSDate date]; 
      notification.alertBody = @"Would you like to..."; 
      [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 

     } 
    }]; 

} 
+0

앱이 실행되지 않을 때 실행되지 않습니다. 앱이 실행되지 않을 때 어떻게 할 수 있습니까? 실제로 사망 한 것이 아니라고 판단되면 용어가 정확하고 의미를 정확히 설명하십시오. 당신이 살해당한 것을 의미하지 않는다면, 배경에있는 동안 일시 중지되었다는 뜻입니까? – Gruntcakes

+0

귀하의 질문에 대한 짧은 대답은 "아니오"라고 생각합니다. iOS에는 백그라운드 실행 모드가 있지만 귀하의 사례가 그 중 하나를 충족시키지 못합니다. – Paulw11

+0

예를 들어 Foursquare는 집을 두 번 탭하여 앱을 죽이는 경우에도 사용자가 어디에 있는지 알 수 있습니다. 그것이 내가 원했던 것이지만 호출의 모니터링으로 바뀌 었습니다. –

답변

0

포 스퀘어가 사망 한 경우 어떤 상황에서 응용 프로그램을 다시 시작합니다 위치 백그라운드 모드를 사용하고 있습니다. 그러나 전화 통화를 모니터링하는 기능은 없습니다. 당신이 희망 할 수있는 최선의 방법은 당신이 콜 모니터링 코드를 실행하고 죽을 때 앱을 다시 시작할 수있게 해주는 백그라운드 모드 중 하나를 사용할 수있는 합법적 인 방법을 사용하는 것입니다. 합법적 인 사용을하지 않으면 앱 스토어에서 앱이 거부됩니다.

+0

댓글에 의해 해결되었습니다. –

관련 문제