Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этой статье рассматриваются дополнительные, незначительные изменения или улучшения существующих платформ для iOS 10.
Дополнения AV Foundation Framework
Платформа AVFoundation включает следующие улучшения:
- В iOS 10 разработчик больше не должен реализовывать различные поведения AVPlayerItem на основе типа контента. Просто задайте
Rateсвойство и AVFoundation определит, когда достаточно содержимого доступно для воспроизведения без остановки. - Новый класс AVCapturePhotoOutput заменяет устаревший
AVCaptureStillImageOutputкласс и предоставляет единый метод для обработки всех рабочих процессов фотографии, предоставляя сложный контроль и мониторинг процесса захвата и поддержку новых функций, таких как Live Photo и формат записи RAW. - Новый
AVPlayerLooperкласс упрощает циклику заданного фрагмента мультимедиа во время воспроизведения. - Класс
AVAssetDownloadURLSessionпозволяет загружать и позже воспроизводить зашифрованные потоки FairPlay HLS. - По умолчанию класс AVCaptureSession автоматически поддерживает широкий цвет, широкоцветный захват при поддержке оборудования устройства. Дополнительные сведения см. в справочнике по совместимости устройств iOS Apple.
Дополнения AVKit
Платформа AVKit теперь включает новое UpdatesNowPlayingInfoCenter свойство, указывающее, когда должен быть обновлен Центр сведений о воспроизведениях.
Усовершенствования основных данных
IOS 10 включает в себя следующие улучшения платформы основных данных:
- Объекты NSManagedObjectContext с хранилищами данных SQLite в режиме WAL Journal поддерживают новую функцию создания запросов, где контексты управляемых объектов (MOC) можно закрепить на определенных версиях базы данных для будущих транзакций получения и сбоя.
- Корневые объекты NSManagedObjectContext поддерживают одновременную сбой и извлечение без сериализации.
- Класс NSPersistentStoreCoordinator поддерживает пул хранилищ данных SQLite.
- Добавлены несколько новых удобных методов, что
NSManagedObjectупрощает получение и создание подклассов. - Использование высокого уровня
NSPersistenceContainerдля ссылки наNSPersistentStoreCoordinatorресурсы конфигурации данных NSManagedObjectModel и других ресурсов конфигурации основных данных.
Дополнительные сведения см. в справочнике по Платформе данных Apple Core.
Усовершенствования основных образов
IOS 10 делает следующие улучшения платформы Core Image:
- Теперь разработчик может обрабатывать изображения в цветовом пространстве за пределами рабочего цветового пространства контекста Core Image, преобразовав его и из цветового пространства до и после обработки.
- Для устройств iOS, использующих ЦП A8 или A9, теперь поддерживается формат образа RAW. Core Image теперь обеспечивает поддержку декодирования необработанных изображений с встроенной камеры iSight или с 3-й сторонней камеры.
FilterWithImageDataИспользуйте методыFilterWithImageURLкласса CIFilter для обработки образов RAW. - Несколько улучшений производительности отрисовки были сделаны для
UIImageотрисовки (при поддержке хранилищ образов Core Image) вUIImageViewобъектах. UIImageОбъекты, помеченные широкой гаммой, будут отображаться как цвет широкой гаммы вUIImageViewобъектах на устройствах iOS, поддерживающих широкий цвет.- Основной код ядра изображения теперь может запрашивать определенные форматы выходных данных пикселей.
- Метод
ImageWithExtentкласса CIFilter можно использовать для вставки пользовательской обработки в операцию фильтра. Основной образ вызывает заданный обратный вызов между фильтрами при обработке изображения для вывода или отображения.
Кроме того, добавлены следующие новые фильтры основных образов:
CINinePartTiledCINinePartStretchedCIHueSaturationValueGradientCIEdgePreserveUpsampleFilterCIClamp
Дополнения основного движения
Платформа основного движения в iOS 10 включает события педометра, которые позволяют приложению получать быстрые уведомления о приостановке работы и возобновлении отслеживания пользователей в режиме реального времени. Используйте CMPedometer для регистрации событий переднего плана или фона пеedометра.
Усовершенствования фонда
В платформу Foundation для iOS 10 были внесены следующие усовершенствования:
Используйте новый класс NSMeasurementFormatter для форматирования локализованных измерений для отображения пользователю.
Используйте новый класс NSDateInterval для выполнения вычислений даты и интервала времени, таких как длительность, для сравнения интервалов и тестирования пересечений интервалов.
Используйте новый класс NSMeasurement для преобразования между различными единицами измерения (UOM) или вычислений по значениям в разных UOM.
Используйте новые классы NSUnit и NSDimension для представления конкретных UOM.
В класс NSLocal добавлены несколько новых свойств для получения локальных сведений и доступных форматов отображения.
Улучшения GameKit
В iOS 10 были внесены следующие улучшения в платформу GameKit:
- Приложение Game Center устарело и удалено из iOS. Если приложение использует GameKit, оно должно представить свой собственный интерфейс для отображения функций GameKit, таких как таблицы лидеров и т. д.
- Новый тип учетной записи только для iCloud реализован классом GKCloudPlayer .
- Новый класс GKGameSession предоставляет обобщенное решение для управления сохраняемым хранилищем данных в Game Center.
GKGameSessionподдерживает список игроков и приложение отвечает за реализацию того, как и когда дата участника хранится, извлекается или обменивается между игроками. Во многих случаях игровые сеансы могут заменить существующие совпадения на основе поворота, совпадения в режиме реального времени или постоянные методы сохранения игр.
Улучшения игрового процесса
В iOS 10 были реализованы следующие усовершенствования.
- Используйте новый класс GKMeshGraph , чтобы обеспечить высокопроизводительные и естественные пути.
- Добавлено процедурное создание шума и может использоваться для повышения реалистичности в естественных текстурах, добавления реализма в движения камеры и создания богатых игровых миров.
- Используйте пространственное секционирование для секционирования данных мира игры для эффективного поиска.
- Новый стратег Монте-Карло (GKMonteCarloStrategist) был добавлен для исчерпывающих возможных вычислений перемещения.
- 3D-поддержка добавлена в существующий агент и поведение поиска путей с помощью новых классов GKAgent3D и GKGraphNode3D .
- Новые классы GKScene и GKSKNodeComponent делают объединение GameplayKit и SpriteKit проще, чем когда-либо.
- Добавлен новый API дерева принятия решений (GKDecisionTree и GKDecisionNode) для улучшения ИИ для создания игр.
Улучшения HealthKit
В iOS 10 были внесены следующие улучшения в платформу HealthKit:
- Добавлены новые ключи метаданных для типов погоды (таких как
HKWeatherConditionClearиHKWeatherConditionCloudy) и типы тренировки (напримерHKWorkoutActivityTypeFlexibility, иHKWorkoutActivityTypeWheelchairRunPace) были добавлены. - Добавлен новый
HKCDADocumentкласс для представления отформатированного документа (CDA). - Используйте новый класс HKWorkoutConfiguration , чтобы указать
ActivityTypeиLocationTypeвыполнить тренировку. - Добавлен новый класс HKWheelchairUseObject и
WheelchairUseметод класса HKHealthStore для работы с данными о работоспособности инвалидной коляски.
Улучшения HomeKit
В iOS 10 были улучшены следующие улучшения платформы HomeKit:
- Добавлены новые службы и характеристики.
- IPad можно настроить для работы в качестве Центра HomeKit для предоставления удаленного доступа к аксессуарам, запуска триггеров автоматизации и включения разрешений общего пользователя.
- Добавлена поддержка для аксессуаров камеры и двери.
- Для аксессуаров предоставляются дополнительные контексты и конфигурации.
Дополнительные сведения см. в нашей документации по HomeKit .
Усовершенствования металла
В iOS 10 были реализованы следующие усовершенствования:
- Трехмерные приложения и игры теперь могут использовать Tessellation для эффективной отрисовки сложных сцен и геометрии с помощью GPU.
- Обеспечивает точное управление выделением ресурсов для оптимизации производительности приложений на основе металла с помощью кучи ресурсов и целевых объектов отрисовки без памяти.
- Используйте специализацию функций для создания высокооптимизируемой коллекции материалов и функций сочетания света для сцены.
Дополнительные сведения см. в руководстве по программированию металла Apple.
Усовершенствования ModelIO
В платформе ModelIO в iOS 10 были реализованы следующие усовершенствования:
- Теперь поддерживается формат файла USD.
- Поддержка поля подписи добавлена в класс MDLVoxelArray .
- Используйте новый
MDLLightProbeIrradianceDataSourceкласс, чтобы помочь в размещении Light Probe. - Используйте новый
MDLMaterialPropertyGraphкласс для легкой поддержки изменений среды выполнения моделей.
Улучшения фотографий
В iOS 10 были улучшены следующие усовершенствования.
- Используйте классы CIImageProcessorInput и CIImageProcessorOutput, чтобы воспользоваться новым компонентом обработчика образов Core для выполнения изменений.
- Редактирование фотографий в реальном времени теперь доступно для приложений, поддерживающих платформу "Фотографии" и расширения редактирования фотографий (для использования в приложениях "Фотографии" и Камера).
- Используйте новый класс PHLivePhotoEditingContext , чтобы применить изменения как к видео, так и к содержимому Live Photo.
Улучшения ReplayKit
В iOS 10 были внесены следующие улучшения в платформу ReplayKit:
- Используйте классы RPScreenRecorder, RPBroadcastActivityViewController и RPBroadcastController для поддержки вещания записанных носителей через сторонние сайты.
- Расширения вещания пользовательского интерфейса и широковещательной отправки необходимы для поддержки сторонних служб трансляции ReplayKit 3-й стороны в приложении.
Улучшения SceneKit
В платформе SceneKit в iOS 10 были улучшены следующие усовершенствования:
- Класс SCN Камера может обеспечить более высокую реалистичность с помощью функций и эффектов HDR. Используйте адаптивную экспозицию для создания автоматических эффектов или использования vignetting, цветной бахромы и градирования цветов для добавления эффектов заливки в игру.
- SceneKit теперь включает новую систему отрисовки на основе физических данных (PBR) для более реалистичных результатов с более простой разработкой активов.
- Используйте новую модель заливки SCNLightingModelPhysicalLyBased, чтобы продуктив широкий спектр реалистичных эффектов заливки, требуя только трех основных свойств (
DiffuseMetalnessиRoughness). - Так как заливка PBR лучше всего работает с освещением на основе среды, используйте
LightingEnvironmentсвойство для назначения освещения на основе изображений всей сцене. IESProfileURLИспользуйте свойство для импорта реальных световых светильников, определяющих освещение на основе реальных значений, таких как интенсивность (в люменях) и цветовая температура (в градусах Кельвин).- Функции камеры PBR и HDR обеспечивают лучшие результаты, чем традиционные методы отрисовки, и в результате SceneKit теперь выполняет все вычисления цвета в линейном цветовом пространстве (с помощью цветовой гаммы P3 на широкоцветных устройствах).
- Теперь цвет SceneKit соответствует всем цветам, считывая сведения о профиле цвета.
- SceneKit интерпретирует значения компонентов цвета в линейном цветовом пространстве RGB для всех типов шейдеров.
- Отрисовка линейного пространства цветов и широкий цвет можно отключить, указав
SCNDisableLinearSpaceRenderingSCNDisableWideGamutключи в приложенииInfo.plist. - Создайте произвольные многоугольники (загруженные из файлов или созданные программным способом), чтобы указать геометрию с новым классом SCNGeometryPrimitiveTypePolygon .
- Так как SceneKit считывает и настраивает сведения о профиле цвета в изображениях текстур, используйте каталоги активов для всех изображений, чтобы обеспечить эти сведения.
Усовершенствования SpriteKit
В iOS 10 были внесены следующие улучшения в платформу SpriteKit:
- Пользовательские шейдеры могут предоставлять атрибуты (
SKAttribute), которые можно настроить отдельно для каждого узла, использующего шейдер, указав значение атрибута (SKAttributeValue). - Плитки теперь поддерживают квадратные, шестнадцатеричные и isoметрические фигуры плиток для 2D, 2.5D и параллельных прокрутки игр с помощью
SKTileMapModeиSKTileGroupSKTileGroupRuleSKTileSetклассов. - Используйте новый
SKWarpGeometryкласс, чтобы растянуть или исказить отрисовку SKSpriteNode или SKEffectNode. Новый класс SKAction можно использовать для анимации переходов между эффектами warp. - Класс SKView предоставляет несколько новых методов для точного управления тем, когда и как отрисовывается сцена.
Усовершенствования ScrollView
В элемент управления ScrollView 10.3 были внесены следующие улучшения:
UIScrollViewТеперь включитеIndexDisplayModeсвойство для управления отображением индекса, пока пользователь прокручивается как:UIScrollViewIndexDisplayModeAutomatic— Отображение индекса управляется ОС.AlwaysHidden— Отображение индекса всегда скрыто.
Улучшения UIKit
В iOS 10 были внесены следующие улучшения в платформу UIKit:
- Новый API UIPasteboard предоставляет новые параметры (например, ограничения времени существования) и автоматически объявляет совместимые типы контента для общих типов классов.
- Добавлена новая полностью интерактивная, объектная, прерванная поддержка анимации и может быть связана с жестами. Дополнительные сведения см. в справочнике по протоколу UIViewAnimating, справочнике по классу UIViewPropertyAnimator, справочнике по протоколу UITimingCurveProvider, UICubicTimingParameters Class Reference и UISpringTimingParameter Class Reference.
- Новое
UIPreviewInteractionиUIPreviewInteractionDelegateразрешить приложению разработчика предоставить пользовательский интерфейс для просмотра и всплывающих операций. - Новый
UIAccessibilityCustomRotorкласс позволяет приложению предоставлять пользовательские, контекстные функции для вспомогательных технологий, таких как Voice Over. UIAccessibilityIsAssistiveTouchRunningИспользуйте символы,UIAccessibilityAssistiveTouchStatusDidChangeNotificationчтобы определить, включена ли поддержка AssistiveTouch.UIAccessibilityHearingDevicePairedEarИспользуйте символы,UIAccessibilityHearingDevicePairedEarDidChangeNotificationчтобы получить состояние любых парных слуховых средств MFi.- Для поддержки динамического
UIFontтипа в метках, текстовых полях и текстовых полях используется новыйPreferredFontForTextStyleметод класса. - Чтобы решить, должен ли элемент обновить шрифт при изменении устройства
UIContentSizeCategory, используйтеAdjustsFontForContentSizeCategoryсвойство делегатаUIContentSizeCategoryAdjusting. - Метод
OpenURLUIApplicationкласса вызывается асинхронно и теперь поддерживает обработчик завершения, который вызывается после завершения открытого действия. - Инициируйте совместное использование CloudKit и изменяйте его свойства с помощью новых
UICloudSharingControllerиUICloudSharingControllerDelegateклассов. - Воспользуйтесь преимуществами предварительно подготовленных ячеек, чтобы улучшить процесс прокрутки
UICollectionViewsс помощью новогоUICollectionViewDataSourcePrefetchingделегата. - Разработчик теперь может контролировать внешний вид значка для элементов панели вкладок (например, текст и цвет фона).
- Элемент управления обновления теперь поддерживается во всех подклассах представления прокрутки и представления прокрутки (например
UICollectionView).
Усовершенствования WebKit
В iOS 10 были улучшены следующие улучшения платформы WebKit:
- В класс добавлена
WKWebViewподдержка просмотра и всплывающих окон.ShouldPreviewElementИспользуйте метод, чтобы определить, должен ли данный веб-вид отображать предварительную версию.