Базовый уровень служб

Технологии в уровне Core Services вызывают базовыми службами, потому что они предоставляют важные услуги приложениям, но не имеют никакого прямого влияния на пользовательский интерфейс приложения. В целом эти технологии зависят от платформ и технологий в двух нижних слоях OS X — т.е. уровень Core OS и уровень Kernel и Device Drivers.

../art/osx_architecture-core_services_2x.png

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

Следующие разделы описывают некоторые ключевые технологии, доступные в уровне Core Services.

Интеграция средств социального общения

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

  • Учетные записи (Accounts.framework). Платформа Учетных записей обеспечивает доступ к поддерживаемым типам учетных записей, которые сохранены в базе данных Accounts.

  • Социальный (Social.framework). Социальная платформа обеспечивает API для отправления запросов к поддерживаемым службам средств социального общения, которые могут выполнить операции от имени Ваших пользователей.

При использовании платформы Учетных записей приложение не должно быть ответственно за то, что хранило информацию входа в систему учетной записи потому что ACAccount объектно-ориентированные памяти пользователи входят в систему учетные данные для служб, таких как Twitter и Facebook. Пользователи могут дать Ваше разрешение приложения использовать их учетные данные входа в систему учетной записи, обойдя потребность ввести их имя пользователя и пароль. Если никакой счет на определенную службу не существует в базе данных Accounts пользователя, можно помочь им создать и сохранить учетную запись из приложения. Для узнавания больше о платформе Учетных записей посмотрите Ссылку Платформы Учетных записей.

Социальная платформа обеспечивает простой интерфейс для доступа к учетным записям в социальных сетях пользователя, включая Facebook и Sina Weibo, китайский веб-сайт микроблогинга. Приложения могут использовать эту платформу для регистрации обновлений статуса и изображений в учетную запись пользователя. Социальная платформа работает с платформой Учетных записей, чтобы предоставить модель единой точки входа пользователю и гарантировать, что утвержден доступ к учетной записи пользователя. Для получения дополнительной информации о Социальном API, посмотрите Социальную Ссылку Платформы.

Хранение iCloud

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

Существует три типа хранения iCloud, которое может использовать в своих интересах Ваше приложение:

  • Хранение документов. Хранение документов для видимого пользователем основанного на файле содержания, такого как представления или документы, или для другого существенного основанного на файле содержания, такие как состояние сложной игры.

  • Хранение значения ключа. Хранение значения ключа для совместного использования мелких сумм данных — таких как предпочтения или закладки — среди экземпляров Вашего приложения.

  • Базовое Хранение данных. Базовые основанные на сервере поддержки Хранения данных, решения для базы данных мультиустройства для структурированного содержания. (Базовое Хранение данных основано на хранении документов.)

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

Для узнавания больше о добавлении хранения iCloud к приложению считайте Руководство по проектированию iCloud.

CloudKit

CloudKit предоставляет приложениям больше управления, когда и как данные хранятся в iCloud. В отличие от Хранения iCloud, CloudKit является бесплатным обслуживанием, работающим с Вашими приложениями существующие структуры данных. Записи CloudKit включают поддержку:

  • Сохранение, ища, и выбирающие данные для определенного для отдельного пользователя

  • Сохранение, ища, и выбирающие данные в общественном месте совместно используется всеми пользователями

CloudKit имеет минимальное кэширование и полагается на сетевое соединение. Для узнавания больше об использовании CloudKit посмотрите Ссылку Платформы CloudKit

Координация файла

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

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

Вы используете координацию файла только с файлами, которые пользователи очевидно могли бы совместно использовать с другими пользователями, не (например), с файлами, записанными в кэш или другие временные расположения. Координация файла является технологией включения для автоматического сохранения документа, Тестовой среды приложения и других функций, представленных в OS X v10.7. Для получения дополнительной информации о координации файла посмотрите Доступ к файлу Координирования С Другими Процессами в Руководстве по программированию Приложения Mac.

Пакеты и пакеты

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

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

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

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

Интернационализация и локализация

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

