Поделиться через


Дополнительные изменения платформ tvOS 10

Помимо основных изменений в tvOS, Apple внесла изменения и усовершенствования нескольких существующих платформ в tvOS 10.

Дополнения платформы AVFoundation Framework

Платформа AVFoundation включает следующие улучшения:

  • В tvOS 10 приложение больше не реализует различные поведения AVPlayerItem на основе типа контента. Просто задайте Rate свойство и AVFoundation определит, когда достаточно содержимого доступно для воспроизведения без остановки.
  • Новый AVPlayerLooper класс упрощает циклику заданного фрагмента мультимедиа во время воспроизведения.

Усовершенствования AVKit Framework

Платформа AVKit включает следующие улучшения:

  • Теперь приложение контролирует поведение пропуска avPlayerViewController , поэтому пропуск жеста может перейти к следующему элементу в списке воспроизведения или перейти к текущему элементу.

Усовершенствования основных данных

tvOS 10 включает в себя следующие усовершенствования платформы основных данных:

  • Корневые объекты NSManagedObjectContext поддерживают одновременную сбой и извлечение без сериализации.
  • Класс NSPersistentStoreCoordinator поддерживает пул хранилищ данных SQLite.
  • Объекты NSManagedObjectContext с хранилищами данных SQLite в режиме WAL Journal поддерживают новую функцию создания запросов, где контексты управляемых объектов (MOC) можно закрепить на определенных версиях базы данных для будущих транзакций получения и сбоя.
  • Использование высокого уровня NSPersistenceContainer для ссылки на NSPersistentStoreCoordinatorресурсы конфигурации данных NSManagedObjectModel и других ресурсов конфигурации основных данных.
  • Добавлены несколько новых удобных методов, что NSManagedObject упрощает получение и создание подклассов.

Дополнительные сведения см. в справочнике по Платформе данных Apple Core.

Основные улучшения графики

tvOS 10 включает следующие улучшения в графической платформе Core:

  • Новый класс CGColorConverterRef можно использовать для выполнения ряда преобразований цветов.

Усовершенствования основных образов

tvOS 10 делает следующие улучшения платформы Core Image:

  • Метод ImageWithExtent класса CIFilter можно использовать для вставки пользовательской обработки в операцию фильтра. Основной образ вызывает заданный обратный вызов между фильтрами при обработке изображения для вывода или отображения.
  • Теперь приложение может обрабатывать изображения в цветовом пространстве за пределами рабочего цветового пространства контекста Core Image, преобразовав его в цветовое пространство до и после обработки.
  • Несколько улучшений производительности отрисовки были сделаны для UIImage отрисовки (при поддержке хранилищ образов Core Image) в UIImageView объектах.
  • UIImage Объекты, помеченные широкой гаммой, будут отображаться как цвет широкой гаммы в UIImageView объектах на устройствах iOS, поддерживающих широкий цвет.
  • Основной код ядра изображения теперь может запрашивать определенные форматы выходных данных пикселей.

Кроме того, добавлены следующие новые фильтры основных образов:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Усовершенствования фонда

В платформу Foundation для tvOS 10 были внесены следующие усовершенствования:

  • Используйте новый класс NSDateInterval для выполнения вычислений даты и интервала времени, таких как длительность, для сравнения интервалов и тестирования пересечений интервалов.
  • В класс NSLocal добавлены несколько новых свойств для получения локальных сведений и доступных форматов отображения.
  • Используйте новый класс NSMeasurement для преобразования между различными единицами измерения (UOM) или вычислений по значениям в разных UOM.
  • Используйте новый класс NSMeasurementFormatter для форматирования локализованных измерений для отображения пользователю.
  • Используйте новые классы NSUnit и NSDimension для представления конкретных UOM.

Улучшения GameKit

В платформу GameKit в tvOS 10 были внесены следующие улучшения:

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

Улучшения игрового процесса

