Ключи служб запуска

Launch Services (часть платформы Core Services в OS X) предоставляет поддержку для запуска приложений и соответствия типов документов к приложениям. В результате ключи, распознанные Launch Services, позволяют Вам указывать желаемую среду выполнения для своего связанного кода. (В iOS Launch Services является частным API, но все еще используется внутренне для координирования среды выполнения приложений для iOS.)

Ключи Launch Services используют префикс LS отличать их от других ключей. Для получения дополнительной информации о Launch Services в OS X, посмотрите Ссылку Launch Services Programming Guide and Launch Services.

Ключевая сводка

Таблица 1 содержит алфавитный список ключей Launch Services, соответствующего имени для того ключа в редакторе списка свойств XCode, высокоуровневом описании каждого ключа и платформах, на которых Вы используете его. Подробная информация о каждом ключе доступна в более поздних разделах.

Табличная 1  Сводка ключей Launch Services

Ключ

Имя XCode

Сводка

Платформы

LSApplicationCategoryType

«Категория приложений»

Содержит строку с UTI, категоризирующим приложение для App Store. Посмотрите LSApplicationCategoryType для подробных данных.

OS X

LSArchitecturePriority

“Приоритет архитектуры”

Содержит массив строк, идентифицирующих поддерживаемую архитектуру кода и их предпочтительный приоритет выполнения. Посмотрите LSArchitecturePriority для подробных данных.

OS X

LSBackgroundOnly

“Приложение является фоном только”

Указывает ли выполнение приложения только в фоновом режиме. (Только мужественные приложения). Посмотрите LSBackgroundOnly для подробных данных.

OS X

LSEnvironment

«Переменные окружения»

Содержит список пар ключ/значение, представляя переменные окружения и их значения. См. LSEnvironment для подробных данных.

OS X

LSFileQuarantineEnabled

“Карантин файла включил”

Указывает, изолированы ли файлы, которые создает это приложение, по умолчанию. Посмотрите LSFileQuarantineEnabled.

OS X

LSFileQuarantineExcludedPathPatterns

Ни один

Указывает каталоги, для которых не должны быть автоматически изолированы файлы. Посмотрите LSFileQuarantineExcludedPathPatterns.

OS X

LSGetAppDiedEvents

“Приложение должно получить события App Died”

Указывает, уведомляется ли приложение, когда умирает дочерний процесс. Посмотрите LSGetAppDiedEvents для подробных данных.

OS X

LSMinimumSystemVersion

“Минимальная версия системы”

Указывает минимальную версию OS X, требуемого для приложения работать. Посмотрите LSMinimumSystemVersion для подробных данных.

OS X

LSMinimumSystemVersionByArchitecture

“Минимальные версии системы, на архитектуру”

Указывает минимальную версию OS X, требуемого выполнять данную архитектуру платформы. Посмотрите LSMinimumSystemVersionByArchitecture для подробных данных.

OS X

LSMultipleInstancesProhibited

“Приложение запрещает многократные экземпляры”

Указывает, могут ли один пользователь или многочисленные пользователи запустить приложение одновременно. Посмотрите LSMultipleInstancesProhibited для подробных данных.

OS X

LSRequiresIPhoneOS

“Приложение требует среды iPhone”

Указывает, является ли приложение приложением для iOS. Посмотрите LSRequiresIPhoneOS для подробных данных.

iOS

LSRequiresNativeExecution

“Приложение требует собственной среды”

Указывает, должно ли приложение работать исходно на основанном на Intel Mac, в противоположность при эмуляции Розетты. Посмотрите LSRequiresNativeExecution для подробных данных.

OS X

LSUIElement

“Приложение является агентом (UIElement)”

Указывает, является ли приложение приложением агента, т.е. приложением, которое не должно появляться в окне Dock или Force Quit. См. LSUIElement для подробных данных.

OS X

LSUIPresentationMode

“Приложение режим презентации UI”

Когда приложение запускается, устанавливает видимость системы элементы UI. Посмотрите LSUIPresentationMode для подробных данных.

OS X

LSVisibleInClassic

