NSXPCListener
NSXPCListener класс и его делегат ответственны за ожидание новых входящих соединений, конфигурирование их, и принятие или отклонение их.
Каждая служба XPC, launchd агент или launchd демон обычно имеет по крайней мере один NSXPCListener объект, прислушивающийся к соединениям с указанным именем службы. У каждого слушателя должен быть делегат, соответствующий NSXPCListenerDelegate протокол. Когда слушатель получает новый запрос на установление соединения, он создает новое NSXPCConnection объект, затем просит, чтобы делегат проверил, сконфигурировал, и возобновил объект соединения путем вызова делегата listener:shouldAcceptNewConnection: метод.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает объект конечной точки, который может быть отправлен по существующему соединению.
Объявление
Swift
var endpoint: NSXPCListenerEndpoint { get }Objective C
@property(readonly, retain) NSXPCListenerEndpoint *endpointОбсуждение
Получатель конечной точки может использовать этот объект создать новое соединение с этим
NSXPCListenerобъект. ПолучающеесяNSXPCListenerEndpointвозразите уникально называет этот объект прослушивателя через соединения.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
init (machServiceName:) - initWithMachServiceName:Определяемый инициализаторИнициализирует слушателя в LaunchAgent или LaunchDaemon, которому распространили имя в a
launchd.plistфайл.Объявление
Swift
init(machServiceNamename: String)Objective C
- (instancetype)initWithMachServiceName:(NSString *)nameОбсуждение
Например, Вы могли бы использовать это в агенте, запущенном launchd с a
launchd.plistсодержавшийся в~/Library/LaunchAgents, или демон, запущенный launchd с alaunchd.plistсодержавшийся в/Library/LaunchDaemons.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Лишает законной силы слушателя.
Объявление
Swift
func invalidate()Objective C
- (void)invalidateОбсуждение
После вызова этого метода не создается больше соединений. Как только слушатель лишен законной силы, это не может быть возобновлено или приостановлено.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Начинает обрабатывать входящих запросов.
Объявление
Swift
func resume()Objective C
- (void)resumeОбсуждение
Все слушатели запускают приостановленный и должны быть возобновлены, прежде чем они начнут обрабатывать входящие запросы.
Если обращено
serviceListenerобъект, этот метод никогда не возвращается. Поэтому необходимо вызвать его как последний шаг в службе XPCmainфункция после установки любого желаемого начального состояния и конфигурирования слушателя самого.Если обращено любой другой
NSXPCListener, соединение возобновляется, и метод сразу возвращается.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Временно отстраняет слушателя.
Объявление
Swift
func suspend()Objective C
- (void)suspendОбсуждение
Приостанавливает и резюме должны быть сбалансированы, прежде чем слушатель может быть лишен законной силы.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Возвращает новое анонимное соединение слушателя.
Объявление
Swift
class func anonymousListener() -> NSXPCListenerObjective C
+ (NSXPCListener *)anonymousListenerОбсуждение
Другие процессы могут соединиться с этим слушателем путем передачи этого объекта прослушивателя
NSXPCListenerEndpointкinitWithListenerEndpoint:методNSXPCConnectionобъект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Возвращается одноэлементный слушатель раньше прислушивался к входящим соединениям в службе XPC.
Объявление
Swift
class func serviceListener() -> NSXPCListenerObjective C
+ (NSXPCListener *)serviceListenerОбсуждение
Вызов
resumeметод на возвращенном объекте запускает слушателя и никогда не возвращается. Этот метод обычно вызывают в конце Вашегоmainфункция.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Делегат к слушателю.
Объявление
Swift
unowned(unsafe) var delegate: NSXPCListenerDelegate?Objective C
@property(assign) id< NSXPCListenerDelegate > delegateОбсуждение
Если никакой делегат не установлен, все новые соединения отклоняются. См. документацию для
NSXPCListenerDelegateдля подробных данных реализации.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