В tvOS 10 были внесены следующие улучшения в платформу GameplayKit:

  • Добавлено процедурное создание шума и может использоваться для повышения реалистичности в естественных текстурах, добавления реализма в движения камеры и создания богатых игровых миров.
  • Используйте пространственное секционирование для секционирования данных мира игры для эффективного поиска.
  • Новый стратег Монте-Карло (GKMonteCarloStrategist) был добавлен для исчерпывающих возможных вычислений перемещения.
  • Добавлен новый API дерева принятия решений (GKDecisionTree и GKDecisionNode) для улучшения ИИ для создания игр.
  • 3D-поддержка добавлена в существующий агент и поведение поиска путей с помощью новых классов GKAgent3D и GKGraphNode3D .
  • Используйте новый класс GKMeshGraph , чтобы обеспечить высокопроизводительные и естественные пути.
  • Новые классы GKScene и GKSKNodeComponent делают объединение GameplayKit и SpriteKit проще, чем когда-либо.

Усовершенствования металла

В tvOS 10 были сделаны следующие усовершенствования в платформе Metal:

  • Трехмерные приложения и игры теперь могут использовать Tessellation для эффективной отрисовки сложных сцен и геометрии с помощью GPU.
  • Используйте специализацию функций для создания высокооптимизируемой коллекции материалов и функций сочетания света для сцены.
  • Обеспечивает точное управление выделением ресурсов для оптимизации производительности приложений на основе металла с помощью кучи ресурсов и целевых объектов отрисовки без памяти.

Дополнительные сведения см. в руководстве по программированию металла Apple.

Улучшения шейдеров производительности металла

Следующие усовершенствования были сделаны в платформу шейдеров производительности металла в tvOS 10:

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

Усовершенствования ModelIO

Ниже приведены улучшения платформы ModelIO в tvOS 10:

  • Теперь поддерживается формат файла USD.
  • Используйте новый MDLMaterialPropertyGraph класс для легкой поддержки изменений среды выполнения моделей.
  • Поддержка поля подписи добавлена в класс MDLVoxelArray .
  • Используйте новый MDLLightProbeIrradianceDataSource класс, чтобы помочь в размещении Light Probe.

Улучшения SceneKit

В платформу SceneKit в tvOS 10 были внесены следующие улучшения:

  • SceneKit теперь включает новую систему отрисовки на основе физических данных (PBR) для более реалистичных результатов с более простой разработкой активов.
  • Используйте новую модель заливки SCNLightingModelPhysicalLyBased, чтобы продуктив широкий спектр реалистичных эффектов заливки, требуя только трех основных свойств (DiffuseMetalnessиRoughness).
  • Так как заливка PBR лучше всего работает с освещением на основе среды, используйте LightingEnvironment свойство для назначения освещения на основе изображений для всей сцены загорания.
  • IESProfileURL Используйте свойство для импорта реальных световых светильников, определяющих основу освещения на реальных значениях, таких как интенсивность (в люменях) и цветовая температура (в градусах Келвина).
  • Класс SCN Камера может обеспечить более высокую реалистичность с помощью функций и эффектов HDR. Используйте адаптивную экспозицию для создания автоматических эффектов или использования вигнетирования, цветной бахромы и градирования цветов, чтобы добавить фильмотические эффекты в игру.
  • Функции камеры PBR и HDR обеспечивают лучшие результаты, чем традиционные методы отрисовки, и в результате SceneKit теперь выполняет все вычисления цвета в линейном цветовом пространстве (с помощью цветовой гаммы P3 на широкоцветных устройствах).
  • Теперь цвет SceneKit соответствует всем цветам, считывая сведения о профиле цвета.
  • SceneKit интерпретирует значения компонентов цвета в линейном цветовом пространстве RGB для всех типов шейдеров.
  • Так как SceneKit считывает и настраивает сведения о профиле цвета в изображениях текстур, используйте каталоги активов для всех изображений, чтобы обеспечить эти сведения.
  • Отрисовка линейного пространства цветов и широкий цвет можно отключить, указав SCNDisableLinearSpaceRenderingSCNDisableWideGamut ключи в приложении Info.plist.
  • Создайте произвольные многоугольники (загруженные из файлов или созданные программным способом), чтобы указать геометрию с новым классом SCNGeometryPrimitiveTypePolygon .

