CTCallCenter
Оператор импорта
Swift
import CoreTelephony
Objective C
@import CoreTelephony;
Доступность
Доступный в iOS 4.0 и позже.
Используйте CTCallCenter
класс, чтобы получить список текущих сотовых вызовов и реагировать на изменения состояния для вызовов такой как от набора номера утверждает к связанному состоянию. Такие изменения состояния известны как события сотового вызова.
-
callEventHandler
СвойствоДиспетчеризированный, когда вызов изменяет состояние.
Объявление
Swift
var callEventHandler: ((CTCall!) -> Void)!
Objective C
@property(nonatomic, copy) void (^callEventHandler)( CTCall *)
Обсуждение
Когда вызов изменяет состояние, блочный объект этого свойства диспетчеризируется на приоритетной глобальной очереди отгрузки по умолчанию. Для обработки таких событий вызова определите блок обработчика в приложении и присвойте его этому свойству. Необходимо реализовать блок обработчика для поддержки быть вызванным от любого контекста.
Если Ваше приложение активно, когда событие вызова имеет место, система диспетчеризирует событие Вашему обработчику сразу. В то время как Ваше приложение приостановлено, Однако события вызова могут также иметь место. В то время как это приостановлено, Ваше приложение не получает события вызова. Когда Ваше приложение возобновляет активное состояние, оно получает единственное событие вызова для каждого вызова, изменившего состояние — независимо от того, сколько изменений состояния вызов испытал, в то время как было приостановлено Ваше приложение. В то время единственное событие вызова, отправленное в Ваш обработчик, согласно Вашему приложению, возвращающемуся к активному состоянию, описывает состояние вызова.
Например, предположите свои изменения приложений от активного до состояния ожидания, в то время как вызов находится в связанном состоянии. Предположим также это, в то время как Ваше приложение приостановлено, разъединения вызова. Когда Ваше приложение возвращается к активному состоянию, Вы получаете событие сотового вызова, указывающее, что разъединяется вызов.
Вот более сложный пример. Предположим свои изменения приложений от активного до состояния ожидания после того, как пользователь инициировал вызов, но прежде чем оно соединится (т.е. Ваше приложение приостанавливает, в то время как вызов находится в состоянии набора номера). Предположим далее, что, в то время как Ваше приложение приостановлено, вызов изменяется сначала на связанное состояние и затем на разъединенное состояние. Когда Ваше приложение возвращается к активному состоянию, Вы получаете единственное событие сотового вызова, указывающее, что разъединяется вызов.
Посмотрите
Cellular_Call_States
для различных состояний вызова. Для объяснения состояний приложения посмотрите Понимание состояний и Переходов Приложения.Оператор импорта
Objective C
@import CoreTelephony;
Swift
import CoreTelephony
Доступность
Доступный в iOS 4.0 и позже.
-
currentCalls
СвойствоМассив, представляющий происходящие сотовые вызовы. (только для чтения)
Объявление
Swift
var currentCalls: Set<NSObject>! { get }
Objective C
@property(readonly, retain) NSSet *currentCalls
Обсуждение
Массив, содержащий a
CTCall
объект для каждого происходящего сотового вызова. Если никакие вызовы не происходят, значение этого свойстваnil
.Оператор импорта
Objective C
@import CoreTelephony;
Swift
import CoreTelephony
Доступность
Доступный в iOS 4.0 и позже.