Пума OS X v10.8
Эта статья суммирует изменения ключевой технологии и улучшения, доступные в OS X v10.8. Информация об этих изменениях организована в разделы технологической областью.
Основные функции описывают важные функции то влияние разработчики.
Функции уровня платформы описывают изменения в системных платформах.
Функции приложения описывают изменения во встроенных приложениях.
Функции BSD и Ядра описывают изменения в частях UNIX/POSIX OS X.
Для подробного списка изменений API посмотрите OS X v10.8 API Diffs.
Файл любые отчеты об ошибках об этом выпуске или этой документации в http://bugreport .apple.com/.
Основные функции
Следующие разделы выделяют функции OS X v10.8, охватывающие многократные технологические области или которые имеют иначе особое значение для большинства разработчиков.
Игровой центр
Игровой Центр на OS X v10.8 получает доступ к той же социально играющей сети как на iOS, позволяя пользователям отследить очки в списке лидеров, сравнить их достижения в игре, пригласить друзей играть в игру и запускать многопользовательскую игру посредством автоматического соответствия. Игровая функциональность Центра предоставлена в двух частях:
Игровое приложение Центра, в котором пользователи регистрируются в свою учетную запись, обнаруживает новые игры и новых друзей, добавьте друзей для их играющей сети и просмотрите списки лидеров и достижения.
Платформа Гэйма Кита, содержащая разработчиков APIs, использует, чтобы поддерживать живые многопользовательские или основанные на повороте игры и принять другие функции Game Center, такие как голосовой чат в игре и доступ списка лидеров.
Apple поддерживает Игровой Центр со службой Center онлайн игры, выполняющей аутентификацию проигрывателя, обеспечивающей список лидеров и информацию о достижении, и обрабатывающей приглашения и автосоответствие для многопользовательских игр. Вы взаимодействуете со службой Game Center только косвенно, с помощью Игрового Набора APIs.
В Вашей игре используйте Гэйма Кита APIs, чтобы отправить очки и достижения к службе Game Center и вывести на экран списки лидеров в Вашем пользовательском интерфейсе. Можно также использовать Гэйма Кита APIs, чтобы помочь пользователям найти, что другие играют с в многопользовательской игре.
Для узнавания больше о добавляющей Игровой поддержке Центра приложению см. Игровое Руководство по программированию Центра.
Улучшения iCloud
OS X v10.8 представляет Библиотеку Документа iCloud, дающую пользователям простой способ получить доступ к специфичным для приложения документам, которые они хранили в iCloud. Когда пользователи запускают приложение, участвующее в хранении iCloud, Библиотека Документа iCloud появляется и позволяет им открывать, совместно использовать, копировать, и организовывать свои документы.
Если Ваше приложение NSDocument
основанный, можно использовать в своих интересах следующие вещи:
Представление Document Library iCloud в окне Open
Надлежащие пункты меню добавили к меню File Вашего приложения и к меню Versions документа
Диалоговое окно, помогающее пользователям разрешить конфликты (когда они открывают документ, что они изменили использование другого устройства),
Для узнавания больше об интеграции iCloud в приложение см. Руководство по проектированию iCloud.
Центр уведомления
Центр уведомления обеспечивает способ для пользователей получить и просмотреть уведомления приложения привлекательным, незаметным способом. Для каждого приложения пользователи могут указать, как они хотят быть уведомленными относительно поступления элемента; они могут также показать Центр Уведомления для просмотра всех поставленных элементов.
Когда Вы используете NSUserNotification
и NSUserNotificationCenter
APIs представил в OS X v10.8, можно сконфигурировать видимые пользователем части элемента уведомления, элементов расписания для поставки, и узнать, когда были поставлены элементы. Можно также определить, запустилось ли приложение в результате уведомления и, если оно имеет, произошло ли то уведомление локально или удаленно.
Для узнавания больше об интеграции Центра Уведомления в приложение посмотрите Ссылку класса Ссылки класса и NSUserNotificationCenter NSUserNotification.
Совместное использование службы
Служба совместного использования, представленная в OS X v10.8, обеспечивает непротиворечивый пользовательский опыт для совместного использования содержания среди многих типов служб. Например, пользователь мог бы хотеть обменяться фотографией путем присоединения его к электронной почте или сообщению Twitter, или отправки его другому пользователю Mac через AirDrop.
Новый AppKit NSSharingService
API позволяет Вам получать информацию о доступных службах и элементах доли с ними непосредственно. В результате можно вывести на экран пользовательский UI для представления служб. Можно также использовать NSSharingServicePicker
API для отображения списка совместного использования служб (включая службы поддержки, которые Вы определяете), из которого может выбрать пользователь. Когда служба выполняется, предоставленное системой совместное использование окна выведено на экран. Там пользователь может прокомментировать или добавить получателей. Для узнавания больше о службе APIs совместного использования посмотрите Ссылку класса Ссылки класса и NSSharingServicePicker NSSharingService.
Чтобы позволить Вашему пользовательскому почтовому приложению участвовать в совместном использовании служб, добавьте MailSharingSupported
ключ к Вашему Info.plist
файл и регистр пользовательский обработчик событий, указывая mail
класс событий и shim
идентификатор события. Затем в Вашей реализации обработчика событий используйте shud
ключевое слово для получения данных дескриптора события.
Привратник
В OS X v10.8 пользователи может включить Привратника, позволяющего им блокировать установку программного обеспечения, не прибывающего из App Store Mac и идентифицированных разработчиков. Если Ваше приложение не будет подписано с Разработчиком сертификат ID, выпущенный Apple, то это не запустится в системах, которым выбрали этот параметр безопасности. Если Вы планируете распределить свое приложение за пределами App Store Mac, несомненно, протестируют установку Вашего приложения в Поддерживающей привратника системе так, чтобы можно было обеспечить хороший пользовательский опыт.
XCode поддерживает большинство задач, которые необходимо выполнить для получения Разработчика сертификат ID и элемент кода приложение. Изучить, как представить Ваше приложение App Store Mac — или установка тестового приложения в Поддерживающей привратника системе — Руководство по Потоку операций Инструментов чтения для Mac.
Улучшения Objective C
OS X v10.8 включает следующие улучшения в Objective C:
Синтез по умолчанию методов доступа для заявленных свойств
Литералы объектов для
NSArray
,NSDictionary
, иNSNumber
Никакая потребность в предописаниях для методов, использующихся только в
@implementation
блокиОптимизированное объектное преобразование в нижний индекс
Безопасные с точки зрения типов перечисления
64-разрядная Совместимость
OS X v10.8 требует Mac, использующего 64-разрядное ядро. Кроме того, OS X v10.8 не поддерживает 32-разрядные расширения ядра (KEXTs). И 32-разрядные и 64-разрядные приложения могут работать в OS X v10.8.
Функции уровня платформы
Следующие разделы выделяют изменения в платформах и технологиях в OS X v10.8.
Новые платформы
Следующие платформы были добавлены в OS X v10.8:
Учетные записи (
Accounts.framework
). Эта платформа обеспечивает модель единой точки входа для поддерживаемых типов учетных записей. Единая точка входа улучшает пользовательский опыт, потому что приложения больше не должны предлагать пользователю отдельно информацию о входе в систему, связанную с учетной записью. Это также упрощает модель разработки для Вас путем управления процессом авторизации учетной записи для приложения. Для узнавания больше об Учетных записях API см. Ссылку класса ACAccount.Аудио образование моста видео (
AudioVideoBridging.framework
). Этот поддержка платформы Audio Video Bridging (AVB) и реализации проект стандарта IEEE P1722.1. AVB улучшает качество обслуживания и обеспечивает гарантируемую задержку и пропускную способность для мультимедийных потоков по сети AVB. Аудио Видео, Соединяющее API мостом, предоставляет Вам доступ к протоколам обнаружения Объекта и управляющим протоколам IEEE P1722.1 по сети Ethernet.Набор события (
EventKit.framework
). Платформа Набора События обеспечивает интерфейс для доступа к календарным событиям пользователя и элементам напоминания. Можно использовать APIs в этой платформе, чтобы получить существующие события и добавить новые события к календарю пользователя. События, создающиеся с помощью Набора События APIs, автоматически распространены к CalDAV или календарям Exchange на других устройствах, который позволяет приложению отображать актуальную информацию календаря, не требуя, чтобы пользователи открыли Календарное приложение. (Календарные события могут включать конфигурируемые предупреждения с правилами для того, когда они должны быть поставлены.)Можно также использовать Набор События APIs, чтобы получить доступ к спискам напоминания, создать новые напоминания, добавить предупреждение к напоминанию, назначить дату оплаты и дату начала напоминания, и отметить напоминание как завершенное. Для узнавания больше о Наборе События APIs посмотрите Ссылку Платформы EventKit.
Игровой набор (
GameKit.framework
). Как описано в Центре Гэйма, платформа Гэйма Кита обеспечивает APIs, позволяющий Вашему приложению участвовать в Центре Гэйма. Можно использовать Гэйма Кита APIs, чтобы вывести на экран списки лидеров в игре и дать пользователям возможность совместно использовать их достижения в игре и играть в многопользовательские игры. Для узнавания больше об использовании Гэйма Кита APIs в приложении посмотрите Ссылку Платформы GameKit.GLKit (
GLKit.framework
). Платформа GLKit предоставляет библиотекам обычно необходимых функций и классов, которые могут помочь сократить усилие, требуемое создать приложение OpenGL. Кроме того, платформа GLKit включает APIs, выполняющий несколько оптимизированных математических операций, сокращающий усилие в загружающихся данных текстуры и обеспечивающий стандартные реализации обычно необходимых эффектов программы построения теней. Для узнавания больше об использовании GLKit APIs в приложении см. Ссылку Платформы GLKit.Набор сцены (
SceneKit.framework
). Платформа Набора Сцены обеспечивает высокий уровень, Objective C API, который можно использовать для эффективно загрузки, управлять и представить 3D сцены в приложении. Набор сцены позволяет Вам импортировать файлы Exchange Цифрового актива (.dae
файлы), которые создаются популярными приложениями довольного создания и предоставляют Вам доступ к объектам, световым сигналам, камерам и данным геометрии, определяющим 3D сцену. Используя подход на основе графиков сцены, Набор Сцены делает простым изменить, анимировать, и представить Ваши 3D сцены. Для получения дополнительной информации об использовании Набора Сцены APIs в Вашем приложении см. Руководство по программированию Набора Сцены.Социальный (
Social.framework
). Социальная платформа обеспечивает API для отправления запросов к поддерживаемым службам социальной сети, которые могут выполнить операции от имени Ваших пользователей. Можно также использовать Социальную платформу для получения информации для интеграции учетных записей социальной сети пользователя в приложение. Для узнавания больше об использовании Социальной платформы в приложении посмотрите Социальную Ссылку Платформы.Видео панель инструментов (
VideoToolbox.framework
). Видео платформа Панели инструментов включает 64-разрядную замену для Программы управления сжатием изображений QuickTime. Видео Панель инструментов APIs предоставляет услуги для сжатия видео и распаковки, и для преобразования между форматами растрового изображения, сохраненными в Базовых Видео пиксельных буферах.
AppKit
Следующие разделы выделяют изменения и улучшения в платформе AppKit. Для получения дальнейшей информации об изменениях в интерфейсах программирования AppKit, см. Информацию о версии AppKit для OS X v10.10.
Поддержанные уровнем представления
Платформа AppKit представляет новый NSView
APIs, улучшающий реализацию и производительность поддержанных уровнем представлений. При использовании поддержанных уровнем представлений в приложении Базовая Анимация может выполнить анимации представления асинхронно, которые могут привести к лучше, более гладкие анимации. Для получения преимуществ от улучшений до поддержанных уровнем представлений в OS X v10.8 установите layerContentsRedrawPolicy
свойство на Ваших пользовательских представлениях к NSViewLayerContentsRedrawOnSetNeedsDisplay
. Если Вы делаете какое-либо пользовательское получение, осуществляете рефакторинг его для использования подпредставлений как можно больше (можно добавить подпредставления к представлению во время проектирования, или можно позволить подпредставлениям быть добавленными лениво в layout
метод).
Кроме того, можно использовать другое новое NSView
APIs для обновления уровня представления декларативно. Например, можно возвратиться YES
в wantsUpdateLayer
и затем реализация updateLayer
установить свойства уровня. Как правило, Вы устанавливаете содержание уровня в NSImage
объект и набор contentsCenter
свойство для указания надлежащего способа расширить изображение. Или можно установить простые свойства слоя, такой как backgroundColor
и borderColor
. Узнать больше о новом NSView
APIs, см. Ссылку класса NSView.
Поскольку расположенный на слое объект часто работает с CGColorRef
объекты, Вы, возможно, должны были бы преобразовать между NSColor
объект и a CGColorRef
возражайте часто. Помочь Вам легко выполнить эти преобразования, NSColor
класс обеспечивает новое CGColor
и colorWithCGColor:
методы. Узнать больше новый NSColor
методы, см. Ссылку класса NSColor.
В OS X v10.8, улучшен текстовый рендеринг в прозрачных уровнях. Например, NSTextField
— в дополнение к другим средствам управления AppKit UI — может должным образом представить текст со сглаживанием шрифта на прозрачном фоне уровня. Одновременно, AppKit явно отключает сглаживание шрифта в пользовательски представленных прозрачных уровнях, чтобы избежать рисовать артефакты.
Жесты
Новый AppKit APIs упрощает для Вас принимать современные жесты в Вашем приложении и обеспечивать лучший опыт изменения масштаба, не перерисовывая Ваше содержание. Например, NSScrollView
теперь имеет встроенную поддержку умного жеста изменения масштаба (т.е. двойное касание с двумя пальцами на сенсорной панели). Когда Вы обеспечиваете семантическое расположение своего содержания, NSScrollView
может разумно увеличить содержание под указателем. Кроме того, можно использовать этот новый API для ответа на жест поиска (т.е. касание с тремя пальцами на сенсорной панели). Узнать больше о новом NSScrollView
APIs, посмотрите Ссылку класса NSScrollView.
Основанный на странице UI
Новое NSPageController
класс, какие средства управления сильно ударяют навигация между представлениями или содержанием представления, помогает Вам реализовать многостраничную книгу или пользовательский опыт истории просмотра в Вашем приложении. Можно использовать NSPageController
и его делегат для управления навигацией через предопределенный набор довольных представления (такие как страницы в книге) или история довольных снимки, который изменяется, когда пользователь посещает различные взгляды. Изучить, как использовать NSPageController
, посмотрите Ссылку класса NSPageController.
Текстовые альтернативы
Новое NSTextAlternatives
когда пользователь выбирает альтернативу, класс хранит список альтернатив для определенной части текста и может уведомить Ваше приложение. Для поддержки предписания, например, Вы могли бы использовать NSTextAlternatives
представить список альтернативных интерпретаций для слова или формулировать пользователя говорят. Если пользователь принимает решение заменить начальную интерпретацию альтернативой, NSTextAlternatives
уведомляет Вас относительно выбора так, чтобы можно было обновить текст соответственно.
Автоматическое расположение
Улучшения к различным классам AppKit улучшают свою поддержку Автоматического Расположения. Например, можно использовать новое NSSplitView
содержание приоритета API, чтобы указать, как области представления разделения должны реагировать на изменения в размере представления разделения. Чтобы позволить высоте текстового поля fixed-width расти, когда его содержание увеличивается, можно использовать новое NSTextField
метод setPreferredMaxLayoutWidth
. Если Вы используете NSMatrix
объекты в Вашем приложении, можно использовать новое setAutorecalculatesCellSize
метод, чтобы заставить содержание ячейки объекта определять размер ячейки.
Основанное на блоке получение для внеэкранных изображений
Новое NSImage
метод imageWithSize:flipped:drawingHandler:
позволяет Вам создавать изображение, делегирующее его получение к блоку. Поскольку блок вызывается во время получения, получение может быть скорректировано для удовлетворения плотности пикселей места назначения, цветовому пространству и другим свойствам. imageWithSize:flipped:drawingHandler:
метод может быть хорошей альтернативой использованию lockFocus
и unlockFocus
методы, особенно когда необходимо поддерживать движущиеся изображения между дисплеями, имеющими различные свойства. Чтобы изучить, как оптимизировать Ваше приложение так, чтобы это выглядело большим на дисплее Сетчатки, см. Инструкции по Высокому разрешению для OS X.
Автоматическое сохранение
В OS X v10.8 некоторые части Автоматического пользовательского опыта Сохранения изменился. Если Ваше основанное на документе приложение участвует в iCloud, система автоматически сохраняет документы без названия в iCloud, как только пользователь начинает редактировать. (Если Ваше приложение не участвует в iCloud, документы без названия сохраняются в папке Documents пользователя.), Если пользователь обеспечивает заголовок в диалоговом окне Сохранения, новый заголовок используется вместо этого. Для дублирования документа пункт меню Duplicate теперь позволяет пользователям предоставлять имя для копии документа. Когда пользователи закрывают копию, не сохраненную явно, их спрашивают, хотят ли они сохранить документ или удалить его.
Когда пользователь редактирует старый документ, настройка по умолчанию, управляющая, появляется ли предупреждение, изменилась от на прочь. В частности предупреждение, утверждающее “Документ, заблокировано, потому что Вы не внесли изменений в него недавно”, не появляется, если пользователь не включает установку в предпочтениях Машины времени. По умолчанию документ считают старым, если он не был изменен по крайней мере за 2 недели.
Если основанное на документе приложение, принимающее Автоматическое Сохранение, находится на переднем плане, когда пользователь запускает Машину времени, рекламные экраны Версий предыдущие версии документа.
Основа AV
Платформа Основы AV включает следующие улучшения:
AVAsset
иAVPlayerItem
классы включают новые свойства, помогающие Вам найти опции медиаресурса, размещающие предпочтения языка, требования доступности и другие потребности, и затем выбирающие их для воспроизведения.Новые методы расширяются
AVPlayer
класс так, чтобы Вы могли запланировать воспроизведение для запуска в произвольное время узла и могли гарантировать, что это остается синхронизируемым с другой основанной на времени работой, такой как воспроизведение аудио, это выполнило использующую Аудио Панель инструментов APIs.Новое
AVSampleBufferDisplayLayer
класс позволяет Вам отображать последовательность видеокадров в Базовом Слое анимации. Можно также использовать этот класс для управления синхронизацией и дополнительной синхронизацией с часами аудиоустройства.Новое
AVPlayerItemOutput
класс, в сочетании с новымAVPlayerItem
методы, позволяет Вам получать декодируемые видеокадры во время воспроизведения так, чтобы Ваше приложение могло обработать их.
Базовая анимация
Базовая Анимация представляет новое drawsAsynchronously
свойство для a CALayer
объект. Когда значение этого свойства YES
, графический объект контекста, передающийся уровню drawInContext
метод может поставить свои команды рисования в очередь так, чтобы они были выполнены асинхронно. Когда команды рисования выполняются асинхронно, операции рисования могут быть сделаны более эффективно.
Когда Вы используете drawsAsynchronously
свойство, удостоверьтесь, что обработали управление памятью ресурсов контекста своего приложения (таких как штриховки, изображения и функции) в соответствии с требованиями Кварца 2D API. В частности ресурс должен избежать ссылаться на переходную память (такую как данные по штабелю), потому что ресурс мог бы сохраниться после того, как функция возвращается к ее вызывающей стороне.
Базовая графика
Базовая Графическая платформа представляет потоковую передачу APIs для получения обновлений к дисплею способом в реальном времени и для обеспечения службы преобразования цветового пространства и масштабирование. Платформа также добавляет поддержку просмотра и изменения метаданных для популярных форматов изображения.
Базовое расположение
Базовая платформа Расположения представляет CLGeocoder
и CLPlacemark
классы для предоставления информации о пользователях о расположении. Например, можно использовать объект geocoder преобразовать широту и долготу (которые точно определяют расположение) к удобному для пользователя описанию того расположения. Удобное для пользователя описание — который обычно включает улицу, город и информацию о стране — сохранено в a CLPlacemark
объект. Можно также использовать a CLGeocoder
возразите для преобразования словаря адреса из Контактов или человекочитаемой строки адреса — таких как “1 Бесконечный цикл, Купертино, Калифорния 95014” — в географические координаты.
Базовая платформа Расположения также включает контроль области. В частности можно использовать startUpdatingForRegion
и stopUpdatingForRegion
методы для получения обратных вызовов, когда пользователь вводит или выходит из области, что Вы указываете. Для узнавания больше о новых классах в Базовой платформе Расположения посмотрите Базовую Ссылку Платформы Расположения.
Базовые носители
Базовая платформа Носителей представляет CMSync
API, определяющий два фундаментальных объекта служб времени носителей:
CMClock
, который представляет источник информации синхронизации такой какmach_absolute_time
или аудиоустройствоCMTimebase
, который представляет временную шкалу, находящуюся под управлением приложениями (т.е. временная шкала, на которой можно установить время и уровень в который игры носителей),
Базовая платформа Носителей также представляет CMAudioDeviceClock
и CMMemoryPool
APIs. CMAudioDeviceClock
API обеспечивает a CMClock
объект это синхронизируется с аудиоустройством. CMMemoryPool
API поддерживает пул недавно освобожденных блоков памяти так, чтобы последующие выделения того же размера могли быть сделаны более быстро. Например, клиенты Видео служб сжатия видео Панели инструментов могут получить средство выделения от a CMMemoryPool
объект и передача это к a VTCompressionSession
объект. Когда кодер выделяет память для сжатых видеокадров, в результате видео кодер может получить преимущества от объединения поведения.
Базовый текст
Базовая текстовая платформа включает поддержку оптических границ глифа и незарегистрированных шрифтов данных. Это также представляет:
AAT (Apple Усовершенствованное Книгопечатание) текстовые функции, помогающие Вам доступ общие теги расположения OpenType
Строковые атрибуты, позволяющие Вам использовать базовое выравнивание
CTLineGetBoundsWithOptions
функция, дающая Вам контроль с более прекрасными зернами метрик строки
Для узнавания больше об использовании Базового текста в приложении см. Базовое текстовое Руководство по программированию.
Основа
Платформа Основы представляет следующие улучшения:
Новое
NSUUID
класс помогает Вам создать объекты, представляющие различные типы UUIDs (Универсально Уникальные идентификаторы). Например, можно создатьNSUUID
объект с RFC 4122 v4 случайные байты, или можно базировать UUID на существующей строке. Узнать большеNSUUID
класс, см. Ссылку класса NSUUID.Новое
NSXPCConnection
класс предоставляет интерфейс Cocoa библиотеке XPC для передачи между процессами и позволяет Вам использовать свои собственные объекты и классы. Узнать большеNSXPCConnection
класс, см. Ссылку класса NSXPCConnection.Новый
NSFileManager
API позволяет Вам обнаруживать, что в настоящее время активный iCloud считает и обнаруживает, когда пользователь входит в систему или из него.
Для получения дальнейшей информации об изменениях в интерфейсах программирования Основы, см. Информацию о версии Основы для OS X v10.10.
OpenGL
В OS X v10.8 три функции, связанные с контекстом OpenGL, копирующим, осуждаются:
Набор хранилища
Платформа Стора Кита представляет возможность сделать Ваш В приложении содержанием Закупки доступный в App Store Mac. Содержание может быть загружено на Подключение iTunes через Загрузчик XCode или Приложения и загружено в Вашем приложении с помощью следующего Стора Кита APIs:
SKPaymentQueue
класс имеет новые методы, чтобы запустить, приостановить, и отменить загрузки.Новое
SKDownload
класс представляет состояние загрузки с App Store Mac и обеспечивает методы, позволяющие, Вы для получения информации о загрузке, включая процент завершаетесь и оценка времени, оставаясь.
Конфигурация системы
Платформа Конфигурации системы представляет присоединенную сеть API, позволяющую приложениям обеспечивать лучший пользовательский опыт при взаимодействии с присоединенной сетью. (Присоединенная сеть, такая как общедоступная горячая точка Wi-Fi, требует взаимодействия с пользователем прежде, чем обеспечить доступ в Интернет.) Присоединенная сетевая поддержка (CNS) улучшает опыт связи пользователя путем идентификации, присоединена ли сеть и, если это, ища другое приложение, которое могло бы быть в состоянии обработать соединение. Если никакое такое приложение не может быть найдено, CNS тогда пытается войти в систему с учетными данными, которые сохранил пользователь. Если ни одна из этих работ решений, CNS выводит на экран веб-страницу входа в систему сети так, чтобы пользователь мог войти в систему сети. Без CNS пользователям нельзя было бы предложить войти в систему присоединенной сети, и таким образом, они могли бы предположить, что получающаяся задержка является отказом приложения.
Можно использовать присоединенную сеть API, чтобы сказать CNS отмечать интерфейс как онлайновый или оффлайновый. Можно также использовать его для предоставления информации о SSIDs (служба установила IDs), которого CNS должен оставить управление в пользу приложений, которые могут обработать присоединенное сетевое соединение.
Ядро углерода осуждения API
В OS X v10.8, большая часть APIs в платформе Ядра Углерода осуждается (Ядро углерода является подплатформой платформы защиты Core Services). Во многих случаях существует альтернативный APIs, который можно использовать, такие как APIs в Базовой Основе, Основе и Дисковых Арбитражных платформах.
Часть осуждаемого APIs является высокоуровневыми обертками вокруг функций в уровнях POSIX или BSD, такой как malloc
, pthread
, и sysctl
. Вместо использования осуждаемой функции обертки, необходимо использовать надлежащий API низшего уровня непосредственно. В некоторых случаях можно использовать GCD (Центральная Отгрузка) вместо этого. Наконец, часть осуждаемого APIs больше не необходима или рекомендуется, такие как функции битовой операции в ToolUtils.h
. (Функции битовой операции были необходимы в разработке Паскаля, и C предоставляет разрядным операторам.) Для узнавания больше о Ядре Углерода APIs, осуждающийся, видит Осуждения Ядра Углерода.
Функции приложения
Известный в OS X v10.8 являются изменениями в Safari.
Safari
Safari 6.0 включает следующие новые функции и улучшения:
Фильтры SVG. SVG (масштабируемая векторная графика), фильтры комбинируют примитивные фильтром элементы и элементы источника света в единственный сложный фильтр, который можно тогда примениться к любому элементу SVG.
Веб-уведомления. Веб-уведомления API отправляют уведомление от расширения Safari или веб-страницы. Пользователи получают эти уведомления в Центре Уведомления, вместе с другими уведомлениями, которые они принимают решение получить.
Перепроектированный веб-Инспектор. Веб-функции Inspector in Safari 6.0 боковая панель навигации — для отображения информации о ресурсах, хранении, и инструментах — и подробной боковой панели — для быстро и легко редактирование CSS для любого элемента DOM. Новый веб-Инспектор также включает более контекстную область оценки JavaScript, которая является отдельной от журнала ошибок, оптимизированного инструментария и профильных инструментов и более доступного исходного представления страницы.
Веб-Аудио API. Веб-Аудио JavaScript API синтезирует и обрабатывает аудио в веб-приложениях, имеющих сложные аудио требования, такие как современный игровой механизм аудио или интерактивное приложение обработки аудио.
Контроллеры среды передачи HTML5. Используя контроллер среды передачи HTML5, можно скоординировать воспроизведение многократных медиа-элементов HTML5. Например, можно использовать контроллер среды передачи для синхронизации дорожки языковой интерпретации знака с видеотреком.
HTML5-синхронизированные текстовые дорожки. Можно использовать HTML5-синхронизированную текстовую дорожку для указания синхронизации, при которой текст (такой как заголовки или подзаголовки) появляется в видео элементе HTML5.
Фильтры CSS. Можно использовать фильтры CSS для применения пиксельных эффектов, таких как инвертирование и размытость, к элементу веб-страницы или изображению. Можно также объединить фильтры CSS, и можно использовать переходы CSS и анимации для анимации изменений в фильтре.
Для узнавания больше о Safari 6.0 считайте Safari и Информацию о версии WebKit (требуемый вход в систему).
Улучшения инструментов XCode
Xcode 4.4 добавляет многочисленные опции, поддерживающие OS X v10.8, особенно:
Поддержка компилятора улучшений Objective C описана в Улучшениях Objective C
Возможность открыть проект в многократных рабочих областях
Улучшенная поддержка интернационализации, включая возможность добавить основную локаль к Вашему проекту и определить строковый файл, содержащий локализованные строки
Для получения дополнительной информации об улучшениях XCode, посмотрите Новые функции и возможности в XCode.
BSD и функции ядра
Grand Central Dispatch (GCD) и XPC (межпроцессное взаимодействие) объекты поддерживают Automated Reference Counting (ARC) в Objective C. Используя GCD и XPC с ARC требует минимальной цели развертывания OS X v10.8 (эта функциональность недоступна, если у Вас есть 32-разрядная машина Intel).