NSXPCConnection
NSXPCConnection
класс обеспечивает реверсивный канал передачи между двумя процессами.
Этот класс является основными средними значениями создания и конфигурирования механизма связи между двумя процессами. Каждый процесс имеет один экземпляр этого класса для представления конечной точки в канале передачи.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSObjectProtocol
-
NSXPCProxyCreating
-
Печатаемый
-
NSObject
-
NSXPCProxyCreating
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.8 и позже.
-
Инициализирует
NSXPCConnection
возразите для соединения сNSXPCListener
объект в другом процессе, идентифицированномNSXPCListenerEndpoint
объект.Объявление
Swift
init(listenerEndpoint
endpoint
: NSXPCListenerEndpoint)Objective C
- (instancetype)initWithListenerEndpoint:(NSXPCListenerEndpoint *)
endpoint
Параметры
endpoint
Желаемая конечная точка слушателя для службы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Инициализирует
NSXPCConnection
возразите для соединения с LaunchAgent или LaunchDaemon с именем, распространенным в alaunchd.plist
.Объявление
Swift
init(machServiceName
name
: String, optionsoptions
: NSXPCConnectionOptions)Objective C
- (instancetype)initWithMachServiceName:(NSString *)
name
options:(NSXPCConnectionOptions)options
Обсуждение
Например, если с агентом управляют
launchd
и имеет alaunchd.plist
в~/Library/LaunchAgents
, этот метод создал бы соединение с тем агентом. Агент должен использоватьNSXPCListener
ожидать новых соединений.Если соединение делается к процессу, работающему в привилегированном контексте начальной загрузки Маха (например, демон, запущенный a
launchd
список свойств в/Library/LaunchDaemons
), затем передайтеNSXPCConnectionPrivileged
опция.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Инициализирует
NSXPCConnection
возразите для соединения сNSXPCListener
объект в службе XPC, идентифицированной именем службы.Объявление
Swift
init(serviceName
serviceName
: String)Objective C
- (instancetype)initWithServiceName:(NSString *)
serviceName
Обсуждение
Службы XPC являются процессами помощника, которые обычно являются частью Вашего комплекта приложений. Служба должна использовать
NSXPCListener
ожидать новых соединений.Оператор импорта
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 и позже.
-
Возвращает прокси для удаленного объекта (т.е.
exportedObject
с другой стороны этого соединения).Объявление
Swift
var remoteObjectProxy: AnyObject { get }
Objective C
@property(readonly, retain) id remoteObjectProxy
Обсуждение
См. описания в
NSXPCProxyCreating
для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает прокси для удаленного объекта (т.е. объект, экспортируемый с другой стороны этого соединения) с указанным обработчиком ошибок.
Объявление
Swift
func remoteObjectProxyWithErrorHandler(_
handler
: (NSError!) -> Void) -> AnyObjectObjective C
- (id)remoteObjectProxyWithErrorHandler:(void (^)(NSError *error))
handler
Обсуждение
См. описания в
NSXPCProxyCreating
для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Запускает или продолжает обрабатывать сообщений на соединении.
Объявление
Swift
func resume()
Objective C
- (void)resume
Обсуждение
Все соединения запускаются приостановленный. Необходимо возобновить их, прежде чем они начнут обрабатывать полученные сообщения или отправлять сообщения через
remoteObjectProxy
объект.Оператор импорта
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 и позже.
-
serviceName serviceName
СвойствоИмя службы XPC, с которой это соединение было сконфигурировано для соединения. (только для чтения)
Объявление
Swift
var serviceName: String? { get }
Objective C
@property(readonly, copy) NSString *serviceName
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Определяет
NSXPCInterface
объект, описывающий протокол для объекта, представленногоremoteObjectProxy
.Объявление
Swift
var remoteObjectInterface: NSXPCInterface?
Objective C
@property(retain) NSXPCInterface *remoteObjectInterface
Обсуждение
Прокси представляет
exportedObject
наNSXPCConnection
в другом процессе.Если сообщения отправляются по этому соединению, это значение требуется.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
processIdentifier processIdentifier
СвойствоПроцесс ID (PID) соединительного процесса. (только для чтения)
Объявление
Swift
var processIdentifier: pid_t { get }
Objective C
@property(readonly) pid_t processIdentifier
Обсуждение
Этот атрибут может использоваться делегатом слушателя, чтобы принять или отклонить соединения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
invalidationHandler invalidationHandler
СвойствоОбработчик аннулирования, который вызывают, если соединение не может быть сформировано или соединение, завершился и не может быть восстановлен.
Объявление
Swift
var invalidationHandler: (() -> Void)?
Objective C
@property(copy) void (^invalidationHandler)(void)
Обсуждение
Этот обработчик вызывается на ту же очередь как ответные сообщения и другие обработчики, и всегда выполняется в последний раз (после обработчика прерывания, при необходимости). Вы не можете отправить сообщения по соединению из блока обработчика аннулирования.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
interruptionHandler interruptionHandler
СвойствоОбработчик прерывания, который вызывают если удаленные выходы процесса или катастрофические отказы.
Объявление
Swift
var interruptionHandler: (() -> Void)?
Objective C
@property(copy) void (^interruptionHandler)(void)
Обсуждение
Может быть возможно восстановить соединение путем простой отправки другого сообщения. Обработчик вызывается на ту же очередь как ответные сообщения и другие обработчики, и это всегда выполняется после любых других сообщений или блочных обработчиков ответа (за исключением обработчика аннулирования).
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
exportedObject exportedObject
СвойствоЭкспортируемый объект для соединения.
Объявление
Swift
var exportedObject: AnyObject?
Objective C
@property(retain) id exportedObject
Обсуждение
Сообщения отправили к
remoteObjectProxy
объект с другой стороны соединения диспетчеризируется этому объекту. Сообщения, переданные к экспортируемым объектам, сериализируются и отправляются на неосновной очереди. Получатель ответственен за обработку сообщений на различной очереди или потоке, если это требуется.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
exportedInterface exportedInterface
СвойствоNSXPCInterface
объект, описывающий протокол для экспортируемого объекта на этом соединении.Объявление
Swift
var exportedInterface: NSXPCInterface?
Objective C
@property(retain) NSXPCInterface *exportedInterface
Обсуждение
Если экспортируемый объект установлен, это значение требуется.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
конечная точка конечная точка
СвойствоЕсли соединение создавалось с
NSXPCListenerEndpoint
объект, возвращает используемый объект конечной точки. (только для чтения)Объявление
Swift
var endpoint: NSXPCListenerEndpoint { get }
Objective C
@property(readonly, retain) NSXPCListenerEndpoint *endpoint
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Эффективный идентификатор пользователя (EUID) соединительного процесса. (только для чтения)
Объявление
Swift
var effectiveUserIdentifier: uid_t { get }
Objective C
@property(readonly) uid_t effectiveUserIdentifier
Обсуждение
Этот атрибут может использоваться делегатом слушателя, чтобы принять или отклонить соединения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Эффективная группа ID (EGID) соединительного процесса. (только для чтения)
Объявление
Swift
var effectiveGroupIdentifier: gid_t { get }
Objective C
@property(readonly) gid_t effectiveGroupIdentifier
Обсуждение
Этот атрибут может использоваться делегатом слушателя, чтобы принять или отклонить соединения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
BSM контролируют идентификатор сеанса для соединительного процесса. (только для чтения)
Объявление
Swift
var auditSessionIdentifier: au_asid_t { get }
Objective C
@property(readonly) au_asid_t auditSessionIdentifier
Обсуждение
Этот атрибут может использоваться делегатом слушателя, чтобы принять или отклонить соединения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Опции, которые можно передать соединению.
Объявление
Swift
struct NSXPCConnectionOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var Privileged: NSXPCConnectionOptions { get } }Objective C
enum { NSXPCConnectionPrivileged = (1 << 12UL ) }; typedef NSUInteger NSXPCConnectionOptions;
Константы
-
Privileged
NSXPCConnectionPrivileged
Используйте эту опцию при соединении со службой в привилегированной начальной загрузке Маха (например, демон с a
launchd.plist
в/Library/LaunchDaemons)
.Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-