Интернационализация приложения включает следующие шаги:

  • Используйте строки Unicode для хранения пользовательского видимого текста.

  • Извлеките пользовательский видимый текст в «строковые» файлы ресурсов.

  • Используйте файлы пера для витрины и расположений органов управления, когда это возможно.

  • Используйте международные или нейтральные культурой значки и графику, когда это возможно.

  • Используйте Какао или Базовый текст для обработки текстового расположения.

  • Поддерживайте локализованные имена файловой системы (также известный как имена дисплея).

  • Используйте объекты средства форматирования в Базовой Основе и Какао для форматирования чисел, валют, дат, и времена на основе текущей локали.

Для получения дополнительной информации о том, как поддерживать локализованные версии Вашего программного обеспечения, посмотрите Руководство по Интернационализации и Локализации. Для получения информации о Базовых средствах форматирования Основы посмотрите Руководство по Форматированию данных для Базовой Основы.

Блочные объекты

Блочные объекты или блоки, являются механизмом C-уровня, который можно использовать для создания оперативного тела функции как встроенного выражения в коде. На других языках и средах, блок иногда вызывают закрытием или лямбдой. Вы используете блоки, когда необходимо создать допускающий повторное использование сегмент кода, но определение функции или метода могло бы быть тяжеловесом (и возможно негибкий) решение. Например, блоки являются хорошим способом реализовать обратные вызовы с пользовательскими данными или выполнить работу на всех элементах в наборе. Много технологий OS X — например, Гэйм Кит, Базовая Анимация, и много классов Какао — используют блоки для реализации обратных вызовов.

Компилятор предоставляет поддержку для блоков с помощью C, C++ и языков Objective C. Для получения дополнительной информации о том, как создать и использовать блоки, посмотрите, что Блоки Программируют Темы.

Центральная отгрузка

Grand Central Dispatch (GCD) обеспечивает простой и эффективный API для достижения параллельного выполнения кода в Вашем приложении. Вместо того, чтобы обеспечить потоки, GCD обеспечивает инфраструктуру для выполнения любой задачи в Вашем приложении асинхронно с помощью очереди отгрузки. Очереди отгрузки собирают Ваши задачи и работают с ядром для упрощения их выполнения на базовом потоке. Единственная очередь отгрузки может выполнить задачи последовательно или одновременно, и приложения могут иметь многократные очереди отгрузки, выполняющие задачи параллельно.

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

В дополнение к обеспечению очередей отгрузки GCD обеспечивает три других интерфейса отгрузки для поддержки асинхронного подхода к проектированию, предлагаемого очередями отгрузки:

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

  • Уведомления таймера

  • Сигнальная обработка

  • События связались с операциями сокета и файлом

  • Значительные связанные с процессом события

  • Связанные с Махом события

  • Пользовательские события, которые Вы определяете и инициировали

  • Асинхронный I/O через данные отгрузки и отгрузку I/O

Группы отгрузки позволяют одному потоку (или задача) блокировать, в то время как это ожидает одной или более других задач закончить выполняться.

Семафоры отгрузки обеспечивают более эффективную альтернативу традиционному семафорному механизму.

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

Добрый день

Добрый день реализация Apple архитектуры сетевых соединений нулевой конфигурации, мощной системы для публикации и обнаружения служб по сети IP. Это относится к обоим разработчикам программного и аппаратного обеспечения.

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

Разработчики основанных на сети устройств строго призваны поддерживать Добрый день. Добрый день улучшает потребность в сложных инструкциях установки для сетевых устройств, таких как принтеры, сканеры, серверы RAID и беспроводные маршрутизаторы. Когда включено, эти устройства автоматически публикуют услуги, которые они предлагают клиентам в сети.

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

Службы безопасности

Безопасность OS X создается на нескольких технологиях с открытым исходным кодом — включая BSD, и Kerberos — добавляет свои собственные опции к тем технологиям. Концепция безопасности (Security.framework) реализует уровень высокоуровневых служб для упрощения решений по обеспечению безопасности. Эти высокоуровневые службы обеспечивают удобную абстракцию и позволяют Apple и третьим лицам реализовать новые средства защиты, не повреждая Ваш код. Они также позволяют Apple объединить технологии безопасности уникальными способами.

