OS X Lion v10.7

Эта статья суммирует изменения ключевой технологии и улучшения, которые являются доступным началом с OS X Lion v10.7. Информация об этих изменениях организована в разделы технологической областью:

Для полного, подробного списка изменений API считайте OS X v10.7 API Diffs.

Файл любые отчеты об ошибках об этом семени или этой документации, использующей http://bugreport .apple.com/.

Основные функции

Следующие разделы выделяют функции, охватывающие многократные технологические области или которые имеют иначе особое значение в OS X v10.7.

Хранение iCloud APIs

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

../Art/syncing_intro.jpg../Art/syncing_intro.jpg

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

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

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

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

Автоматический подсчет ссылок

Automatic Reference Counting (ARC) является функцией уровня компилятора, упрощающей процесс управления временами жизни объектов Objective C. Вместо Вас имеющий необходимость помнить, когда сохранить или выпустить объект, ARC оценивает пожизненные требования Ваших объектов и автоматически вставляет надлежащие вызовы метода во время компиляции.

../Art/ARC_design_final.gif

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

Резюме

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

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

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

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

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

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

Объекты, используемые в Автоматическом Расположении, являются объектами Objective C, названными ограничениями. Этот подход дает Вам много преимуществ:

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

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

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

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

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

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

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

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

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

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

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

Легкая сдоба

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

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

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

Тестовая среда приложения

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

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

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

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

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

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

Функции уровня платформы

Следующие разделы выделяют изменения в платформах и технологиях в OS X v10.7.

Основа AV

Представленный в OS X v10.7, платформа Основы AV (AVFoundation.framework) предоставляет услуги для получения, игры, проверки, редактирования и перекодирования основанных на времени аудиовизуальных носителей. Платформа включает много классов Objective C с базовым классом быть AVAsset; этот класс представляет универсальный и инспекционный интерфейс модели для всех форм и источников аудиовизуальных носителей.

Для большинства требований аудиозаписи и воспроизведения можно использовать AVAudioPlayer и AVAudioRecorder классы.

Основой AV является рекомендуемый API для всей новой разработки, включающей основанные на времени аудиовизуальные носители. Основа AV также рекомендуется для переходящих существующих приложений, основывавшихся на QuickTime или QTKit.

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

AppKit

Наборы шрифта

Запускаясь в OS X v10.7, NSFontCollection класс обеспечивает всю функциональность, предоставленную CTFontCollectionRef непрозрачный тип, плюс несколько высокоуровневых функций для поддержки пользовательских интерфейсов шрифта. Два APIs бесплатный соединенный мостом.

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

Перетаскивание мультиизображения

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

Когда многократные элементы перетаскиваются, они «скапливаются» вместе. Исходные и целевые приложения могут каждый влиять на появление значков в надлежащих точках во время перетаскивания.

Для получения дополнительной информации см. Информацию о версии AppKit для OS X v10.10, NSDraggingSession, NSDraggingItem, и NSDraggingImageComponent классы, и NSDraggingSource и NSDraggingDestination формальные протоколы.

Наложите полосы прокрутки

OS X v10.7 представляет полосы прокрутки наложения, подобные тем в iOS. Если пользователь не переопределяет появление полосы прокрутки с помощью Установок системы, следующее поведение происходит:

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

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

  • Если у пользователя нет внешних присоединенных манипуляторов, настройки сенсорной панели управляют поведением полосы прокрутки; если пользователь отключил прокрутку для сенсорной панели в Установках системы, устаревшие полосы прокрутки используются.

Кроме того, полосы прокрутки больше не содержат стрелки прокрутки (в режиме наложения или в устаревшем режиме).

Поскольку эти изменения могут влиять на Ваше расположение приложения, необходимо протестировать приложения и со стандартом и с прокруткой манипуляторов.

Для получения дополнительной информации см. Информацию о версии AppKit для OS X v10.10.

Прокрутка поведения

Представления прокрутки в OS X v10.7 позволяют разработчикам дополнительное управление прокруткой поведения относительно Волшебного устройства Мыши и сенсорных панелей. В частности новые методы позволяют разработчику управлять простирающимся поведением NSScrollView объекты (автоматический или включения - выключения в горизонтальных и вертикальных осях) и обеспечивают, содержание подсказывает для предотвращения неумышленных смещений прокрутки.

Кроме того, новый NSEvent события были добавлены для поддержки импульса мыши в представлениях прокрутки.

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

Текстовое автоисправление