Усовершенствования SpriteKit

Следующие улучшения были сделаны в платформе SpriteKit в tvOS 10:

  • Плитки теперь поддерживают квадратные, шестнадцатеричные и isoметрические фигуры плиток для 2D, 2.5D и параллельных прокрутки игр с помощью SKTileMapModeи SKTileGroupSKTileGroupRuleSKTileSet классов.
  • Используйте новый SKWarpGeometry класс, чтобы растянуть или исказить отрисовку SKSpriteNode или SKEffectNode. Новый класс SKAction можно использовать для анимации переходов между эффектами warp.
  • Пользовательские шейдеры могут предоставлять атрибуты (SKAttribute), которые можно настроить отдельно для каждого узла, использующего шейдер, указав значение атрибута (SKAttributeValue).
  • Класс SKView предоставляет несколько новых методов для точного управления тем, когда и как отрисовывается сцена.

Улучшения UIKit

В платформу UIKit в tvOS 10 были внесены следующие улучшения:

  • API фокусировки был расширен для поддержки фокуса элемента, отличного от представления, в дополнение к UIViews. Элементы, поддерживающие фокус , должны реализовать IUIFocusItem интерфейс.
  • Новый UIGraphicsRender класс предоставляет объектно-ориентированный метод создания растровых изображений или PDF-файлов из отрисовки UIKit или основной графики и заменяет устаревший UIGraphicsBeginImageContext метод.
  • Класс UIUserInterfaceStyle был добавлен, чтобы определить, какая тема пользовательского интерфейса (темная или светлая) сейчас активна.
  • Добавлена новая полностью интерактивная, объектная, прерванная поддержка анимации, а фургон связан с жестами. Для получения дополнительных сведений см. справочник по протоколам UIViewAnimating, справочник по классам UIViewPropertyAnimator, справочник по протоколу UITimingCurveProvider, UICubicTimingParameters Class Reference и UISpringTimingParameter Class Reference.
  • Новое UIPreviewInteraction и UIPreviewInteractionDelegate разрешить приложению предоставить пользовательский интерфейс для просмотра и всплывающих операций.
  • Новый UIAccessibilityCustomRotor класс позволяет приложению предоставлять пользовательские, контекстные функции для вспомогательных технологий, таких как Voice Over.
  • UIAccessibilityIsAssistiveTouchRunning Используйте символы, UIAccessibilityAssistiveTouchStatusDidChangeNotification чтобы определить, включена ли поддержка AssistiveTouch.
  • UIAccessibilityHearingDevicePairedEar Используйте символы, UIAccessibilityHearingDevicePairedEarDidChangeNotification чтобы получить состояние любых парных слуховых средств MFi.
  • Новый API UIPasteboard предоставляет новые параметры (например, ограничения времени существования) и автоматически объявляет совместимые типы контента для общих типов классов.
  • Для поддержки динамического UIFont типа в метках, текстовых полях и текстовых полях используется новый PreferredFontForTextStyle метод класса.
  • Чтобы решить, должен ли элемент обновить шрифт при изменении устройств UIContentSizeCategory , используйте AdjustsFontForContentSizeCategory свойство делегата UIContentSizeCategoryAdjusting .
  • Теперь приложение может контролировать внешний вид значка для элементов панели вкладок, таких как текст и цвет фона.
  • Элемент управления обновления теперь поддерживается во всех подклассах представления прокрутки и представления прокрутки (например UICollectionView).
  • Метод OpenURL класса называется асинхронно UIApplication поддерживает обработчик завершения, который вызывается после завершения открытия.
  • Инициируйте совместное использование CloudKit и изменяйте его свойства с помощью новых UICloudSharingController и UICloudSharingControllerDelegate классов.
  • Воспользуйтесь преимуществами предварительно подготовленных ячеек, чтобы улучшить процесс прокрутки UICollectionViews с помощью нового UICollectionViewDataSourcePrefetching делегата.