Прикладной уровень какао

Прикладной уровень Какао прежде всего ответственен за появление приложений и их скорости отклика к пользовательским действиям. Кроме того, многие опции, определяющие пользовательский опыт OS X — такой как Центр Уведомления, полноэкранный режим и Автоматическое Сохранение — реализованы уровнем Cocoa.

Термин Вода относится к полному появлению и поведению OS X. Стиль Воды характеризуется непротиворечивыми, удобными для пользователя способами поведения, объединенными со своевольным использованием расположения, цвета и текстуры. Несмотря на то, что большая часть стили Воды прибывает бесплатно при использовании технологий Какао для разработки приложения, существует все еще много шагов, которые необходимо предпринять для различения приложения от конкуренции. Создать красивое, востребованное приложение, которое пользователи будут любить, убедиться следовать за руководством, предоставленным в Инструкциях по Интерфейсу пользователя OS X.

../art/osx_architecture-cocoa_2x.png

Высокоуровневые функции

Уровень Cocoa (Application) реализует много опций, которые являются отличительными аспектами пользовательского опыта OS X. Пользователи ожидают находить эти функции по всей системе, таким образом, это будет хорошая идея поддерживать все функции, которые целесообразны в Вашем приложении.

Центр уведомления

Центр уведомления обеспечивает способ для пользователей получить и просмотреть уведомления приложения привлекательным, незаметным способом. Для каждого приложения пользователи могут указать, как они хотят быть уведомленными относительно поступления элемента; они могут также показать Центр Уведомления для просмотра всех поставленных элементов.

Центр Уведомления APIs, помогающий Вам сконфигурировать видимые пользователем части элемента уведомления, планирует элементы для поставки и узнает, когда были поставлены элементы. Можно также определить, запустилось ли приложение в результате уведомления, и если оно имеет, является ли то уведомление локальной переменной или удаленный (т.е. продвиньте), уведомление.

Для приобретения знаний об интеграции Центра Уведомления в приложение посмотрите Ссылку класса Ссылки класса и NSUserNotification NSUserNotificationCenter. Гарантировать, что Ваше приложение дает пользователям лучший опыт Центра Уведомления, Центр подтверждения прочтения. Кроме того, можно добавить элементы к представлению Today с помощью Сегодня расширение, видеть Сегодня в Руководстве по программированию Расширения Приложения.

Игровой центр

Игровой Центр получает доступ к той же социально играющей сети как на iOS, позволяя пользователям отследить очки в списке лидеров, сравнить их достижения в игре, пригласить друзей играть в игру и запускать многопользовательскую игру посредством автоматического соответствия. Игровая функциональность Центра предоставлена в трех частях:

  • Игровое приложение Центра, в котором пользователи регистрируются в свою учетную запись, обнаруживает новые игры и новых друзей, добавьте друзей для их играющей сети и просмотрите списки лидеров и достижения.

  • Платформа Гэйма Кита, содержащая разработчиков APIs, использует, чтобы поддерживать живые многопользовательские или основанные на повороте игры и принять другие функции Game Center, такие как голосовой чат в игре и доступ списка лидеров.

  • Служба Center онлайн игры, поддерживаемая Apple, выполняющим аутентификацию проигрывателя, обеспечивает список лидеров и информацию о достижении, и обрабатывает приглашения и автосоответствие для многопользовательских игр. Вы взаимодействуете со службой Game Center только косвенно, с помощью Игрового Набора APIs.

В Вашей игре используйте Гэйма Кита APIs, чтобы отправить очки и достижения к службе Game Center и вывести на экран списки лидеров в Вашем пользовательском интерфейсе. Можно также использовать Гэйма Кита APIs, чтобы помочь пользователям найти, что другие играют с в многопользовательской игре.

Для узнавания больше о добавляющей Игровой поддержке Центра приложению см. Игровое Руководство по программированию Центра.

Совместное использование

Служба совместного использования обеспечивает непротиворечивый пользовательский опыт для совместного использования содержания среди многих типов служб. Например, пользователь мог бы хотеть обменяться фотографией путем регистрации его в сообщении Twitter, присоединения его к электронной почте или отправки его другому пользователю Mac через AirDrop.