OS X обеспечивает высокоуровневые интерфейсы для следующих функций:

  • Аутентификация пользователя

  • Сертификат, ключ и доверительные службы

  • Authorization Services

  • Безопасный транспорт

  • Keychain Services

  • Смарт-карты с платформой CryptoTokenKit

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

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

Карты

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

Адресная книга

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

Адресная книга дает пользовательский контроль их данными контактов, требуя, чтобы Ваше приложение получило разрешение, прежде чем это сможет получить доступ к базе данных Address Book. То, когда пользователи включили iCloud, Адресная книга сохраняет их данные, синхронизировалось через все их устройства при помощи протокола CardDAV. Чтобы изучить, как интегрировать Адресную книгу в Ваше приложение, см. Руководство по программированию Адресной книги для Mac.

Speech Technologies

OS X содержит речевые технологии, распознающие и говорящие на английском языке США.

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

Синтез речи, также названный синтезом речи по тексту (TTS), преобразовывает текст в слышимую речь. TTS обеспечивает способ поставить информацию пользователям, не вынуждая их сместить внимание от их текущей задачи. Например, компьютер мог передать сообщения, такие как “Ваша загрузка, завершено” и “У Вас есть электронная почта от Вашего босса; хотели бы Вы читать его теперь?” в фоновом режиме, в то время как Вы работаете. TTS крайне важен для пользователей с ограниченными возможностями внимания или видением. Как с распознаванием речи, TTS обеспечивает API и несколько функций пользовательского интерфейса, чтобы помочь Вам включить синтез речи в свои приложения. Можно также использовать синтез речи для замены файлов цифрового аудио разговорного текста. Устранение этих файлов может сократить полный размер Вашего программного пакета.

Для получения дополнительной информации посмотрите Ссылку класса Руководства по программированию и NSSpeechRecognizer Синтеза речи.

Identity Services

Identity Services охватывает функции, расположенные в платформах Collaboration and Core Services. Identity Services обеспечивает способ управлять группами пользователей в локальной системе. В дополнение к стандартным учетным записям административные пользователи могут теперь создать совместное использование учетных записей, использующих списки управления доступом (ACLs) для ограничения доступа к определяемым системным ресурсам или ресурсам приложений. Список управления доступом (ACL) предоставляет тонкозернистый доступ к объектам файловой системы. Совместно использующие учетные записи не имеют связанного корневого каталога в системе и имеют намного более ограниченные полномочия, чем традиционные учетные записи.

Для получения дополнительной информации о функциях Identity Services и как Вы используете те функции в своих приложениях, посмотрите Ссылочный Набор Identity Services Programming Guide and Identity Services.

Поддержка машины времени

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

Для получения информации об использовании Резервного Ядра API посмотрите Резервную Базовую Ссылку.

Keychain Services

Keychain Services обеспечивает безопасный способ сохранить пароли, ключи, сертификаты и другую уязвимую информацию, связанную с пользователем. Пользователи часто должны управлять многопользовательским IDs и паролями для доступа к различным учетным записям, серверам, безопасным веб-сайтам, службам мгновенных сообщений, и т.д. Цепочка для ключей является зашифрованным контейнером, содержащим пароли для многократных приложений и безопасных служб. Доступ к цепочке для ключей предоставлен через единственный основной пароль. Как только цепочка для ключей разблокирована, Цепочка для ключей, Осведомленные о службах приложения могут получить доступ к авторизованной информации, не беспокоя пользователя.

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

Парсинг XML

OS X включает несколько XML парсинг технологий. Большинство приложений должно использовать эти Фундаментальные классы: NSXMLParser для парсинга потоков XML и классов NSXML (например, NSXMLNode) для представления XML-документов внутренне как древовидные структуры. Базовая Основа также обеспечивает ряд функций для парсинга содержания XML.

Открытый исходный код libXML2 библиотека позволяет Вашему приложению анализировать или писать произвольные данные XML быстро. Заголовки для этой библиотеки расположены в /usr/include/libxml2 каталог.

