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
Параметры
pid
BSD обрабатывает 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!(bundleIdentifier
ident
: 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!(processIdentifier
pid
: pid_t)Objective C
- (id)initWithProcessIdentifier:(pid_t)
pid
Параметры
pid
BSD обрабатывает 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
Возвращаемое значение
YES
true
если приложение работает,NO
false
иначе.Оператор импорта
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: AESendMode
Objective C
@property AESendMode sendMode
Возвращаемое значение
Маска, указывающая режим для отправки событий Apple к целевому приложению. Для получения дополнительной информации посмотрите Ссылку менеджера по корпоративным мероприятиям Apple.
Оператор импорта
Objective C
@import ScriptingBridge;
Swift
import ScriptingBridge
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Устанавливает режим для отправки событий Apple к целевому приложению.
Объявление
Swift
var sendMode: AESendMode
Objective 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 и позже.
См. также