OS X v10.7 обеспечивает, развернул UI для текстового автоисправления, подобного функциональности в iOS, с возможностью для пользователя принять или отклонить предложенное исправление. Как в iOS, программа проверки правописания извлекает уроки из ответов пользователя, такой как, было ли исправление явно отклонено, неявно принято, принято сначала и затем пересмотрено и т.д.

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

Основанные на представлении таблицы и основы

NSTableView и NSOutlineView в OS X v10.7 теперь поддерживают использование NSView объекты вместо NSCell объекты для содержания. Это расширение позволяет приложениям легко обеспечивать намного более богатый интерфейс для содержания ячеек в табличном представлении.

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

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

Поддержка окна

Safari, XCode и другая поддержка приложений находка в окне. В OS X v10.7, эта функциональность была расширена, чтобы позволить ему использоваться в представлениях кроме NSTextView.

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

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

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

OS X v10.7 добавляет следующие улучшения:

  • Базовые Данные формализуют модель параллелизма для контекстов управляемого объекта путем использования в своих интересах Центральной Отгрузки. При создании контекста Вы указываете опцию ассоциации очереди отгрузки, которую он должен принять: ограничение, частная очередь или основная очередь. Контексты должны всегда использовать образец ограничения, как они имеют до OS X v10.7. (Другими словами, Вы не должны использовать контекст ни на каком потоке кроме того, на котором Вы создали его.), Когда отправка сообщений к контексту связалась с различной очередью (или поток), необходимо диспетчеризировать блок с помощью нового performBlock: или performBlockAndWait: метод.

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

    • Выполнение фоновых работ на втором потоке или очереди

    • Управляя отбрасываемыми редактированиями, такой как в окне инспектора или представлении

  • Управляемые объекты поддерживают две существенно новых функции: упорядоченные отношения и внешнее хранение для значений атрибута. Если Вы указываете, что значение атрибута управляемого объекта может быть сохранено как внешняя запись, Базовые Данные эвристическим образом выбирают на стоимостный базис, должно ли это сохранить данные непосредственно в базе данных или сохранить URI к отдельному файлу, которым это управляет для Вас.

  • Существует два новых класса, NSIncrementalStore и NSIncrementalStoreNode, то, что можно использовать для реализации поддержки неатомарных персистентных хранилищ. Хранилище не должно быть реляционной базой данных — например, Вы могли использовать веб-сервис в качестве бэкэнда.

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

Основа

Индексируйте перечисление диапазона набора

OS X v10.7 добавляет поддержку перечисления диапазонов в индексном наборе.

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

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

Сериализация JSON