Для получения информации о парсинге XML из приложения Какао см. Событийно-управляемое Руководство по программированию XML и Основанное на дереве Руководство по программированию XML.

База данных SQLite

Библиотека SQLite позволяет Вам встроить механизм базы данных SQL в свои приложения. Программы, соединяющиеся с библиотекой SQLite, могут получить доступ к базам данных SQL, не выполняя отдельный процесс RDBMS. Можно создать файлы локальной базы данных и управлять таблицами и записями в тех файлах. Библиотека разработана для использования общего назначения, но все еще оптимизирована для обеспечения быстрого доступа к записям базы данных.

Библиотека SQLite расположена в /usr/lib/libsqlite3.dylib, и sqlite3.h заголовочный файл находится в /usr/include. Интерфейс командной строки (sqlite3) также доступно для связи с базами данных SQLite с помощью сценариев. Для получения дополнительной информации о том, как использовать этот интерфейс командной строки, посмотрите sqlite3 страница справочника.

Для получения дополнительной информации об использовании SQLite перейдите к Домашней странице SQLite.

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

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

Распределенные уведомления

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

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

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

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

Базовые платформы службы

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

Базовая платформа зонтика служб

Платформа защиты Core Services (CoreServices.framework) включает следующие платформы:

  • Запустите услуги (LaunchServices.framework). Launch Services дает Вам программируемый путь к открытым приложениям, документам, URLs или файлам с данным типом MIME в пути, подобном Средству поиска или Прикреплению. Платформа Launch Services также обеспечивает интерфейсы для того, чтобы программно зарегистрировать типы документов Ваши поддержки приложений. Launch Services находится в платформе защиты Core Services. Для получения информации о том, как использовать Launch Services, см. Руководство по программированию Launch Services.

  • Метаданные (Metadata.framework). Платформа Метаданных помогает Вам создать плагины средства импорта Центра внимания. Это также обеспечивает запрос API, который можно использовать в приложении, чтобы искать файлы на основе значений метаданных и затем сортировать результаты на основе определенных критериев. (Платформа Основы предлагает интерфейс Objective-C запросу API.) Для получения дополнительной информации о средствах импорта Центра внимания, запрашивая Центр внимания и платформу Метаданных, см. Руководство по программированию Поиска Метаданных Руководства по программированию и Файла Средства импорта Центра внимания.

  • Поисковый набор (SearchKit.framework). Поисковый Набор позволяет Вам искать, суммировать и получить документы, записанные на наиболее естественных языках. Можно включить эти возможности в приложение для поддержки быстро поиска содержания, которым управляет приложение. Эта платформа является частью платформы защиты Core Services. Для получения дальнейшей информации о доступных функциях, посмотрите Ссылку SearchKit.

  • Ядро веб-сервисов (WebServicesCore.framework). Ядро Веб-сервисов предоставляет поддержку для вызова веб-сервисов с помощью CFNetwork. Доступные службы покрывают широкий диапазон информации и включают вещи, такие как списки фильма и финансовые данные. Ядро Веб-сервисов является частью платформы защиты Core Services. Для описания веб-сервисов и информации о том, как использовать платформу Ядра Веб-сервисов, см. Руководство по программированию Ядра Веб-сервисов.

  • Службы словаря (DictionaryServices.framework). Dictionary Services позволяет Вам создать пользовательские словари, к которым пользователи могут получить доступ через приложение Словаря. Через эти службы Ваше приложение может также получить доступ к словарям программно и может поддерживать пользовательский доступ к поиску по словарю через контекстное меню. Для получения дополнительной информации см. Руководство по программированию Dictionary Services.

Вы не должны соединяться непосредственно ни с одной из этих подплатформ; вместо этого соединитесь с (и импорт) CoreServices.framework.

Учетные записи

Платформа Учетных записей (Accounts.framework) обеспечивает модель единой точки входа для поддерживаемых типов учетных записей, таких как Twitter и Facebook. Единая точка входа улучшает пользовательский опыт, потому что это препятствует тому, чтобы Ваше приложение имело для запроса пользователя отдельно информацию о входе в систему, связанную с учетной записью. Это также упрощает модель разработки для Вас путем управления процессом авторизации учетной записи для приложения.

