Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.




xpcservice.plist(5)         BSD File Formats Manual        xpcservice.plist(5)

NAME
     xpcservice.plist -- XPC Service configuration keys and values

DESCRIPTION
     This document describes the keys-value pairs which configure an XPC Service.  An XPC Service is a
     process which implements the server-side of an XPC connection.  The service program is contained inside
     a Mac OS X bundle.  The bundle contains an Info.plist.  The XPC Service configuration settings are
     specified by keys and values defined in a dictionary included within the Info.plist.

OVERVIEW
     An application has a namespace which maps a service name to a running instance of the service program.
     The namespace is created dynamically and is unique to each application.  The namespace is populated
     with the set of services embedded in the application bundle and embedded in the frameworks used by the
     application.

     System frameworks may have embedded XPC Services.  Typically, a developer would not connect to this
     service directly.  Instead, the developer would call an API function in the framework and that would
     contact the service.  However, the name of XPC Service must be in the application's namespace so that
     the framework code can "see" and connect to the service.

     XPC Services are "launched-on-demand". They are only started when an application creates a connection
     to the service and sends a message to it. The service process can be terminated when it is inactive and
     has been idle for a a period of time.  The service process can be started again upon receipt of a new
     message or connection request.  XPC Services should be state-less so that they can come and go as
     needed.

     The results of a connection request to an XPC Service from two different applications depends upon the
     type of the service.  The service type controls the policy used to create a new instance of the ser-vice. service.
     vice.  For example, a new connection request from two different applications to an Application-type
     service in a framework will result in a new instance of the service being created for each application.
     However, if two applications request the same User-type service, then only one instance of the service
     will be created for each user.

     Services embedded in an application bundle will only be visible to the containing application and will
     be, by definition, Applicaton-type services. A subsequent connection request from an application to a
     service will result in a new connection to an existing service.

CF Bundle Keys
     These top-level Info.plist keys are required to be defined in the Info.plist file:

     CFBundleIdentifier <string>
     This key defines the name of the service; clients use this name to connect to the service.

     CFBundlePackageType "XPC!"
     This key identifies the bundle as being an XPC Service.

     XPCService <dictionary>
     This key defines a dictionary which contains the settings to configure the XPC Service.

XPCService Dictionary Keys
     The XPC Service may be configured by setting these keys in the XPCService dictionary:

     ServiceType <string> (default: Application)
     The type of the XPC Service specifies how the service is instantiated. The values are:

     •   Application
         Each application will have a unique instance of this service.

     •   User
         There is one instance of the service process created for each user.

     •   System
         There is one instance of the service process for the whole system.  System XPC Services are
         restricted to reside in system frameworks and must be owned by root.

     RunLoopType <string> (default: dispatch_main)
     The RunLoop type specifies which style of runloop will be started once xpc_main has finished initializ-ing. initializing.
     ing. The values are:

     •   dispatch_main
         xpc_main will call dispatch_main().

     •   NSRunLoop
         xpc_main will call [[NSRunLoop currentRunLoop] run].

     JoinExistingSession <bool> (default: False)
     By default XPC Services are placed into their own unique audit session.  If this key is true, then the
     service is placed into the session of the application requesting a connection to the service.

     EnvironmentVariables <dictionary> (default: none)
     A dictionary containing environment variables (represented as key-value pairs) which are set in the
     environment of the service process.

SEE ALSO
     plist(5)

Darwin                         February 8, 2011                         Darwin

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

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