Как перехватить мой номер телефона через Callkit - PullRequest
0 голосов
/ 04 октября 2018

Я хочу построить базу приложений IOS на swift3 или выше.Это приложение может перехватить мой номер мобильного телефона или сообщение через CallKit и запустить приложение на телефоне.

скажем, я звоню на другой телефон с сообщением (Launch Appname: MySillyApp).когда мой другой iphone получит его, он запустит приложение.

Возможно ли это для CallKit?какие другие API доступны?

- Обновление

Я видел этот код, но я не знаю, как он работает:

import CallKit

final class ProviderDelegate: NSObject, CXCallObserverDelegate { 
var callObserver: CXCallObserver!

func setupCallObserver(){
callObserver = CXCallObserver()
callObserver.setDelegate(self, queue: nil)
}

func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) {
        if call.hasEnded == true {
            print("CXCallState :Disconnected")
        }
        if call.isOutgoing == true && call.hasConnected == false {
            print("CXCallState :Dialing")
        }
        if call.isOutgoing == false && call.hasConnected == false && call.hasEnded == false {
            print("CXCallState :Incoming")
        }

        if call.hasConnected == true && call.hasEnded == false {

            print("CXCallState : Connected")
        }
    }
}

Спасибо

1 Ответ

0 голосов
/ 17 октября 2018

Если ваш вопрос касается извлечения телефонного номера из обычного сотового звонка, то это невозможно.Вы можете получить состояние вызова и UUID из объекта CXCall, но вы не можете получить номер телефона с помощью каких-либо средств в iOS.(конечно, это для обычных звонков на сотовые телефоны.)

См. документацию Apple по CXCall ЗДЕСЬ

Код, который вы 'Показанный выше ответ реагирует на любые изменения вызова, например, когда начался вызов, когда получен входящий вызов, когда вызов подключен и когда вызов завершен.

Основная цель CXCallObserverDelegate - позволить приложению реагировать навнешние события, например, для отмены того, что приложение делает во время входящего вызова, или чего-то еще ... Оно не предназначено для извлечения личной информации, такой как идентификация вызывающей линии.

...