Адресная книга

Платформа Адресной книги (AddressBook.framework) использует централизованную базу данных для хранения контактов пользователя и других персональных данных. С разрешением пользователя Ваше приложение может использовать Адресную книгу, чтобы получить доступ к Exchange и контактам CardDAV и позволить пользователям отображать и редактировать контакты в стандартизированном пользовательском интерфейсе.

Поддержка платформы Адресной книги yearless даты и несколько служб мгновенных сообщений, в дополнение к созданию пользовательских плагинов. Для получения дополнительной информации об использовании Адресной книги APIs посмотрите или Ссылку Платформы Objective C Адресной книги для Mac или Адресную книгу C Ссылка Платформы для Mac.

Automator

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

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

Базовые данные

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

Базовые Данные обеспечивают следующие функции:

  • Хранение данных объектов в носителях в пределах от XML-файла к базе данных SQLite

  • Управление операциями отмены/восстановления вне основного редактирования текста

  • Поддержка проверки значений свойств

  • Поддержка распространения изменяется и гарантируя, чтобы отношения между объектами остались непротиворечивыми

  • Группировка, фильтруя, и организовывая данные в памяти и передавая те изменения в пользовательском интерфейсе посредством привязки Какао

Базовые Данные также включают инкрементное хранение, модель параллелизма работы и вложенные контексты управляемого объекта.

  • Используя инкрементные классы хранилища (NSIncrementalStore и NSIncrementalStoreNode), можно создать Базовые Хранилища данных, соединяющиеся с любым возможным источником данных.

  • Модель параллелизма работы API позволяет Вашему приложению совместно использовать несохраненные изменения между потоками через граф объектов эффективно.

  • Можно создать вложенные контексты управляемого объекта, в которой выборке и сохраняют операции, установлены родительским контекстом вместо координатора. Этот образец имеет много сценариев использования, включая выполнение фоновых работ на втором потоке или очереди и управлении отбрасываемыми редактированиями, такой как в окне инспектора или представлении.

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

Набор события

Набор события (EventKit.framework) обеспечивает интерфейс для доступа к календарным событиям пользователя и элементам напоминания. Можно использовать APIs в этой платформе, чтобы получить существующие события и добавить новые события к календарю пользователя. События, создающиеся с помощью Набора События, автоматически распространены к CalDAV или календарям Exchange на других устройствах, который позволяет приложению отображать актуальную информацию календаря, не требуя, чтобы пользователи открыли Календарное приложение. (Календарные события могут включать конфигурируемые предупреждения с правилами для того, когда они должны быть поставлены.)

Можно также использовать Набор События APIs, чтобы получить доступ к спискам напоминания, создать новые напоминания, добавить предупреждение к напоминанию, назначить дату оплаты и дату начала напоминания, и отметить напоминание как завершенное. Для узнавания больше о Наборе События APIs посмотрите Ссылку Платформы EventKit.

Основа и базовая основа

Основа и Базовые платформы Основы важны для большинства типов программного обеспечения, разработанного для OS X. Основными целями обеих платформ является то же:

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

  • Определите основные типы объектов, представляющие строки, числа, даты, данные, наборы, и т.д.

  • Интернационализация поддержки с технологией пакета и строками Unicode.

  • Персистентность объекта поддержки.

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

Различие между Основой (Foundation.framework) и базовая основа (CoreFoundation.framework) языковая среда, в которой они используются. Основа является платформой Objective C и предназначается, чтобы использоваться со всеми другими платформами Objective C, объявляющими методы, берущие типы Фундаментального класса в качестве параметров или с возвращаемыми значениями, которые являются типами Фундаментального класса. Вместе с AppKit и Базовыми платформами Данных, Основа считается базовой платформой для разработки приложений (см. Платформу Защиты Какао). Базовая Основа, с другой стороны, объявляет программируемые интерфейсы на базе С; это предназначается, чтобы использоваться с другими платформами на базе С, такими как Базовая Графика.

