NSRunningApplication
NSRunningApplication
класс, чтобы управлять и предоставить информацию для единственного экземпляра приложения. Только пользовательские приложения прослежены; это не предоставляет информацию о каждом процессе в системе.
Некоторые свойства приложения фиксируются, такие как идентификатор пакета. Другие свойства могут варьироваться в течение долгого времени, такой как, скрыто ли приложение. Варьирующиеся свойства могут наблюдаться с наблюдением значения ключа, когда комментарий описания для метода отмечает эту возможность.
Свойства, варьирующиеся в течение долгого времени, являются по сути склонными к гонке. Например, скрытое приложение может вывести на экран себя в любое время. Для улучшения этого свойства сохраняются до следующего поворота основного цикла выполнения в общем режиме. Например, при повторном опросе нескрытого приложения относительно его скрытого свойства, не позволяя циклу выполнения работать он будет продолжать возвращаться NO
false
, даже если приложение скрывается до следующего поворота цикла выполнения.
NSRunningApplication
ориентировано на многопотоковое исполнение, в этом, его свойства возвращаются атомарно. Однако это все еще подвергается основной политике цикла выполнения, описанной выше. Если Вы получаете доступ к экземпляру NSRunningApplication от фонового потока, знают, что его изменяющиеся во времени свойства могут измениться из-под Вас, когда основной цикл выполнения работает (или не).
NSRunningApplication
экземпляр остается допустимым после выходов приложения. Однако большинство свойств теряет свое значение, и некоторые свойства могут не быть доступными на завершенном приложении.
Для доступа к списку всех запущенных приложений используйте runningApplications
метод в NSWorkspace
.
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает запущенное приложение с данным идентификатором процесса или ноль, если никакое приложение не имеет это изодромное с предварением.
Объявление
Swift
convenience init?(processIdentifier
pid
: pid_t)Objective C
+ (instancetype)runningApplicationWithProcessIdentifier:(pid_t)
pid
Параметры
pid
Идентификатор процесса.
Возвращаемое значение
Экземпляр
NSRunningApplication
для указанногоpid
, или ноль, если приложение не имеет никакого идентификатора процесса.Обсуждение
Не имеющие приложения
PIDs
не может быть возвращен из этого метода.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Возвращает массив в настоящее время запущенных приложений с указанным идентификатором пакета.
Объявление
Swift
class func runningApplicationsWithBundleIdentifier(_
bundleIdentifier
: String) -> [AnyObject]Параметры
bundleIdentifier
Идентификатор пакета.
Возвращаемое значение
Массив
NSRunningApplications
, или пустой массив, если никакие приложения не соответствуют идентификатор пакета.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Возвраты
NSRunningApplication
представление этого приложения.Объявление
Swift
class func currentApplication() -> Self!
Objective C
+ (instancetype)currentApplication
Возвращаемое значение
NSRunningApplication
экземпляр для текущего приложения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Указывает, является ли приложение в настоящее время frontmost. (только для чтения)
Объявление
Swift
var active: Bool { get }
Objective C
@property(readonly, getter=isActive) BOOL active
Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Попытки активировать приложение с помощью указанных опций.
Объявление
Swift
func activateWithOptions(_
options
: NSApplicationActivationOptions) -> BoolObjective C
- (BOOL)activateWithOptions:(NSApplicationActivationOptions)
options
Параметры
options
Опции использовать при активации приложения. Посмотрите NSApplicationActivationOptions для возможных значений.
Возвращаемое значение
YES
true
если приложение было активировано успешно, иначеNO
false
.Обсуждение
Этот метод возвратится
NO
false
если приложение вышло или не является типом приложения, чем можно активировать.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
activationPolicy activationPolicy
СвойствоУказывает политику активации приложения. (только для чтения)
Объявление
Swift
var activationPolicy: NSApplicationActivationPolicy { get }
Objective C
@property(readonly) NSApplicationActivationPolicy activationPolicy
Обсуждение
Значение, возвращенное этим свойством, обычно фиксируется, но это может измениться через вызов на
activateWithOptions:
.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Попытки скрыться или приложение.
Объявление
Swift
func hide() -> Bool
Objective C
- (BOOL)hide
Возвращаемое значение
YES
true
если приложение было успешно скрыто, иначеNO
false
.Обсуждение
Свойство этого значения будет
NO
false
если приложение уже вышло, или если из типа, который неспособен быть скрытым.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Попытки вывести на экран или приложение.
Объявление
Swift
func unhide() -> Bool
Objective C
- (BOOL)unhide
Возвращаемое значение
YES
true
если приложение было успешно показано, иначеNO
false
.Обсуждение
Свойство этого значения будет
NO
false
если приложение уже вышло, или если из типа, который неспособен быть скрытым.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Указывает, скрыто ли в настоящее время приложение. (только для чтения)
Объявление
Swift
var hidden: Bool { get }
Objective C
@property(readonly, getter=isHidden) BOOL hidden
Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
localizedName localizedName
СвойствоУказывает локализованное имя приложения. (только для чтения)
Объявление
Swift
var localizedName: String? { get }
Objective C
@property(readonly, copy) NSString *localizedName
Обсуждение
Значение этого свойства зависит от текущей локализации приложения и подходит для представления для пользователя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
bundleIdentifier bundleIdentifier
СвойствоУказывает
CFBundleIdentifier
из приложения. (только для чтения)Объявление
Swift
var bundleIdentifier: String? { get }
Objective C
@property(readonly, copy) NSString *bundleIdentifier
Обсуждение
Значение этого свойства будет
nil
если приложение не имеет Info.plist.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
Указывает URL к пакету приложения. (только для чтения)
Объявление
Swift
@NSCopying var bundleURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *bundleURL
Обсуждение
Значение этого свойства
nil
из приложения не имеет структуры пакета.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Указывает выполняющуюся архитектуру процессора для приложения. (только для чтения)
Объявление
Swift
var executableArchitecture: Int { get }
Objective C
@property(readonly) NSInteger executableArchitecture
Обсуждение
Возвращенное значение будет одной из констант в
Mach-O Architecture
в ссылке класса NSBundle.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
executableURL executableURL
СвойствоУказывает URL к исполнимой программе приложения. (только для чтения)
Объявление
Swift
@NSCopying var executableURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *executableURL
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
launchDate launchDate
СвойствоКогда приложение было запущено, указывает дату. (только для чтения)
Объявление
Swift
@NSCopying var launchDate: NSDate? { get }
Objective C
@property(readonly, copy) NSDate *launchDate
Обсуждение
Это свойство только доступно для приложений, запущенных LaunchServices.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
finishedLaunching finishedLaunching
СвойствоУказывает, закончил ли процесс получателя запускаться, (только для чтения)
Объявление
Swift
var finishedLaunching: Bool { get }
Objective C
@property(readonly, getter=isFinishedLaunching) BOOL finishedLaunching
Обсуждение
Значение этого свойства соответствует запущенному приложению, получавшему
NSApplicationDidFinishLaunchingNotification
уведомление внутренне. Некоторые приложения не отправляют это уведомление (не полагающиеся приложенияNSApplication
) и так никогда не сообщаются, как закончено запуск.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
processIdentifier processIdentifier
СвойствоУказывает идентификатор процесса (изодромный с предварением) из приложения. (только для чтения)
Объявление
Swift
var processIdentifier: pid_t { get }
Objective C
@property(readonly) pid_t processIdentifier
Обсуждение
Не все приложения имеют изодромные с предварением Приложения без изодромного с предварением возврата значение-1.
Не полагайтесь на это для сравнения процессов, вместо этого сравнивайте использование экземпляров NSRunningApplication
isEqual:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
ownsMenuBar ownsMenuBar
СвойствоВозвраты, принадлежит ли приложению текущая строка меню. (только для чтения)
Объявление
Swift
var ownsMenuBar: Bool { get }
Objective C
@property(readonly) BOOL ownsMenuBar
Обсуждение
Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Попытки вынудить получатель выйти.
Объявление
Swift
func forceTerminate() -> Bool
Objective C
- (BOOL)forceTerminate
Возвращаемое значение
Возвраты
YES
true
если приложение успешно завершилось, иначеNO
false
.Обсуждение
Этот метод возвратится
NO
false
если приложение больше не работает когдаforceTerminate
сообщение отправляется в получатель.Этот метод может возвратиться перед выходами получателя; необходимо наблюдать, что завершенное свойство определяет, когда завершается приложение.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Попытки обычно выходить из получателя.
Объявление
Swift
func terminate() -> Bool
Objective C
- (BOOL)terminate
Возвращаемое значение
Возвраты
YES
true
если запрос был успешно отправлен, иначеNO
false
.Обсуждение
Этот метод возвратится
NO
false
когда оконечное сообщение отправляется в получатель, если больше не работает приложение.Этот метод может возвратиться перед выходами получателя; необходимо наблюдать, что завершенное свойство определяет, когда завершается приложение.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
завершенный завершенный
СвойствоУказывает, что завершилось приложение получателя. (только для чтения)
Объявление
Swift
var terminated: Bool { get }
Objective C
@property(readonly, getter=isTerminated) BOOL terminated
Обсуждение
Значение завершенных
YES
true
если приложение получателя завершилось, иначеNO
false
.Это свойство является заметным наблюдением значения ключа использования.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Завершает невидимо запущенные приложения как будто инициированный давлением системной памяти.
Объявление
Swift
class func terminateAutomaticallyTerminableApplications()
Objective C
+ (void)terminateAutomaticallyTerminableApplications
Обсуждение
Этот метод предназначается для приложений установщика и подобных приложений, чтобы гарантировать, что ничто неожиданно не полагается на файлы, которые они заменяют.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Следующие флаги для
activateWithOptions:
.Объявление
Swift
struct NSApplicationActivationOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var ActivateAllWindows: NSApplicationActivationOptions { get } static var ActivateIgnoringOtherApps: NSApplicationActivationOptions { get } }Objective C
enum { NSApplicationActivateAllWindows = 1 << 0, NSApplicationActivateIgnoringOtherApps = 1 << 1 }; typedef NSUInteger NSApplicationActivationOptions;
Константы
-
ActivateAllWindows
NSApplicationActivateAllWindows
По умолчанию активация переносит на следующий период только основные и ключевые окна. При указании NSApplicationActivateAllWindows все окна приложения перенесены на следующий период.
Доступный в OS X v10.6 и позже.
-
ActivateIgnoringOtherApps
NSApplicationActivateIgnoringOtherApps
По умолчанию активация деактивировала приложение вызова (предполагающий, что это было активно), и затем новое приложение активируется, только если нет никакого в настоящее время активного приложения. Это препятствует тому, чтобы новое приложение крало фокус от пользователя, если приложение не спешит активироваться, и пользователь переключился на различное приложение тем временем. Однако при указании NSApplicationActivateIgnoringOtherApps приложение активируется независимо от в настоящее время активного приложения, потенциально крадя фокус от пользователя. Необходимо редко передавать этот флаг, потому что кража ключевого фокуса производит очень плохой пользовательский опыт.
Доступный в OS X v10.6 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
-
Следующие политики активации управляют, ли и как может быть активировано приложение. Они используются
activationPolicy
.Объявление
Swift
enum NSApplicationActivationPolicy : Int { case Regular case Accessory case Prohibited }
Objective C
enum { NSApplicationActivationPolicyRegular, NSApplicationActivationPolicyAccessory, NSApplicationActivationPolicyProhibited }; typedef NSInteger NSApplicationActivationPolicy;
Константы
-
Regular
NSApplicationActivationPolicyRegular
Приложение является обычным приложением, которое появляется в Прикреплении и может иметь пользовательский интерфейс. Это - значение по умолчанию для связанных приложений, если не переопределено в
Info.plist
.Доступный в OS X v10.6 и позже.
-
Accessory
NSApplicationActivationPolicyAccessory
Приложение не появляется в Прикреплении и не имеет строки меню, но это может быть активировано программно или путем щелчка по одному из его окон. Это соответствует значению
LSUIElement
введите приложениеInfo.plist
быть1
.Доступный в OS X v10.6 и позже.
-
Prohibited
NSApplicationActivationPolicyProhibited
Приложение не появляется в Прикреплении и может не создать окна или быть активировано. Это соответствует значению
LSBackgroundOnly
введите приложениеInfo.plist
быть1
. Это - также значение по умолчанию для не имеющих несвязанных исполнимых программInfo.plists
.Доступный в OS X v10.6 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-