Используйте AppKit NSSharingService класс для получения информации о доступных службах и элементах доли с ними непосредственно. В результате можно вывести на экран пользовательский UI для представления служб. Можно также использовать NSSharingServicePicker класс для отображения списка совместного использования служб (включая службы поддержки, которые Вы определяете), из которого может выбрать пользователь. Когда служба выполняется, предоставленное системой совместное использование окна выведено на экран, где пользователь может прокомментировать или добавить получателей.

Резюме

Резюме является улучшением в масштабе всей системы пользовательского опыта, поддерживающего персистентность приложения. Пользователь может выйти из системы или закрыть операционную систему, и на следующем входе в систему или запуске, OS X автоматически повторно запускает приложения, в последний раз работавшие, и восстанавливает в последний раз открытые окна. Если Ваше приложение предоставляет необходимую поддержку, вновь открытые окна имеют тот же размер и расположение как прежде; кроме того, содержание окна прокручивается до предыдущей позиции, и выборы восстанавливаются.

Для поддержки персистентности приложения необходимо также реализовать автоматическое и внезапное завершение приложения, сохранение пользовательского интерфейса и Автоматическое Сохранение. Посмотрите, Автоматическое и Внезапное Завершение Приложений, Сохранения Пользовательского интерфейса, и Документы Автоматически Сохраняются в Руководстве по программированию Приложения Mac.

Полноэкранный режим

Когда приложение вводит полноэкранный режим, это открывает свое frontmost приложение или окно документа в отдельном пространстве. Если нет никакого меню View к Меню окна, включение полноэкранного режима добавляет пункт меню Enter Full Screen к меню View или. Когда пользователь выбирает этот пункт меню, frontmost приложение или окно документа заполняют весь экран.

Платформа AppKit предоставляет поддержку для настройки появления и поведения полноэкранных окон. Например, когда приложение вводит и выходит из полноэкранного режима, Вы можете установить маску стиля окна и можете реализовать пользовательские анимации.

Вы включаете и управляете полноэкранной поддержкой через методы NSApplication и NSWindow классы и NSWindowDelegate Protocol протокол. Для обнаружения больше об этой функции считайте Реализацию Полноэкранного Опыта в Руководстве по программированию Приложения Mac.

Какао автоматическое расположение

Какао Автоматическое Расположение является основанной на правилах системой, разработанной для реализации инструкций по расположению, описанных в Инструкциях по Интерфейсу пользователя OS X. Это выражает больший класс отношений и более интуитивно для использования, чем пружины и распорки.

Используя Автоматическое Расположение дает Вам много преимуществ:

  • Локализация через свопинг одних только строк, вместо того, чтобы также обновить разметки

  • Зеркальное отражение элементов UI для справа налево языков, таких как иврит и арабский язык

  • Лучше разделение на уровни ответственности между объектами в представлении и уровнях контроллера

    Объект представления обычно знает лучше всего о его стандартном размере и его расположении в его суперпредставлении и относительно его одноуровневых представлений. Если что-то нестандартное требуется, контроллер может переопределить эти значения.

Объекты, которые Вы используете для определения расположения, являются объектами Objective C, названными ограничениями. Вы определяете ограничения путем объединения атрибутов — таких как продвижение, запаздывание, оставленное, право, вершина, нижняя часть, ширина и высота — которые инкапсулируют отношения между элементами UI. (Продвижение и запаздывание подобны левому и правому, но они более выразительны, потому что они автоматически зеркально отражают ограничение в справа налево среда.), Кроме того, можно присвоить приоритетные уровни ограничениям, для идентификации ограничений, которые являются самыми важными для удовлетворения.

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

Для получения дополнительной информации об Автоматическом Расположении посмотрите Автоматическое Руководство по Расположению.

Легкая сдоба

Легкая сдоба является представлением, выводящим на экран дополнительное содержание, связанное с существующим содержанием на экране. AppKit обеспечивает NSPopover класс для поддержки легкой сдобы. AppKit автоматически располагает легкую сдобу относительно представления, содержащего существующее содержание — известный как представление расположения — и это перемещает легкую сдобу, когда перемещается представление расположения легкой сдобы.

Вы конфигурируете появление и поведение легкой сдобы, включая которую взаимодействие с пользователем заставляет легкую сдобу закрываться. И путем реализации надлежащего метода делегата, можно сконфигурировать легкую сдобу, чтобы отсоединить себя и стать отдельным окном, когда пользователь перетаскивает его.