В ее реализации Основа основывается на Базовой Основе. И, несмотря на то, что это - базируемый C, проект Базовых интерфейсов Основы более объектно-ориентированы, чем C. В результате непрозрачные типы (часто называемый объектами) Вы создаете с Базовыми интерфейсами Основы, работают беспрепятственно с интерфейсами Основы. В частности большинство эквивалентных Фундаментальных классов и Базовой Основы непрозрачные типы бесплатные соединенный мостом; это означает, что можно преобразовать между типами объектов посредством простого преобразования типа.

Основа и Базовая Основа обеспечивают типы исходных данных и функции управления данными, включая следующее:

  • Наборы

  • Пакеты и плагины

  • Строки

  • Блоки необработанных данных

  • Даты и время

  • Предпочтения

  • Потоки

  • URLs

  • Данные XML

  • Информация о локали

  • Выполненные циклы

  • Порты и сокеты

  • Взаимодействие Центра уведомления

  • Межпроцессное взаимодействие между приложениями с помощью XPC

Для обзора Основы считайте введение в Ссылку Платформы Основы. Для обзора Базовой Основы считайте Базовые Концепции проекта Основы.

Беглый взгляд

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

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

Социальная платформа

Социальная платформа (Social.framework) помогает Вам интегрировать поддерживаемые службы социальной сети в свое приложение путем обеспечения шаблона для создания Запросов HTTP и обобщенного интерфейса для регистрации запросов от имени пользователя. Можно также использовать Социальную платформу для получения информации для интеграции учетных записей социальной сети пользователя в приложение.

Для узнавания больше о Социальном API посмотрите Социальную Ссылку Платформы.

Набор хранилища

Набор хранилища (StoreKit.framework) позволяет Вам запросить платеж от пользователя купить дополнительную функциональность приложения или содержание от App Store Mac.

Набор хранилища обрабатывает финансовые аспекты транзакции, обрабатывая платежное требование через учетную запись iTunes Store пользователя. Набор хранилища тогда предоставляет Вашему приложению информацию о закупке. Ваше приложение обрабатывает другие аспекты транзакции, включая представление покупательного интерфейса и загрузку (или разблокирование) надлежащего содержания. Это разделение труда дает Вам контроль над пользовательским опытом. Вы также выбираете механизм поставки, работающий лучше всего на Ваше приложение.

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

WebKit

Платформа WebKit (WebKit.framework) позволяет Вашему приложению вывести на экран содержимое HTML. Это имеет две подплатформы: веб-Ядро и Ядро JavaScript. Веб-Ядро для парсинга и отображения содержимого HTML; Ядро JavaScript для парсинга и выполнения кода JavaScript.

WebKit также позволяет Вам создать текстовые представления, содержащие доступный для редактирования HTML. С этой основной поддержкой редактирования пользователи могут заменить текст и управлять текстом документа и атрибутами, включая свойства CSS. WebKit также поддерживает создание и редактирование содержания на уровне DOM документа HTML. Например, Вы могли извлечь список ссылок на странице, изменить их и заменить их до отображения документа в веб-представлении.

Для получения информации о том, как использовать WebKit, см. Руководство по программированию Objective C WebKit.

Другие платформы в базовом уровне служб

Уровень Core Services OS X также включает следующие платформы:

  • Сотрудничество (Collaboration.framework). Платформа Сотрудничества обеспечивает ряд классов Objective C для отображения совместного использования сведений об аккаунте и других связанных с идентификационными данными пользовательских интерфейсов. С этим API приложения могут вывести на экран информацию о пользователях и группах и вывести на экран панель для выбора пользователей и групп во время редактирования списков управления доступом. Для соответствующей информации посмотрите Identity Services.

  • Набор метода ввода (InputMethodKit.framework). Набор Метода ввода помогает Вам создать методы ввода для китайского языка, японского языка и других языков. Платформа обрабатывает задачи, такие как соединение с окнами баллотирующегося кандидата и клиентами. Для узнавания больше посмотрите Ссылку Платформы InputMethodKit.

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