Дополнительные изменения платформы macOS Sierra
Ускорение улучшений платформы
В macOS Sierra было улучшено следующее усовершенствование платформы Ускорения платформы:
- Добавлена квадратура (целочисленный расчет).
- Добавлены базовые функции для создания нейронных сетей.
- Добавлены функции геометрического предиката для тестирования таких объектов, как пересечение двух геометрических объектов.
Усовершенствования AppKit Framework
В AppKit Framework для macOS Sierra были улучшены следующие улучшения:
- Некоторые усовершенствования,
NSCollectionView
такие как:- Сворачиваемые разделы . Позволяет пользователю свернуть раздел представления коллекции в одну горизонтальную строку.
- Плавающие заголовки — верхние и нижние колонтитулы теперь можно плавать (в макете потока) с помощью того же API, что и UICollectionView в iOS.
- Прокручиваемые фоновые представления — фон представлений коллекции теперь можно настроить для прокрутки вместе с содержимым.
- Передача макета отложенного представления оптимизирована и расширена.
- ТЕПЕРЬ API перетаскивания включает новые
NSFilePromiseProvider
иNSFilePromiseReceiver
классы для поддержки перетаскивания. - В существующие элементы управления добавлены несколько удобных конструкторов:
NSButton
включает новые конструкторы для создания кнопок, проверка boxes и переключателей.NSTextField
включает в себя новые конструкторы для создания меток упаковки и без упаковки, меток атрибутов и редактируемых текстовых полей.NSSegmentedControl
включает новые конструкторы для создания сегментированных элементов управления из группы меток или изображений.NSSlider
включает новые конструкторы для создания горизонтальных линейных ползунок.NSImageView
включает в себя новые конструкторы для создания нередактируемых представлений изображений из заданного объектаNSImage
.
- Новое
NSGridView
было добавлено для автоматического макета коллекции вложенных представлений в сетку с строками и столбцами размера переменной размера, которые могут быть динамически скрыты или показаны.
Улучшения платформы AVFoundation Framework
В платформу AVFoundation Framework для macOS Sierra были внесены следующие улучшения:
- В macOS приложение больше не требует реализации различных поведении AVPlayerItem на основе типа контента. Просто задайте
Rate
свойство и AVFoundation определит, когда достаточно содержимого доступно для воспроизведения без остановки. - Новый
AVPlayerLooper
класс упрощает циклику заданного фрагмента мультимедиа во время воспроизведения. - Класс
AVAssetDownloadURLSession
позволяет загружать и позже воспроизводить зашифрованные потоки FairPlay HLS.
Усовершенствования основной платформы данных
В core Data Framework для macOS Sierra были улучшены следующие улучшения:
- Корневые объекты NSManagedObjectContext поддерживают одновременную сбой и извлечение без сериализации.
- Класс NSPersistentStoreCoordinator поддерживает пул хранилищ данных SQLite.
- Объекты NSManagedObjectContext с хранилищами данных SQLite в режиме WAL Journal поддерживают новую функцию создания запросов, где контексты управляемых объектов (MOC) можно закрепить на определенных версиях базы данных для будущих транзакций получения и сбоя.
- Использование высокого уровня
NSPersistenceContainer
для ссылки наNSPersistentStoreCoordinator
ресурсы конфигурации данных NSManagedObjectModel и других ресурсов конфигурации основных данных. - Добавлены несколько новых удобных методов, что
NSManagedObject
упрощает получение и создание подклассов.
Дополнительные сведения см. в справочнике по Платформе данных Apple Core.
Усовершенствования платформы основных образов
Ниже описано, как улучшить базовую платформу образов для macOS Sierra:
- Метод
ImageWithExtent
класса CIFilter можно использовать для вставки пользовательской обработки в операцию фильтра. Основной образ вызывает заданный обратный вызов между фильтрами при обработке изображения для вывода или отображения. - Теперь приложение может обрабатывать изображения в цветовом пространстве за пределами рабочего цветового пространства контекста Core Image, преобразовав его в цветовое пространство до и после обработки.
- Ядро основного изображения теперь может запрашивать определенный формат выходных данных пикселей.
- Добавлены следующие новые фильтры изображений:
CINinePartTitled
,CINinePartStretched
,CIHueSaturationValueGradient
CIEdgePreserveUpsampleFilter
иCIClamp
.
Усовершенствования Foundation Framework
В Foundation Framework для macOS Sierra были улучшены следующие улучшения:
- Используйте API NSDi упоминание s для представления, преобразования и отображения многих наиболее распространенных физических единиц, таких как масса, длина, скорость, длительность и температура.
- Используйте класс NSISO8601DateFormatter для синтаксического анализа и создания дат форматирования ISO 8601.
- Используйте новый класс NSDateInterval для выполнения вычислений даты и интервала времени, таких как длительность, для сравнения интервалов и тестирования пересечений интервалов.
- Используйте класс NSPersonNameComponentsFormatter, чтобы проанализировать элементы имени пользователя из строки.
- Используйте новый класс NSURLSessionTaskMetrics для получения метрик для сеанса сети URL-адресов.
Дополнительные сведения см. в заметках о выпуске Apple Foundation для OS X версии 10.12 и iOS 10.
Усовершенствования GameKit Framework
В GameKit Framework для macOS Sierra были улучшены следующие улучшения:
- Приложение Game Center устарело и удалено из macOS. Если приложение использует GameKit, оно должно представить свой собственный интерфейс для отображения функций GameKit, таких как таблицы лидеров и т. д.
- Новый тип учетной записи только для iCloud реализован классом GKCloudPlayer .
- Новый класс GKGameSession предоставляет обобщенное решение для управления сохраняемым хранилищем данных в Game Center.
GKGameSession
поддерживает список игроков и приложение отвечает за реализацию того, как и когда дата участника хранится, извлекается или обменивается между игроками. Во многих случаях игровые сеансы могут заменить существующие совпадения на основе поворота, совпадения в режиме реального времени или постоянные методы сохранения игр.
Улучшения Платформы GamePlayKit Framework
В GamePlayKit Framework для macOS Sierra были улучшены следующие улучшения:
- Добавлено процедурное создание шума и может использоваться для повышения реалистичности в естественных текстурах, добавления реализма в движения камеры и создания богатых игровых миров.
- Используйте пространственное секционирование для секционирования данных мира игры для эффективного поиска.
- Новый стратег Монте-Карло (GKMonteCarloStrategist) был добавлен для исчерпывающих возможных вычислений перемещения.
- Добавлен новый API дерева принятия решений (GKDecisionTree и GKDecisionNode) для улучшения ИИ для создания игр.
- 3D-поддержка добавлена в существующий агент и поведение поиска путей с помощью новых классов GKAgent3D и GKGraphNode3D .
- Используйте новый класс GKMeshGraph , чтобы обеспечить высокопроизводительные и естественные пути.
- Новые классы GKScene и GKSKNodeComponent делают объединение GameplayKit и SpriteKit проще, чем когда-либо.
Улучшения платформы metal Framework
Следующее улучшение было сделано в Metal Framework для macOS Sierra:
- Трехмерные приложения и игры теперь могут использовать Tessellation для эффективной отрисовки сложных сцен и геометрии с помощью GPU.
- Используйте специализацию функций для создания высокооптимизируемой коллекции материалов и функций сочетания света для сцены.
- Обеспечивает точное управление выделением ресурсов для оптимизации производительности приложений на основе металла с помощью кучи ресурсов и целевых объектов отрисовки без памяти.
Дополнительные сведения см. в руководстве по программированию металла Apple.
Усовершенствования платформы ввода-вывода модели
В macOS Sierra были улучшены следующие усовершенствования модели ввода-вывода для MacOS Sierra:
- Теперь поддерживается формат файла USD.
- Используйте новый
MDLMaterialPropertyGraph
класс для легкой поддержки изменений среды выполнения моделей. - Поддержка поля подписи добавлена в класс MDLVoxelArray .
- Используйте новый
MDLLightProbeIrradianceDataSource
класс, чтобы помочь в размещении Light Probe.
Усовершенствования платформы Фотографий
В macOS Sierra были внесены следующие улучшения в Платформу фотографий для macOS Sierra:
- Редактирование фотографий в реальном времени теперь доступно для приложений, поддерживающих платформу "Фотографии" и расширения редактирования фотографий (для использования в приложениях "Фотографии" и Камера).
- Используйте новый класс PHLivePhotoEditingContext , чтобы применить изменения как к видео, так и к содержимому Live Photo.
- Используйте классы CIImageProcessorInput и CIImageProcessorOutput, чтобы воспользоваться новым компонентом обработчика образов Core для выполнения изменений.
- Для поддержки Live Photo классы PHLivePhoto и PHLivePhotoView были перенесены из iOS в macOS.
Усовершенствования Платформы SceneKit
В Платформу SceneKit Framework для macOS Sierra были улучшены следующие улучшения:
- Теперь включает новую систему отрисовки на основе физических данных (PBR) для более реалистичных результатов с более простыми средствами разработки активов.
- Используйте новую модель заливки SCNLightingModelPhysicalLyBased, чтобы продуктив широкий спектр реалистичных эффектов заливки, требуя только трех основных свойств (
Diffuse
Metalness
иRoughness
). - Так как заливка PBR лучше всего работает с освещением на основе среды, используйте
LightingEnvironment
свойство для назначения освещения на основе изображений для всей сцены загорания. IESProfileURL
Используйте свойство для импорта реальных световых светильников, определяющих основу освещения на реальных значениях, таких как интенсивность (в люменях) и цветовая температура (в градусах Келвина).- Класс SCN Камера может обеспечить более высокую реалистичность с помощью функций и эффектов HDR. Используйте адаптивную экспозицию для создания автоматических эффектов или использования вигнетирования, цветной бахромы и градирования цветов, чтобы добавить фильмотические эффекты в игру.
- Функции камеры PBR и HDR обеспечивают лучшие результаты, чем традиционные методы отрисовки, и в результате SceneKit теперь выполняет все вычисления цвета в линейном цветовом пространстве (с помощью цветовой гаммы P3 на широкоцветных устройствах).
- Теперь цвет SceneKit соответствует всем цветам, считывая сведения о профиле цвета.
- SceneKit интерпретирует значения компонентов цвета в линейном цветовом пространстве RGB для всех типов шейдеров.
- Так как SceneKit считывает и настраивает сведения о профиле цвета в изображениях текстур, используйте каталоги активов для всех изображений, чтобы обеспечить эти сведения.
- Отрисовка линейного пространства цветов и широкий цвет можно отключить, указав
SCNDisableLinearSpaceRendering
SCNDisableWideGamut
ключи в приложенииInfo.plist
. - Создайте произвольные многоугольники (загруженные из файлов или созданные программным способом), чтобы указать геометрию с новым классом SCNGeometryPrimitiveTypePolygon .
Улучшения платформы безопасности
В платформу безопасности для macOS Sierra были внесены следующие улучшения:
- Интерфейс
SecKey
модернизировался и унифицирован на всех платформах (iOS, tvOS, watchOS и macOS).
Усовершенствования SpriteKit Framework
В SpriteKit Framework для macOS Sierra были улучшены следующие улучшения:
- Плитки теперь поддерживают квадратные, шестнадцатеричные и isoметрические фигуры плиток для 2D, 2.5D и параллельных прокрутки игр с помощью
SKTileMapMode
иSKTileGroup
SKTileGroupRule
SKTileSet
классов. - Используйте новый
SKWarpGeometry
класс, чтобы растянуть или исказить отрисовку SKSpriteNode или SKEffectNode. Новый класс SKAction можно использовать для анимации переходов между эффектами warp. - Пользовательские шейдеры могут предоставлять атрибуты (
SKAttribute
), которые можно настроить отдельно для каждого узла, использующего шейдер, указав значение атрибута (SKAttributeValue
). - Класс SKView предоставляет несколько новых методов для точного управления тем, когда и как отрисовывается сцена.
Новые платформы
В macOS Sierra добавлены следующие платформы:
- Платформа намерений — эта платформа позволяет приложению изучать взаимодействия (например, расположение или действия пользователя) и выполнять действия на основе этой информации.
- SafariServices Framework — эта платформа позволяет приложению разрабатывать расширения приложений для Safari (например, блокировщиков содержимого) для macOS и iOS.