“Приложение видимо в Классике”

Указывает, видимы ли приложение агента или приложение только для фона к другим приложениям в Классической среде. Посмотрите LSVisibleInClassic для подробных данных.

OS X

MinimumOSVersion

“Минимальная версия системы”

Не использовать. Используйте LSMinimumSystemVersion вместо этого.

iOS

LSApplicationCategoryType

LSApplicationCategoryType (String - OS X), строка, содержащая соответствие UTI типу приложения. App Store использует эту строку для определения надлежащей классификации для приложения. Таблица 2 перечисляет поддерживаемый UTIs для приложений.

Таблица 2  UTIs для категорий приложений

Категория

UTI

Бизнес

public.app-category.business

Инструменты разработчика

public.app-category.developer-tools

Образование

public.app-category.education

Развлечение

public.app-category.entertainment

Финансы

public.app-category.finance

Игры

public.app-category.games

Графика и Проект

public.app-category.graphics-design

Здравоохранение и Фитнес

public.app-category.healthcare-fitness

Образ жизни

public.app-category.lifestyle

Медицинский

public.app-category.medical

Музыка

public.app-category.music

Новости

public.app-category.news

Фотография

public.app-category.photography

Производительность

public.app-category.productivity

Ссылка

public.app-category.reference

Социальная сеть

public.app-category.social-networking

Спортивные состязания

public.app-category.sports

Перемещение

public.app-category.travel

Утилиты

public.app-category.utilities

Видео

public.app-category.video

Погода

public.app-category.weather

Таблица 3 перечисляет UTIs, которые являются определенными для игр.

Таблица 3  UTIs для специфичных для игры категорий

Категория

UTI

Экшн-игры

public.app-category.action-games

Игры приключения

public.app-category.adventure-games

Аркады

public.app-category.arcade-games

Настольные игры

public.app-category.board-games

Карточные игры

public.app-category.card-games

Игры в казино

public.app-category.casino-games

Игры игры в кости

public.app-category.dice-games

Образовательные игры

public.app-category.educational-games

Игры семьи

public.app-category.family-games

Игры детей

public.app-category.kids-games

Музыкальные игры

public.app-category.music-games

Головоломки

public.app-category.puzzle-games

Мчащиеся игры

public.app-category.racing-games

Ролевые игры играющего

public.app-category.role-playing-games

Игры моделирования

public.app-category.simulation-games

Спортивные игры

public.app-category.sports-games

Стратегические игры

public.app-category.strategy-games

Игры мелочей

public.app-category.trivia-games

Словесные игры

public.app-category.word-games

LSArchitecturePriority

LSArchitecturePriority (Array - OS X), массив строк, идентифицирующий архитектуру это поддержки приложений. Порядок строк в этом массиве диктует предпочтительный приоритет выполнения для архитектуры. Возможные строки для этого массива перечислены в Таблице 4.

Табличные 4  идентификаторы архитектуры Выполнения

Строка

Описание

i386

32-разрядная архитектура Intel.

ppc

32-разрядная архитектура PowerPC.

x86_64

64-разрядная архитектура Intel.

ppc64

64-разрядная архитектура PowerPC.

Если архитектура PowerPC появляется перед любой из архитектур Intel OS X выполняет исполнимую программу при эмуляции Розетты на основанном на Intel Mac. Чтобы вынудить OS X использовать собственную архитектуру текущей платформы, включайте LSRequiresNativeExecution, вводят Ваш информационный список свойств.

LSBackgroundOnly

LSBackgroundOnly (Boolean - OS X), указывает ли это выполнение приложения только в фоновом режиме. Если этот ключ существует и устанавливается к «1», Launch Services выполняет приложение в фоновом режиме только. Можно использовать этот ключ для создания безликих фоновых приложений. Необходимо также использовать этот ключ, если приложение использует высокоуровневые платформы, соединяющиеся с сервером окна, но не предназначающиеся, чтобы быть видимыми пользователям. Фоновые приложения должны быть скомпилированы как Мужественные исполнимые программы. Эта опция не доступна для приложений CFM.

