SBApplication
SBApplication класс обеспечивает механизм, позволяющий программу Objective C отправить события Apple в scriptable приложение и получить события Apple в ответ. Это, таким образом, позволяет той программе управлять приложением и обмениваться данными с ним. Сценарии Моста работают путем образования моста типов данных между дескрипторами события Apple и объектами Какао.
Несмотря на то, что SBApplication включает методы, вручную отправляющие и обрабатывающие события Apple, Вам никогда не придется вызывать эти методы непосредственно. Вместо этого подклассы SBApplication реализуйте специализированные методы, обрабатывающие отправку событий Apple автоматически.
Например, если Вы хотели получить текущую дорожку iTunes, можно просто использовать currentTrack метод динамично определенного подкласса для приложения iTunes — который обрабатывает подробные данные отправки события Apple для Вас — вместо того, чтобы выяснить более сложную, низкоуровневую альтернативу:
[iTunes propertyWithCode:'pTrk'];
Если действительно необходимо отправить события Apple вручную, рассмотрите использование NSAppleEventDescriptor класс.
Разделение на подклассы примечаний
Вы редко инстанцируете SBApplication объекты непосредственно. Вместо этого Вы получаете совместно используемый экземпляр специализированного подкласса обычно путем вызова одного из applicationWith... методы класса, с помощью идентификатора пакета, идентификатора процесса или URL для идентификации приложения.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSObject
Оператор импорта
Swift
import ScriptingBridge
Objective C
@import ScriptingBridge;
Доступность
Доступный в OS X v10.5 и позже
-
Возвращает совместно используемый экземпляр, представляющий целевое приложение, указанное его идентификатором пакета.
Объявление
Swift
class func applicationWithBundleIdentifier(_ident: String!) -> AnyObject!Objective C
+ (id)applicationWithBundleIdentifier:(NSString *)identПараметры
identИдентификатор пакета, указывающий приложение, которое совместимо OSA.
Возвращаемое значение
Экземпляр a
SBApplicationподкласс, представляющий целевое приложение, идентификатор пакета которогоident. Возвратыnilесли приложение не имеет интерфейса сценариев, если никакое такое приложение не может быть найдено или.Обсуждение
Для приложений, объявляющих, что себя имеют динамический интерфейс сценариев, этот метод запустит приложение, если это не будет уже работать.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает совместно используемый экземпляр, представляющий целевое приложение, указанное его идентификатором процесса.
Объявление
Swift
class func applicationWithProcessIdentifier(_pid: pid_t) -> AnyObject!Objective C
+ (id)applicationWithProcessIdentifier:(pid_t)pidПараметры
pidBSD обрабатывает ID совместимого OSA приложения. Часто можно получить процесс ID процесса с помощью
processIdentifierметодNSTask.Возвращаемое значение
Экземпляр
SBApplicationподкласс, представляющий целевое приложение, идентификатор процесса которогоpid. Возвратыnilесли приложение не имеет интерфейса сценариев, если никакое такое приложение не может быть найдено или.Обсуждение
Необходимо избегать использования этого метода, если Вы ничего не знаете о целевом приложении кроме его процесса ID. В большинстве случаев лучше использовать
classForApplicationWithBundleIdentifier:, который динамично определит местоположение пути приложения во время выполнения, илиclassForApplicationWithURL:, который не зависит от целевого приложения, являющегося открытым в то время, когда вызывают метод.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает совместно используемый экземпляр, представляющий целевое приложение, указанное данным URL.
Объявление
Swift
class func applicationWithURL(_url: NSURL!) -> AnyObject!Objective C
+ (id)applicationWithURL:(NSURL *)urlПараметры
urlУнифицированный указатель ресурсов (URL), определяющий местоположение совместимого OSA приложения.
Возвращаемое значение
SBApplicationподкласс, от которого можно генерировать совместно используемый экземпляр целевого приложения, URL которогоurl. Возвратыnilесли приложение не имеет интерфейса сценариев, если никакое такое приложение не может быть найдено или.Обсуждение
Для приложений, объявляющих, что себя имеют динамический интерфейс сценариев, этот метод запустит приложение, если это не будет уже работать. Этот подход к инициализации
SBApplicationобъекты должны использоваться, только если Вы знаете наверняка URL целевого приложения. В большинстве случаев лучше использоватьclassForApplicationWithBundleIdentifier:который динамично определяет местоположение целевого приложения во время выполнения.Этот метод в настоящее время поддерживает файл URLs (
file:) и удаленное приложение URLs (eppc:). Это проверяет, существует ли файл в указанном пути, но это не проверяет, идентифицировало ли приложение черезeppc:существует.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает экземпляр
SBApplicationподкласс, представляющий целевое приложение, идентифицированное данным идентификатором пакета.Объявление
Swift
init!(bundleIdentifierident: String!)Objective C
- (id)initWithBundleIdentifier:(NSString *)identПараметры
identИдентификатор пакета, указывающий приложение, которое совместимо OSA.
Возвращаемое значение
Инициализированный совместно используемый экземпляр
SBApplicationподкласс, представляющий целевое приложение с идентификатором пакетаident. Возвратыnilесли приложение не имеет интерфейса сценариев, если никакое такое приложение не может быть найдено или.Обсуждение
Если необходимо инициализировать
SBApplicationвозразите explictly, необходимо использовать этот инициализатор если возможный; в отличие от этогоinitWithProcessIdentifier:иinitWithURL:, этот метод не зависит от изменяемых факторов, таких как путь или процесс целевого приложения ID. Несмотря на это, Вам придется редко инициализироватьSBApplicationвозразите себе; вместо этого, необходимо инициализировать специализированный подкласс такой какiTunesApplication.Обратите внимание на то, что этот метод не проверяет, существует ли фактически приложение с данным идентификатором пакета.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает экземпляр
SBApplicationподкласс, представляющий целевое приложение, идентифицированное данным идентификатором процесса.Объявление
Swift
init!(processIdentifierpid: pid_t)Objective C
- (id)initWithProcessIdentifier:(pid_t)pidПараметры
pidBSD обрабатывает ID, указывающий приложение, которое совместимо OSA. Часто можно получить процесс ID процесса с помощью
processIdentifierметодNSTask.Возвращаемое значение
Инициализированный
SBApplicationто, что можно использовать для связи с целевым приложением, указанным процессом ID. Возвратыnilесли приложение не имеет интерфейса сценариев, если никакое такое приложение не может быть найдено или.Обсуждение
Необходимо избегать использования этого метода, если Вы ничего не знаете о внешнем приложении кроме его PID. В большинстве случаев лучше использовать
initWithBundleIdentifier:, который динамично определит местоположение пути внешнего приложения во время выполнения, илиinitWithURL:, который не зависит от внешнего приложения, являющегося открытым в то время, когда вызывают метод.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает экземпляр
SBApplicationподкласс, представляющий целевое приложение, идентифицированное данным URL.Параметры
urlУнифицированный указатель ресурсов (URL), указывающий приложение, которое совместимо OSA.
Возвращаемое значение
Инициализированный
SBApplicationто, что можно использовать для связи с целевым приложением, указанным процессом ID. Возвратыnilесли приложение не имеет интерфейса сценариев, если приложение не могло бы быть найдено или.Обсуждение
Этот подход к инициализации
SBApplicationобъекты должны использоваться, только если Вы знаете наверняка URL целевого приложения. В большинстве случаев лучше использоватьclassForApplicationWithBundleIdentifier:который динамично определяет местоположение целевого приложения во время выполнения. Несмотря на это, Вам придется редко инициализироватьSBApplicationсамостоятельно.Этот метод в настоящее время поддерживает файл URLs (
file:) и удаленное приложение URLs (eppc:). Это проверяет, существует ли файл в указанном пути, но это не проверяет, идентифицировало ли приложение черезeppc:существует.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает объект класса, представляющий определенный класс в целевом приложении.
Объявление
Swift
func classForScriptingClass(_className: String!) -> AnyClass!Objective C
- (Class)classForScriptingClass:(NSString *)classNameПараметры
classNameИмя класса сценариев.
Возвращаемое значение
A
Classобъект, представляющий класс сценариев.Обсуждение
Вы вызываете этот метод на экземпляр scriptable приложения. Как только у Вас есть объект класса, можно выделить экземпляр класса и соответственно необработанный экземпляр. Или можно использовать его в вызове к
isKindOfClass:определить тип класса объекта.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
-
Перемещает целевое приложение в передний план сразу.
Объявление
Swift
func activate()Objective C
- (void)activateОбсуждение
Если целевое приложение уже не работает, этот метод запускает его.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
-
isRunning - isRunningДоступный в OS X v10.5 через OS X v10.9Возвраты, работает ли целевое приложение, представленное получателем.
Объявление
Objective C
- (BOOL)isRunningВозвращаемое значение
YEStrueесли приложение работает,NOfalseиначе.Оператор импорта
Objective C
@import ScriptingBridge;Доступность
Доступный в OS X v10.5 через OS X v10.9.
-
Возвращает флаги запуска для приложения, представленного получателем.
Возвращаемое значение
Маска, указывающая флаги запуска, использующиеся, когда запускается целевое приложение. Для получения дополнительной информации посмотрите Ссылку Launch Services.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает флаги запуска для приложения, представленного получателем.
Параметры
flagsМаска, указывающая флаги запуска, использующиеся, когда запускается целевое приложение. Для получения дополнительной информации посмотрите Ссылку Launch Services.
Обсуждение
Значение по умолчанию
SBApplicationфлаги запускаkLSLaunchDontAddToRecents(таким образом, целевое приложение не добавляется на меню Recent Items),kLSLaunchDontSwitch(таким образом, целевое приложение запускается в фоновом режиме), иkLSLaunchAndHide(таким образом, целевое приложение скрыто, как только оно запускается).Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает режим для отправки событий Apple к целевому приложению.
Объявление
Swift
var sendMode: AESendModeObjective C
@property AESendMode sendModeВозвращаемое значение
Маска, указывающая режим для отправки событий Apple к целевому приложению. Для получения дополнительной информации посмотрите Ссылку менеджера по корпоративным мероприятиям Apple.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Устанавливает режим для отправки событий Apple к целевому приложению.
Объявление
Swift
var sendMode: AESendModeObjective C
@property AESendMode sendModeПараметры
sendModeМаска, указывающая режим для отправки событий Apple к целевому приложению. Для списка допустимых режимов посмотрите Ссылку менеджера по корпоративным мероприятиям Apple.
Обсуждение
Значение по умолчанию отправляет, режим
kAEWaitReply. Если отправить режим - что-то другое, чемkAEWaitReply, получатель не мог бы правильно обработать события ответа от целевого приложения.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает период, приложение будет ожидать для получения событий Apple ответа.
Возвращаемое значение
Время в галочках, что получатель будет ожидать для получения события Apple ответа из целевого приложения перед отказом. Для получения дополнительной информации посмотрите Ссылку менеджера по корпоративным мероприятиям Apple.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Устанавливает максимальное время, приложение будет ожидать для получения событий Apple ответа.
Параметры
timeoutВремя в галочках, что получатель будет ожидать для получения события Apple ответа из целевого приложения перед отказом.
Обсуждение
Значение тайм-аута по умолчанию
kAEDefaultTimeout, который составляет приблизительно минуту. Если Вы хотите, чтобы получатель ожидал неопределенно событий Apple ответа, использоватьkNoTimeOut. Для получения дополнительной информации посмотрите Ссылку менеджера по корпоративным мероприятиям Apple.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
classNamesForCodes - classNamesForCodesДоступный в OS X v10.5 через OS X v10.5Возвращает словарь, отображающий коды с четырьмя классами символов на имена их соответствующих классов Objective C.
Объявление
Objective C
- (NSDictionary *)classNamesForCodesВозвращаемое значение
Словарь, ключи которого являются кодами с четырьмя классами символов внешнего приложения (как
NSNumberобъекты), и чьи значения являются именами соответствияSBObjectподклассы.Обсуждение
Реализация по умолчанию возвращает пустой словарь. Специализированные подклассы возвращают словари, адаптированные в соответствии с типами объектов, которые они поддерживают.
Вы никогда не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import ScriptingBridge;Доступность
Доступный в OS X v10.5 через OS X v10.5.
-
codesForPropertyNames - codesForPropertyNamesДоступный в OS X v10.5 через OS X v10.5Возвращает свойство отображения словаря ключи их соответствующим четырем кодам символов.
Объявление
Objective C
- (NSDictionary *)codesForPropertyNamesВозвращаемое значение
Словарь, ключи которого являются ключами свойств внешнего приложения, и чьи значения являются соответствующими четырьмя кодами символов (как
NSNumberобъекты).Обсуждение
Реализация по умолчанию возвращает пустой словарь. Специализированные подклассы возвращают словари, адаптированные в соответствии с типами объектов, которые они поддерживают.
Вы никогда не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import ScriptingBridge;Доступность
Доступный в OS X v10.5 через OS X v10.5.
-
Возвращает делегата обработки ошибок получателя.
Объявление
Swift
var delegate: SBApplicationDelegate!Objective C
@property(strong) id<SBApplicationDelegate> delegateВозвращаемое значение
Объект, действующий как делегат обработки ошибок получателя.
Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает делегата обработки ошибок получателя.
Объявление
Swift
var delegate: SBApplicationDelegate!Objective C
@property(strong) id<SBApplicationDelegate> delegateПараметры
delegateОбъект, действующий как делегат получателя.
Обсуждение
Делегат должен реализовать
eventDidFail:withError:методSBApplicationDelegateнеофициальный протокол.Оператор импорта
Objective C
@import ScriptingBridge;Swift
import ScriptingBridgeДоступность
Доступный в OS X v10.5 и позже.
См. также
