2016-11-17 4 views
1

나는 VoIP 응용 프로그램을 가지고 있으며 CallKit과 PushKit을 사용합니다. 앱이 종료되고 iOS가 푸시 알림을 받으면 앱이 백그라운드 모드에서 깨어나고 CallKit을 통해 전화를 받으면 모든 것이 정상적으로 작동하며 약 50 초 동안 작동합니다. 그 후 iOS가 신호 9로 앱을 종료합니다. 오디오voip을 선택했지만 무한한 백그라운드 작업을 계속하기를 원합니다.iOS가 CallKit VoIP 응용 프로그램을 백그라운드에서 일분 만료합니다.

시스템에서 내 앱을 삭제하지 않도록 깜빡 했나요?

P. 내가 포 그라운드에있을 때 내 앱을 호출하면 몇 시간 동안 통화가 잘 지속됩니다. 그런 다음 앱을 죽이는 이유는 메모리 부족이 아닙니다. 깨어날 때

답변

0

, 당신은 내 응용 프로그램은 백그라운드에서 호출에 90 % 이상의 CPU 응답을 사용하는 것이 디버그 콘솔을 읽고, 발견 한

+0

감사를 가능하게하지만, 내가 어떤 유한 한 길이의 태스크를 실행할 필요가 없습니다, 나는 내 문제의 원인을 발견했습니다. – adnako

+0

그 이유를 나와 함께 설명해 주시겠습니까? – Neelesh

0

[UIApplication beginBackgroundTaskWithExpirationHandler]를 호출해야합니다. 이것이 iOS가 내 앱을 죽이는 이유입니다.

+0

그럼 솔루션은 무엇입니까? –

1

아래 화면과 같이 허락 해 주시면 감사하겠습니다.

enter image description here

enter image description here

아이폰 OS 신호 9 응용 프로그램을 죽이고

, 메모리 누수 또는 낮은 메모리 사용으로 인해 발생.

계측을 통해 확인할 수 있습니다.

0

사전 빌드를 사용하고 있습니까? 이 빌드에는 나중에 수정 된 WebRTC 버그가 있습니다. 음성 전용 호출에서 CPU 사용량이 너무 높습니다 (issue5506). 이 문제를 해결하려면 WebRTC 창으로 전환하십시오 (https://cocoapods.org/pods/WebRTC).

API가 조금 변경되면서 종속성을 변경하는 것보다 WebRTC 창으로 이동하는 데 약간의 시간이 걸립니다. 그것은 많이 변하지 않았기 때문에 하루나 이틀 만에 할 수 있습니다. 공식적인 포드로 바꾸는 것은 어쨌든 원시 시대의 건축물이 더 이상 유지되지 않기 때문에가는 길입니다.

1

개발자 계정에의 VoIP 인증서를 생성 한 후, 백그라운드 모드에서 필드 아래

1] Audio and Airplay 
2] Voice over IP 
3] Background fetch 
4] Remote notifications 
관련 문제