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(machServiceName
name
: 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() -> NSXPCListener
Objective C
+ (NSXPCListener *)anonymousListener
Обсуждение
Другие процессы могут соединиться с этим слушателем путем передачи этого объекта прослушивателя
NSXPCListenerEndpoint
кinitWithListenerEndpoint:
методNSXPCConnection
объект.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращается одноэлементный слушатель раньше прислушивался к входящим соединениям в службе XPC.
Объявление
Swift
class func serviceListener() -> NSXPCListener
Objective 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 и позже.