Для получения дополнительной информации см. Ссылку на протокол Ссылки класса и NSPopoverDelegate NSPopover. Для инструкций по использованию легкой сдобы посмотрите Легкую сдобу в Инструкциях по Интерфейсу пользователя OS X.

Конфигурация программного обеспечения

Программы OS X обычно используют файлы списка свойств (также известный как plist файлы) для хранения данных конфигурации. Список свойств является текстовым или двоичным файлом, используемым для управления словарем пар ключ/значение. Приложения используют специальный тип файла списка свойств, названного информационным списком свойств (Info.plist) файл, для передачи ключевых атрибутов приложения — таких как имя приложения, уникальная идентификационная строка и информация о версии — к системе. Приложения также используют файлы списка свойств для хранения пользовательских настроек или других данных пользовательской конфигурации.

Преимущество файлов списка свойств состоит в том, что их просто отредактировать и изменить извне среды выполнения Вашего приложения. XCode включает встроенного редактора списка свойств для редактирования Вашего приложения Info.plist файл. Для узнавания больше об информационных файлах списка свойств и ключах, Вы вставляете их, видите Инструкции по Конфигурации Во время выполнения и информационную Ключевую Ссылку Списка свойств. Чтобы изучить, как отредактировать файл списка свойств в XCode, посмотрите клавиши редактирования и Значения.

В Вашем приложении можно считать и записать файлы списка свойств программно с помощью средств, найденных и в Базовой Основе и в Какао. Для получения дополнительной информации о создании и использовании списков свойств программно, посмотрите Темы Программирования Руководства по программированию или Списка свойств Списка свойств для Базовой Основы.

Доступность

Доступность является успешным доступом к информационным и информационным технологиям миллионами людей, у которых есть некоторый тип нетрудоспособности или специальной потребности. OS X обеспечивает много встроенных функций и вспомогательных технологий, помогающих пользователям со специальным преимуществом потребностей от OS X Mac, также предоставляет разработчикам программного обеспечения функции, они должны создать приложения, которые доступны для всех пользователей.

Приложения, использующие интерфейсы Какао, получают значительную поддержку доступности автоматически. Например, приложения получают следующую поддержку бесплатно:

  • Функции изменения масштаба позволяют пользователям увеличить размер экранных элементов.

  • Липкие ключи позволяют пользователям нажать клавиши последовательно вместо одновременно для сочетаний клавиш.

  • Кнопки мыши позволяют пользователям управлять мышью с цифровой клавиатурой.

  • Полный режим доступа клавиатуры позволяет пользователям завершить любое действие с помощью клавиатуры вместо мыши.

  • Распознавание речи позволяет пользователям говорить команды, а не ввести их.

  • Синтез речи по тексту читает текст в пользователей с ограниченными возможностями зрения.

  • VoiceOver обеспечивает разговорные функции пользовательского интерфейса для помощи слабовидящим пользователям.

Несмотря на то, что Какао интегрирует поддержку доступности в свой APIs, могли бы все еще быть времена, когда необходимо предоставить более дескриптивную информацию об окнах и средствах управления. Раздел Accessibility инспектора Идентификационных данных XCode упрощает предоставлять пользовательскую информацию доступности об элементах UI в Вашем приложении. Или можно использовать надлежащие интерфейсы доступности для изменения настроек программно.

Для получения дополнительной информации о доступности, см. Обзор Доступности для OS X.

AppleScript

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

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

Чтобы изучить, как поддерживать AppleScript в Ваших программах, см. Обзор Applescript.

Центр внимания

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

Разработчики приложений используют Центр внимания двумя различными способами. Во-первых, можно искать атрибуты файла, и содержание с помощью Центра внимания ищут API. Во-вторых, если Ваше приложение определяет свои собственные форматы файлов, необходимо включить любую надлежащую информацию о метаданных в те форматы и обеспечить плагин средства импорта Центра внимания для возврата тех метаданных для Развертки бегущим лучом.

Для получения дополнительной информации об использовании Центра внимания в Ваших приложениях см. Обзор Центра внимания.

Ink Services

