Первым решением, которое я могу придумать для уведомления о входящем вызове, является служба Apple Push Notification. Однако это не гарантируется.. существует относительно высокая вероятность того, что он может потеряться.. и в приложении VoIP уведомление о входящем звонке настолько важно, что я не могу позволить себе пропустить его слишком часто...
Таким образом, я последовал советам и включил фоновый режим, чтобы сохранить приложение в ожидании и прослушивать приглашение на входящий вызов. По правде, я должен просто показать локальное уведомление, когда приложение получит приглашение на входящий вызов. Это работает очень хорошо, когда приложение находится в фоновом режиме/неактивно. ОДНАКО, когда пользователь убивает приложение вручную, никакой код не будет выполнен, поэтому приложение не получит приглашение на входящий вызов в таком состоянии... И из-за этого конкретного сценария мне все равно придется полагаться на удаленное push-уведомление.
То, что я пытаюсь достичь, - это... преждевременное получение удаленного уведомления, если оно поступит, а затем больше не показывать локальное уведомление. Если он потерян, тогда вы увидите локальное уведомление, чтобы пользователь всегда получал уведомление.
Проблема в том, что... У меня нет способа узнать, прибыло ли удаленное уведомление.
Я хочу знать, что лучше всего обрабатывать уведомления о входящих звонках для VoIP-приложения?