LSEnvironment

LSEnvironment (Dictionary - OS X), определяет переменные окружения, которые будут установлены прежде, чем запустить это приложение. Имена переменных окружения являются ключами словаря со значениями, являющимися соответствующим значением переменной окружения. И ключи и значения должны быть строками.

Эти переменные окружения установлены только для приложений, запущенных через Launch Services. При выполнении исполнимой программы непосредственно из командной строки эти переменные окружения не установлены.

LSFileQuarantineEnabled

LSFileQuarantineEnabled (Boolean - OS X), указывает, изолированы ли файлы, которые создает это приложение, по умолчанию.

Значение

Описание

true

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

false

Файлы (По умолчанию), создаваемые этим приложением, не изолированы по умолчанию.

Этот ключ доступен в OS X v10.5 и позже.

LSFileQuarantineExcludedPathPatterns

LSFileQuarantineExcludedPathPatterns (Array - OS X), содержит массив строк, указывающих пути, для которых Вы хотите отключить изоляцию файла. Можно использовать этот ключ, чтобы препятствовать тому, чтобы карантин файла влиял на производительность приложения. Каждая строка в массиве является образцом пути стиля оболочки, что означает это специальные символы такой как ~, *, и ? автоматически расширены согласно стандартным правилам командной строки. Например, строка формы ~/Library/Caches/* позволил бы Вам отключать карантин на файлы, создаваемые Вашим приложением в каталоге кэша пользователя.

LSGetAppDiedEvents

LSGetAppDiedEvents (Boolean - OS X), указывает, уведомляет ли операционная система это приложение когда, когда завершается один из его дочернего процесса. Если Вы устанавливаете значение этого ключа к YES, система отправляет Ваше приложение kAEApplicationDied Событие Apple для каждого дочернего процесса, как это завершается.

LSMinimumSystemVersion

LSMinimumSystemVersion (String - OS X), указывает минимальную версию OS X, требуемого для этого приложения работать. Эта строка должна иметь форму n.n.n, где n является числом. Первое число является номером основной версии системы. Вторые и третьи числа являются незначительными числами версии. Например, для поддержки OS X v10.4 и позже Вы установили бы значение этого ключа к «10.4.0».

Если минимальная версия системы не доступна, OS X пытается вывести на экран предупредительную панель, уведомляющую пользователя того факта.

LSMinimumSystemVersionByArchitecture

LSMinimumSystemVersionByArchitecture (Dictionary - OS X), указывает самую раннюю версию OS X для ряда архитектуры. Этот ключ содержит словарь пар ключ/значение. Каждый ключ соответствует одной из архитектуры, связанной с ключом LSArchitecturePriority. Значение для каждого ключа является минимальной версией OS X, требуемого для приложения работать под той архитектурой. Эта строка должна иметь форму n.n.n, где n является числом. Первое число является номером основной версии системы. Вторые и третьи числа являются незначительными числами версии. Например, для поддержки OS X v10.4.9 и позже Вы установили бы значение этого ключа к «10.4.9».

Если версия существующей системы является меньше, чем требуемая минимальная версия, Launch Services не пытается использовать соответствующую архитектуру. Этот ключ применяется только к выбору архитектуры выполнения и может использоваться в сочетании с ключом LSMinimumSystemVersion, указывающим полное минимальное требование версии системы для приложения.

LSMultipleInstancesProhibited

LSMultipleInstancesProhibited (Boolean - OS X), указывает, мешают ли приложению работать одновременно в многопользовательских сеансах. Если это правда, выполнение приложения только в один сеанс пользователя за один раз. Можно использовать этот ключ для предотвращения конфликтов ресурса, которые могли бы возникнуть путем совместного использования приложения через многопользовательские сеансы. Например, Вы могли бы хотеть препятствовать тому, чтобы пользователи получили доступ к пользовательскому USB-устройству, когда оно уже используется различным пользователем.

Если целевое приложение не может быть запущено, Launch Services возвращает надлежащий код ошибки. Если пользователь в другом сеансе выполняет приложение, Launch Services возвращает a kLSMultipleSessionsNotSupportedErr ошибка. При попытке запустить отдельный экземпляр приложения в текущем сеансе, это возвращается kLSMultipleInstancesProhibitedErr.

LSRequiresIPhoneOS

LSRequiresIPhoneOS (Boolean - iOS), указывает, может ли приложение работать только на iOS. Если этот ключ устанавливается к YES, Launch Services позволяет приложению запускаться только, когда серверной платформой является iOS.

LSRequiresNativeExecution

LSRequiresNativeExecution (Boolean - OS X), указывает, запустить ли приложение с помощью поддвоичного файла для текущей архитектуры. Если этот ключ устанавливается к YES, Launch Services всегда выполняет приложение с помощью двоичного файла, скомпилированного для текущей архитектуры. Можно использовать этот ключ, чтобы препятствовать тому, чтобы универсальный двоичный файл был выполнен при эмуляции Розетты на основанном на Intel Mac. Для получения дополнительной информации о конфигурировании архитектуры выполнения, посмотрите LSArchitecturePriority.

LSUIElement

LSUIElement (String - OS X), указывает ли выполнение приложения как приложение агента. Если этот ключ устанавливается к «1», Launch Services выполняет приложение как приложение агента. Приложения агента не появляются в Прикреплении или в окне Force Quit. Несмотря на то, что они обычно работают как фоновые приложения, они могут прибыть в передний план для представления пользовательского интерфейса при желании. Щелчок по окну, принадлежащему приложению агента, переносит то приложение на вперед для обработки событий.

Прикрепление и loginwindow являются двумя приложениями, работающими как приложения агента.

LSUIPresentationMode

LSUIPresentationMode (Number - OS X), идентифицирует начальный режим пользовательского интерфейса для приложения. Вы использовали бы это в приложениях, которые, возможно, должны принять части экрана, содержащие элементы UI, такие как Прикрепление и строка меню. Большинство режимов влияет только на элементы UI, появляющиеся в предметной области экрана, т.е. области экрана, не включающего строку меню. Однако можно запросить, чтобы все элементы UI были скрыты также.

Этот ключ применим и к приложениям Углерода и к Какао и может быть одним из следующих значений:

Значение

Описание

0

Нормальный режим. В этом режиме вся стандартная система элементы UI видимы. Это - значение по умолчанию.

1

Содержание подавило режим. В этом режиме система скрыты элементы UI в предметной области экрана. Элементы UI могут показать себя автоматически в ответ на движения мыши или другое пользовательское действие. Например, когда мышь перемещается в область автошоу Прикрепления, Прикрепление может показать себя.

2

Содержание скрытый режим. В этом режиме система элементы UI в предметной области экрана скрыты и автоматически не показывают себя в ответ на пользовательское действие или движения мыши.

3

Весь скрытый режим. В этом режиме все элементы UI скрыты, включая строку меню. Элементы автоматически не показывают себя в ответ на пользовательское действие или движения мыши.

4

Весь подавленный режим. В этом режиме все элементы UI скрыты, включая строку меню. Элементы UI могут показать себя автоматически в ответ на движения мыши или другое пользовательское действие. Эта опция доступна только в OS X v10.3 и позже.

LSVisibleInClassic

LSVisibleInClassic (String - OS X). Если этот ключ устанавливается к «1», любые приложения агента или приложения только для фона с этим ключом появляется как процессы только для фона к Классической среде. Приложения агента и приложения только для фона без этого ключа не появляются как рабочие процессы к Классике вообще. Если Ваш процесс не должен связываться явно с Классическим приложением, Вы не должны включать этот ключ.

MinimumOSVersion

MinimumOSVersion (String - iOS). При создании приложения для iOS XCode использует установку Deployment Target iOS проекта установить значение для MinimumOSVersion ключ. Не указывайте этот ключ сами в Info.plist файл; это - записанный из системы ключ. При публикации приложения к App Store хранилище указывает выпуски iOS, на которых приложение может работать на основе этого ключа. Это эквивалентно LSMinimumSystemVersion ключ в OS X.