Ink Services обеспечивает распознавание рукописного текста для приложений, поддерживающих текстовые системы Какао и WebKit и любую текстовую систему, поддерживающую методы ввода. Автоматическая поддержка для текста и жестов почерка (которые определяются в панели Ink). Платформа Чернил предлагает несколько функций, которые можно включить в приложения, включая следующее:

  • Включение или отключение распознавания рукописного текста программно

  • Доступ к данным Чернил непосредственно

  • Поддержка или задержанное распознавание или распознавание по требованию

  • Поддержка непосредственного управления текстом посредством жестов

Опция Ink Services реализована платформой Чернил (Ink.framework). Платформа Чернил не предназначается исключительно для разработчиков приложений конечного пользователя. Разработчики аппаратных средств могут также использовать его для реализации решения для распознавания рукописного текста для нового устройства ввода данных. Вы могли бы также использовать платформу Чернил для реализации собственной модели исправления для обеспечения пользователей списком альтернативных интерпретаций для данных почерка.

Платформа Чернил является подплатформой Carbon.framework; необходимо соединиться с ним непосредственно с платформой зонтика, не с Ink.framework. Для получения дополнительной информации об использовании Ink Services в приложениях Какао посмотрите Using Ink Services в Своем Приложении.

Платформы

Уровень Cocoa (Application) включает платформы, описанные в следующие разделы.

Платформа защиты какао

Платформа защиты Какао (Cocoa.framework) импортирует базовые платформы Objective C для разработки приложений: AppKit, Основа и Базовые Данные.

  • AppKit (AppKit.framework). Это - единственная платформа трех, которая находится фактически в уровне Cocoa. Посмотрите AppKit для сводки функций AppKit и классов.

  • Основа (Foundation.framework). Классы платформы Основы (который находится в уровне Core Services) реализуют управление данными, доступ к файлу, обрабатывают уведомление, сетевую связь и другие низкоуровневые функции. AppKit имеет прямую зависимость от Основы, потому что многие ее методы и функции или берут экземпляры Фундаментальных классов как параметры или возвращают экземпляры как значения.

    Для обнаружения больше об Основе посмотрите Основу и Базовую Основу.

  • Базовые данные (CoreData.framework). Классы Базовой платформы Данных (который также находится в уровне Core Services) управляют моделью данных приложения на основе шаблона разработки Контроллера представления Модели. Несмотря на то, что Базовые Данные являются дополнительными для разработки приложений, они рекомендуются для приложений, имеющих дело с большими наборами данных.

    Для получения дополнительной информации о Базовых Данных, посмотрите Базовые Данные.

AppKit

AppKit является ключевой платформой для приложений Какао. Классы в платформе AppKit реализуют пользовательский интерфейс (UI) приложения, включая окна, диалоговые окна, средства управления, меню и обработку событий. Они также обрабатывают большую часть поведения, требуемого приложения хорошего поведения, включая управление меню, управление окнами, управление документооборотом, Открывают и Сохраняют диалоговые окна и область монтажа (Буфер обмена) поведение.

В дополнение к наличию классов для окон, меню, обработки событий и большого разнообразия представлений и средств управления, AppKit имеет окно - и классы контроллера данных и классы для шрифтов, цветов, изображений и графических операций. Большое подмножество классов включает текстовую систему Какао, описанную в тексте, Книгопечатании и Шрифтах. Другое управление документацией поддержки классов AppKit, печать и службы, такие как проверка правописания, справка, речь, и область монтажа и операции перетаскивания.

