22

저는 ios를 처음 사용합니다. 내 앱이 포 그라운드에 있지 않아도 수신 통화, 발신 통화와 같은 통화 이벤트를 감지 할 수있는 방법이 있는지 궁금합니다. 그리고 가능하다면 그 기간이 누락되었거나, 전화를 걸 었는지 또는 수신되었는지 여부와 같은 통화에 대한 세부 정보를 읽을 수 있습니다. 미리 감사드립니다.ios에서 통화 이벤트 감지

+0

다음 링크를 확인하십시오. http://stackoverflow.com/questions/10054706/how-to-identifying-iphone-incoming-call-and-display-notification http://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference /CoreTelephonyFrameworkReference/_index.html –

+0

이 답변은 '아니오'입니다. 다음을 참조하십시오 : http://stackoverflow.com/a/5395355/907513 – vagase

+0

iOS 8이없는 이유는 내 앱이 포 그라운드에 있지 않아도 수신 통화, 발신 통화와 같은 통화 이벤트를 감지 할 수있는 방법이 없기 때문입니다. 또는 다른 새로운 대안? – nanospeck

답변

30

예, 통화를 감지 할 수 있습니다. 앱이 포 그라운드에서 실행되고있는 경우에만 가능합니다. 이 경우 Core Telephony Framework을 사용할 수 있습니다.

앱이 백그라운드 실행 카테고리 (VOIP, AUDIO, 위치 추적 또는 액세서리)에 속하는 경우 백그라운드에서 CTCallCenter을 사용할 수 있습니다. 그러나 애플이 의도하지 않은 무언가를 위해 백그라운드 실행 모드를 사용하지 않으면 애플이 당신을 거부 할 것이라는 점에 유의하십시오.

CTCallCenter은 시작되었거나 진행중인 모든 통화를 감지 할 수있게합니다.

그러나 통화에 대한 세부 정보는 감지 할 수 없으므로 전화를 식별하는 CTCall은이 상태 만 알려줍니다. callIDCTCall이면 호출에 대한 고유 식별자는 있지만 호출되는 번호는 제공하지 않습니다.

+1

고마워. 근데 전화 걸기 전화 번호 나 이름을 백그라운드로받을 방법이있어 ....? –

+0

@Mohittomar 불가능하지 않으며 개인 정보 침해가됩니다. – rckoenes

+2

그럼이 앱에서 어떻게 작동합니까? https://itunes.apple.com/in/app/caller-id-ringtones-hear-who/id317855277?mt=8 –