В OS X 10.7, платформа Основы добавляет новый класс, NSJSONSerialization, поддерживать преобразование данных JSON (http://www .json.org/) в типы Основы и наоборот.

Для получения дополнительной информации посмотрите NSJSONSerialization и ссылка платформы основы.

Лингвистическое тегирование

OS X v10.7 представляет лингвистический класс тегирования, NSLinguisticTagger, это позволяет Вам разбить предложение на его грамматические компоненты, позволяя определение существительных, глаголов, наречий, и т.д. Это тегирование работает полностью на английский язык. API обеспечивает метод для обнаружения, какие возможности в настоящее время доступны на других языках также.

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

NSFileWrapper теперь в основе

В OS X v10.7, NSFileWrapper класс находится в платформе Основы вместо платформы AppKit.

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

Поддержка упорядоченных наборов

OS X v10.7 теперь предоставляет поддержку для упорядоченных наборов. NSOrderedSet объект содержит каждый элемент самое большее один раз, и к элементам может получить доступ компактное целочисленное индексное пространство, пронумерованное 0 .. (N-1). Это таким образом сочетает две из самых существенных функций NSSet и NSArray классы.

NSOrderedSet класс так же занимает много от обоих NSArray и NSSet (и непостоянные подклассы каждого), но это ближе к NSArray чем NSSet.

Основной клиент для NSOrderedSet Базовые Данные.

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

Регулярные выражения

OS X v10.7 добавляет совместимый с Unicode класс регулярных выражений, NSRegularExpression, вместе со связанными детекторами данных. Этот класс используется, чтобы представлять и применить регулярные выражения к строкам Unicode. Экземпляр этого класса является неизменным представлением скомпилированного образца регулярного выражения и различных флагов опции. Синтаксис образца, в настоящее время поддерживаемый, то, что указан Международными Компонентами для Unicode (ICU).

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

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

XML потоковая передача синтаксического анализатора

До OS X v.10.7, NSXMLParser всегда читайте весь XML-документ в память. Начинаясь в OS X v10.7, класс позволяет Вам передавать данные потоком в память как требуется.

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

OpenGL 3.2

OS X v10.7 теперь обеспечивает OpenGL 3.2 на аппаратных средствах, способных к поддержке его набора функций. Считайте Руководство по программированию OpenGL для Mac для приобретения знаний о выборе профиля Ядра OpenGL 3.2.

Миниатюры беглого взгляда

Начинаясь в OS X v10.7, Беглый взгляд обеспечивает простой синхронный открытый метод создать миниатюру Беглого взгляда или значок для файла.

Беглый взгляд также теперь обеспечивает общедоступный API для панели Quick Look Preview, позволяя разработчику вывести на экран панель.

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

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

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

BSD и функции ядра

Следующие разделы выделяют изменения в частях UNIX/POSIX OS X, включая функциональность командной строки и libSystem. Они также выделяют изменения в ядре, драйверах устройств и расширениях ядра.

64-разрядная поддержка ядра

Список компьютеров, загружающих K64 по умолчанию, рос для включения следующих аппаратных средств:

  • Мини-Mac (в начале 2009 и позже)

  • MacBook (Алюминий; в конце 2008 и позже)

  • MacBook Air (в конце 2008 и позже)

  • MacBook Pro (середина 2007 и позже)

  • iMac (середина 2007 и позже)

  • XServe (в начале 2008 и позже)

Полномочия папки и владение

Много папок в доменах Системы и Локальной файловой системы теперь имеют различное владение и полномочия. В частности:

  • Много папок в домене System, ранее принадлежавших admin группа теперь принадлежит wheel группа.

  • Полномочия для корневого каталога (/) теперь режим 755 (перезаписываемый только корнем) вместо режима 775 (перезаписываемый администраторской группой).

  • Полномочия для /Applications/Utilities теперь режим 755 (перезаписываемый только корнем) вместо режима 775 (перезаписываемый администраторской группой).

  • Полномочия для /Library теперь режим 755 (перезаписываемый только корнем) вместо режима 775 (перезаписываемый администраторской группой) и больше не является липким.

    Все подкаталоги в /Library теперь имейте режим 755 (перезаписываемый только корнем) полномочия вместо режима 775 (перезаписываемый администраторской группой) кроме:

    • /Library/Caches

    • /Library/Fonts

    • /Library/Java

    • /Library/QuickTimeStreaming

    • /Library/Receipts

    • /Library/Tomcat

    Упомянутые выше подкаталоги имеют те же полномочия как в предыдущих версиях OS X (обычно режим 775, иногда с липким набором битов).

  • Полномочия для /Network/Applications и /Network/Library теперь режим 555 (неперезаписываемый даже корнем) вместо режима 755 (перезаписываемый только корнем).

  • Полномочия для /var/log/DiagnosticMessages немного более слабы, с режимом 770 (перезаписываемый администраторской группой, нечитабельной неадминистраторскими пользователями) вместо режима 750 (перезаписываемый только корнем, нечитабельным неадминистраторскими пользователями).

FileVault

В OS X v10.7, FileVault предоставляет встроенную поддержку для зашифрованных корневых объемов. При включении шифрования корневой объем системы шифруется в фоновом режиме, и можно продолжать использовать систему обычно. Как только шифрование включено на перезагрузке или следе от сна, необходимо войти в систему, прежде чем можно будет получить доступ к любым данным по диску.

Несмотря на то, что эта функция ограничила влияние разработчика (нет никакого общедоступного API для базовой системы хранения), существует две вещи заметить:

  • Предположения, что “начальная загрузка = корень”, намного более вероятно, будут неправильными. (Необходимо позволять OS X обрабатывать кэши KEXT, так в целом, это изменение не должно вызывать проблемы.)

  • Если у Вас есть особенно экзотический штабель драйвера, UI OS X может запретить шифрование включения. Например, если не возможно отобразить относительный объемом номер блока на физический номер блока.

Разработчики IT должны также знать, что отключен FileVault UI.

В целом, если бы Ваш драйвер работал правильно с AppleRAID в предыдущих версиях OS X, то это должно также работать правильно с Базовым Хранением.

Интеграция Набора-launchd I/O

Начиная в OS X v10.7, можно использовать launchd автоматически запустить приложение каждый раз, когда определенное устройство обнаруживается Набором I/O.

Для использования этой функции добавьте файл списка свойств к /Library/LaunchAgents папка. Список свойств имеет стандартную структуру a launchd файл списка свойств (см. launchd.plist), с одним дополнительным элементом: словарь соответствия Набора I/O.

../Art/matchingpluginplist.png

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

Набор I/O, соответствующий плагин, наблюдает за IOService объекты, соответствующие любой из словарей устройства, Вы обеспечиваете и запускаете свое приложение, когда по крайней мере один обнаруживается. Когда существует по крайней мере одно соответствие, если завершается Ваше приложение IOService объект, Набор I/O, соответствующий плагин, повторно запускает его автоматически.

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

Если Ваше приложение уже работает, когда соответствующее устройство присоединяется, никакие меры не приняты.

Видеосъемка в ядре

OS X v10.7 обеспечивает новый интерфейс программирования уровня ядра для записи драйверов устройств видеосъемки, Видео I/O, предназначающегося для замены средства захвата последовательности QuickTime API в качестве основных средних значений получения видео в OS X.

Видео I/O состоит из (1) IOVideoDevice класс на стороне ядра (вместе с различными связанными незначительными классами), который Ваш фактический драйвер должен разделить на подклассы и (2) интерфейс устройства пространства пользователя для связи с драйвером.

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

Функции приложения

Следующие разделы выделяют изменения в поведении встроенных приложений, такие как Средство поиска и Safari.

Safari

Новая архитектура процессов

Начинаясь в OS X v10.7, Safari включает новую архитектуру процессов, разделяющую ее процесс рендеринга от ее процесса приложения. В результате Safari является более быстро реагирующим, стабильным, и безопасным.

Сменная поддержка в Safari

В Safari на OS X v10.7, все плагины браузера, выполненные в их собственном процессе, улучшая устойчивость браузера и безопасность. Плагины netscape продолжают работать в Safari без модификации. Однако Safari не поддерживает плагины WebKit. Плагин WebKit API не совместим с этой новой архитектурой процессов и осуждается. Сменные разработчики, в настоящее время использующие плагин WebKit, API должен принять плагин Netscape API, чтобы быть совместимым с Safari на OS X v10.7. Можно счесть документацию в Плагине WebKit Программированием Тем.

Полный экран API

Платформа WebKit Element и Document классы теперь обеспечивают методы, чтобы включить полноэкранный режим для веб-контента и управлять поведением клавиатуры в то время как в полноэкранном режиме.

Средство поиска

В OS X теперь скрыты v10.7, следующие файлы и папки:

  • /lost+found

  • $HOME/Library

Сервер OS X

Следующие разделы выделяют изменения в Сервере OS X.

Замена сервера базы данных

Начинаясь в OS X v10.7, Сервер OS X поставляет с PostgreSQL как его сервер базы данных вместо MySQL. Если Вы используете другое программное обеспечение, требующее MySQL, необходимо установить его сами.

Можно найти загрузки и инструкции по установке для MySQL на сайте Выпуска Сообщества MySQL, http://www .mysql.com/downloads/mysql/.

В дополнение к направлениям, соединенным с вышеупомянутым, необходимо вручную реконфигурировать PHP при использовании его для работы с базами данных MySQL. Предыдущие версии PHP получили свои значения по умолчанию для mysql.default_port и mysql.default_socket от mysql-config инструмент командной строки. Поскольку этот инструмент больше не доступен, необходимо явно определить эти значения в /etc/php.ini.

Порт по умолчанию для MySQL традиционно 3306, и традиционный сокет на OS X был /var/mysql/mysql.sock. Для получения дополнительной информации о доступных директивах, посмотрите http://us3 .php.net/manual/en/mysql.configuration.php.

Управление профилем

OS X теперь поддерживает профили конфигурации, подобные тем на основанных на iOS устройствах. Как часть этой функциональности, Сервер OS X обеспечивает полный сервер управления мобильными устройствами (MDM). Эта служба конфигурации предоставляет Вам возможность администрировать и клиенты OS X и клиенты iOS.

Для включения сервера MDM запустите Центр Сервера и включите службу Device Config. Тогда управляйте устройствами с помощью веб-интерфейса конфигурации устройства. Нет никакой потребности использовать Утилиту Конфигурации iPhone при работе с этой службой.

Несмотря на то, что профили конфигурации iOS главным образом совместимы с клиентами OS X, существуют некоторые незначительные различия. В частности учетные записи Exchange ведут себя по-другому, потому что iOS использует ActiveSync, тогда как OS X использует Веб-сервисы Exchange. Кроме того, следующие функции в настоящее время не поддерживаются в OS X:

  • Определенные расширенные параметры сети, такие как GPRS

  • Политики кода доступа

  • Календарные подписки (iCal)

  • Команда Clear Passcode

  • Найдите мой Mac

Как с управлением мобильными устройствами iOS, все управляемые компьютеры должны быть в состоянии достигнуть серверов Уведомления Нажатия Apple для получения уведомлений нажатия.