Приложения могут участвовать во многих функциях, делающих пользовательский опыт OS X таким интуитивным, производительным, и вознаграждающий опыт. Эти функции включают следующее:

  • Жесты. Пользователи ценят способность использовать жидкие, интуитивные Мультисенсорные жесты для взаимодействия с OS X. Классы AppKit упрощают принимать эти жесты в Вашем приложении и обеспечивать лучший опыт изменения масштаба, не перерисовывая Ваше содержание. Например, NSScrollView включает встроенную поддержку умного жеста изменения масштаба (т.е. двойное касание с двумя пальцами на сенсорной панели). Когда Вы обеспечиваете семантическое расположение своего содержания, NSScrollView может разумно увеличить содержание под указателем. Можно также использовать этот класс для ответа на жест поиска (т.е. касание с тремя пальцами на сенсорной панели). Узнать больше о поддержке жеста это NSScrollView обеспечивает, посмотрите Ссылку класса NSScrollView.

  • Пробелы. Пробелы позволяют пользователю организовать окна в группы и переключиться назад и вперед между группами, чтобы избежать загромождать рабочий стол. AppKit предоставляет поддержку для совместного использования окон через пробелы с помощью атрибутов поведения набора на окне. Для получения информации об установке этих атрибутов см. Ссылку класса NSWindow.

  • Быстрое переключение между пользователями. С этой функцией многочисленные пользователи могут совместно использовать доступ к одиночному компьютеру без того, чтобы выходить из системы. В то время как другой пользователь входит в систему и получает доступ к компьютеру, сеанс одного пользователя может продолжать работать. Поддерживать быстрое переключение между пользователями, быть уверенным, что Ваше приложение избегает делать что-либо, что могло бы влиять на другую версию приложения, работающего в различном сеансе. Чтобы изучить, как реализовать это поведение, посмотрите, что Многопользовательская Среда Программирует Темы.

XCode включает Интерфейсного Разработчика, редактора пользовательского интерфейса, содержащего библиотеку объектов AppKit, таких как средства управления, представления и объекты контроллера. С ним можно создать большую часть UI (включая большую часть его поведения) графически, а не программно. С добавлением привязки Какао и Базовых Данных, можно также реализовать большую часть остальной части приложения графически.

Для обзора платформы AppKit посмотрите введение в Ссылку Платформы AppKit. Руководство по программированию Приложения Mac предлагает практическое обсуждение того, как Вы используете главным образом классы AppKit для реализации пользовательского интерфейса приложения, его документов и его полного поведения.

Игровой набор

Платформа Гэйма Кита (GameKit.framework) обеспечивает APIs, позволяющий Вашему приложению участвовать в Центре Гэйма. Например, можно использовать классы Гэйма Кита, чтобы вывести на экран списки лидеров в игре и дать пользователям возможность совместно использовать их достижения в игре и играть в многопользовательские игры.

Для узнавания больше об использовании Гэйма Кита в приложении посмотрите Ссылку Платформы GameKit.

Предпочтительные области

Предпочтительная платформа Областей (PreferencePanes.framework) позволяет Вам создать плагины, содержащие пользовательский интерфейс для установки предпочтений приложения. Во время выполнения приложение Установок системы (или Ваше приложение) могут динамично загрузить плагин и представить настройки UI пользователям. В Установках системы каждый значок в представлении Show All представляет плагин области индивидуальной настройки. Когда Ваше приложение испытывает недостаток в своем собственном пользовательском интерфейсе или имеет очень ограниченный UI, но должно быть конфигурируемым, Вы обычно реализуете предпочтительные плагины области. В этих случаях Вы создаете и плагин и специфичный для приложения код, читающий и пишущий предпочтительные настройки.

Для получения дополнительной информации о создании плагинов предпочтительной области, см. Предпочтительное Руководство по программированию Области.

Экранная заставка

Платформа Экранной заставки (ScreenSaver.framework) содержит классы для создания динамично загружаемых пакетов та реализация экранные заставки. Пользователи могут выбрать Вашу экранную заставку в области Desktop & Screen Saver приложения Установок системы. Экранная заставка помогает Вам реализовать представление экранной заставки и предварительный просмотр и управлять предпочтениями экранной заставки.

Для узнавания больше о создании экранных заставок посмотрите Ссылку Платформы Экранной заставки. Также считайте техническое примечание, Создающее Экранные заставки для Snow Leopard для получения дополнительной информации.

Интерфейс безопасности

Платформа Интерфейса Безопасности (SecurityInterface.framework) содержит классы, обеспечивающие элементы UI для программ, реализовывая средства защиты, такие как авторизация, доступ к цифровым сертификатам и доступ к элементам в цепочках для ключей. Существуют классы для создания пользовательских представлений и средств управления стандартной защитой, для создания панелей и листов для представления и редактирования сертификатов, для редактирования настроек цепочки для ключей, и для представления и разрешения выбора идентификационных данных.

Для получения дополнительной информации о платформе Интерфейса Безопасности, посмотрите Ссылку Платформы Интерфейса Безопасности.