iOS 7.0
iOS 7 является основным обновлением с востребованными функциями разработчиков для слияния в их приложения. Пользовательский интерфейс был полностью перепроектирован. Кроме того, iOS 7 представляет новую систему анимации для создания 2D и 2.5D игры. Многозадачные улучшения, одноранговая связь и много других важных функций делают iOS 7 старшим значащим выпуском начиная с первого iPhone SDK.
Эта статья суммирует ключевые связанные с разработчиком функции, представленные в iOS 7. Эта версия операционной системы работает на текущих устройствах на iOS. В дополнение к описанию ключевых новых функций эта статья перечисляет документы, описывающие те функции более подробно.
Для последнего экстренного сообщения и информации об известных проблемах, см. информацию о версии iOS 7.0. Для полного списка нового APIs, добавленного в iOS 7, посмотрите iOS 7.0 API Diffs.
Изменения пользовательского интерфейса
iOS 7 включает много новых функций, предназначенных, чтобы помочь Вам создать большие пользовательские интерфейсы.
Модернизация UI
Пользовательский интерфейс iOS 7 был полностью перепроектирован. Всюду по системе увеличенное резкость внимание на функциональность и на содержание пользователя сообщает каждому аспекту проекта. Полупрозрачность, усовершенствованные визуальные касания и жидкое, реалистическое движение передают ясность, глубину и живучесть к пользовательскому опыту. Создаете ли Вы новое приложение или обновляете существующее, помните эти качества, поскольку Вы работаете над проектом.
Когда приложение выполняется на iOS 7, приложения, скомпилированные против iOS 7 SDK автоматически, получают новое появление для любых стандартных системных представлений. При использовании Автоматического Расположения для установки размера и позиции представлений, те представления изменены местоположение по мере необходимости. Но может все еще быть дополнительная работа, чтобы сделать, чтобы удостовериться, что Ваш интерфейс имеет появление, которое Вы хотите. Точно так же при настройке представлений приложения Вы, возможно, должны внести изменения для поддержки нового появления полностью.
Для руководства о том, как разработать приложения, в полной мере пользующиеся новым взглядом в iOS 7, посмотрите Ресурсы Проекта iOS 7.
Динамические способы поведения для представлений
Приложения могут теперь указать динамические способы поведения для UIView объекты и для других объектов, соответствующих UIDynamicItem протокол. (Объекты, соответствующие этому протоколу, вызывают динамическими элементами.) Динамические способы поведения предлагают способ улучшить пользовательский опыт Вашего приложения путем слияния реального поведения и характеристик, таких как сила тяжести, в анимации приложения. UIKit поддерживает следующие типы динамических способов поведения:
A
UIAttachmentBehaviorобъект указывает соединение между двумя динамическими элементами или между элементом и точкой. Когда один элемент (или точка) перемещения, также перемещается присоединенный элемент. Соединение не абсолютно статично, все же. Присоединяемое поведение имеет свойства затухания и колебания, определяющие, как поведение изменяется в течение долгого времени.A
UICollisionBehaviorобъект позволяет динамическим элементам участвовать в коллизиях друг с другом и с указанными границами поведения. Поведение также позволяет тем элементам соответственно реагировать на коллизии.A
UIGravityBehaviorобъект указывает вектор силы тяжести для своих динамических элементов. Динамические элементы ускоряются в направлении вектора, пока они не сталкиваются с другими соответственно сконфигурированными элементами или с границей.A
UIPushBehaviorобъект указывает непрерывный или мгновенный вектор силы для своих динамических элементов.A
UISnapBehaviorобъект указывает поспешную точку для динамического элемента. Элемент хватает к точке со сконфигурированным эффектом. Например, это может хватать к точке, как будто это было присоединено к пружине.
Динамические способы поведения становятся активными, когда Вы добавляете их к объекту Animator, который является экземпляром UIDynamicAnimator класс. Аниматор обеспечивает контекст, в котором выполняются динамические способы поведения. Данный динамический элемент может иметь многократные способы поведения, но все те способы поведения должны быть анимированы тем же объектом Animator.
Для получения информации о способах поведения можно применяться, видеть Ссылку Платформы UIKit.
Текстовый набор
Текстовый Набор является полнофункциональным набором классов UIKit для управления текстом и прекрасным книгопечатанием. Текстовый Набор может разметить разработанный текст в абзацы, столбцы и страницы; это легко течет текст вокруг произвольных областей, таких как графика; и это управляет многократными шрифтами. Текстовый Набор интегрируется со всеми основанными на тексте средствами управления UIKit, чтобы позволить приложениям создать, отредактировать, вывести на экран, и сохранить текст более легко — и с меньшим количеством кода, чем было ранее возможно в iOS.
Текстовый Набор включает новые классы и расширения существующих классов, включая следующее:
NSAttributedStringкласс был расширен для поддержки новых атрибутов.NSLayoutManagerкласс генерирует глифы и размечает текст.NSTextContainerкласс определяет область, где размечается текст.NSTextStorageкласс определяет фундаментальный интерфейс для управления основанным на тексте содержанием.
Для получения дополнительной информации о текстовом Наборе, см. текстовое Руководство по программированию для iOS.
64-разрядная Поддержка
Приложения могут теперь быть скомпилированы в течение 64-разрядного времени выполнения. Все системные библиотеки и платформы 64-разрядные готовый, означая, что они могут использоваться и в 32-разрядных и в 64-разрядных приложениях. Когда скомпилировано в течение 64-разрядного времени выполнения, приложения могут работать быстрее из-за доступности дополнительных ресурсов процессора в 64-разрядном режиме.
iOS использует ту же модель LP64, использующуюся OS X и другими 64-разрядными системами UNIX, что означает меньше проблем при портировании кода. Для получения информации о iOS 64-разрядное время выполнения и как записать 64-разрядные приложения, посмотрите 64-разрядное Руководство по Переходу для Касания Какао.
Многозадачные улучшения
iOS 7 поддерживает два новых фоновых режима выполнения для приложений:
Приложения, регулярно обновляющие их содержание путем контакта с сервером, могут зарегистрироваться в системе и быть запущены периодически для получения того содержания в фоновом режиме. Для регистрации включайте
UIBackgroundModesключ сfetchоцените в своем приложенииInfo.plistфайл. Затем когда Ваше приложение будет запущено, вызовитеsetMinimumBackgroundFetchInterval:метод, чтобы определить, как часто это получает сообщения обновления. Наконец, необходимо также реализоватьapplication:performFetchWithCompletionHandler:метод в Вашем делегате приложения.Приложения, использующие уведомления нажатия, чтобы уведомить пользователя, что новое содержание доступно, могут выбрать содержание в фоновом режиме. Для поддержки этого режима включайте
UIBackgroundModesключ сremote-notificationоцените в своем приложенииInfo.plistфайл. Необходимо также реализоватьapplication:didReceiveRemoteNotification:fetchCompletionHandler:метод в Вашем делегате приложения.
Приложения, поддерживающие любого fetch или remote-notification фоновые режимы могут быть запущены или перемещены от приостановленного до фонового состояния в подходящее время. В случае fetch фоновый режим, система использует доступную информацию для определения наилучшего времени, чтобы запустить или разбудить приложения. Например, это делает так, когда условия организации сети хороши или когда уже бодрствует устройство. Можно также отправить тихие уведомления нажатия — т.е. уведомления, не выводящие на экран предупреждения или иначе тревожащие пользователя.
Для маленьких обновлений содержания используйте NSURLRequest класс. Чтобы загрузить или загрузить большие части содержания в фоновом режиме, используйте новое NSURLSession класс. Этот класс изменяет к лучшему существующее NSURLConnection класс путем обеспечения простого, основанного на задаче интерфейса для инициирования и обработки NSURLRequest объекты. Сингл NSURLSession объект может инициировать многократную загрузку и загрузить задачи и использовать ее делегата для обработки любых запросов аутентификации, прибывающих из сервера.
Для получения дополнительной информации о новых фоновых режимах, посмотрите состояния Приложения и Многозадачность в Руководстве по программированию Приложения для iOS.
Игры
iOS 7 включает улучшенную поддержку игр.
Платформа набора Sprite
Платформа Набора Sprite (SpriteKit.framework) обеспечивает аппаратно ускоренную систему анимации, оптимизированную для создания 2D и 2.5D игры. Кит Sprite обеспечивает инфраструктуру, в которой большинство игр нужно, включая графическую систему рендеринга и анимации, поддержку воспроизведения звука и механизм моделирования физики. Используя Sprite Кит освобождает Вас от создания этих вещей самих, и это позволяет Вам фокусироваться на проекте Вашего содержания и высокоуровневых взаимодействий для того содержания.
Содержание в приложении Набора Sprite организовано в сцены. Сцена может включать текстурированные объекты, видео, находящиеся на пути формы, Базовые фильтры Изображения и другие специальные эффекты. Набор Sprite берет те объекты и определяет самый эффективный способ представить их на экране. Когда пора анимировать содержание в Ваших сценах, можно использовать Набор Sprite для указания явных действий, которые Вы хотите выполняемый, или можно использовать механизм моделирования физики для определения физических способов поведения (таких как сила тяжести, привлекательность или отвращение) для объектов.
В дополнение к платформе Набора Sprite существуют инструменты Xcode для создания эффектов эмиттера частицы и текстурируют атласы. Можно использовать инструменты Xcode, чтобы управлять ресурсами приложений и обновить сцены Набора Sprite быстро.
Для получения дополнительной информации о том, как использовать Набор Sprite, см. Руководство по программированию SpriteKit. Для наблюдения примера того, как использовать Набор Sprite для создания рабочего приложения см. code:Explained Приключение.
Платформа игрового контроллера
Платформа Игрового контроллера (GameController.framework) позволяет Вам обнаружить и сконфигурировать аппаратные средства игрового контроллера Made-for-iPhone/iPod/iPad (MFi) в своем приложении. Игровые контроллеры могут быть устройствами, подключенными физически к устройству на iOS или соединенными с помощью беспроводных технологий по Bluetooth. Платформа Игрового контроллера уведомляет Ваше приложение, когда контроллеры становятся доступными, и позволяет Вам указать, какие вводы контроллера относятся к Вашему приложению.
Для получения дополнительной информации о поддержке игровых контроллеров, см. Руководство по программированию Игрового контроллера.
Игровые улучшения центра
Игровой Центр включает следующие улучшения:
Основанные на повороте соответствия теперь поддерживают новую функцию, известную как обмены. Обмены позволяют проигрывателям инициировать действия с другими проигрывателями, даже когда это не их очередь. Можно использовать эту функцию для реализации одновременных поворотов, чатов проигрывателя, и торгующийся между проигрывателями.
Предел в списках лидеров на приложение был повышен от 25 до 100. Можно также организовать списки лидеров с помощью a
GKLeaderboardSetобъект, увеличивающий предел 500.Можно добавить условия к проблемам, определяющим, когда была решена проблема. Например, проблема разбить время в ведущей игре могла бы предусмотреть, что другие проигрыватели должны использовать тот же механизм.
Платформа улучшила свою поддержку аутентификации и добавила другие опции для предотвращения обмана.
Для получения дополнительной информации о том, как использовать новые функции Game Center, см. Руководство по программированию Центра Гэйма. Для получения информации о классах платформы Гэйма Кита посмотрите Ссылку Платформы GameKit.
Карты
Платформа Набора Карты (MapKit.framework) включает многочисленные улучшения и функции приложений, использующих основанную на карте информацию. Приложения, использующие карты для отображения основанной на местоположении информации, могут теперь в полной мере воспользоваться 3D поддержкой карты, найденной в приложении Карт, включая управление перспективой просмотра программно. Набор карты также улучшает карты в Вашем приложении следующими способами:
Оверлейные программы могут быть помещены в разные уровни в содержании карты так, чтобы они появились выше или ниже других соответствующих данных.
Можно применяться
MKMapCameraвозразите против карты для добавления позиции, наклона и возглавляющей информации к ее появлению. Информация Вы указываете использование объекта камеры, передает 3D взгляд на карту.MKDirectionsкласс позволяет Вам попросить связанную с направлением маршрутную информацию от Apple. Можно использовать ту маршрутную информацию для создания оверлейных программ для дисплея на собственных картах.MKGeodesicPolylineкласс позволяет Вам создать основанное на строке наложение, следующее за искривлением земли.Приложения могут использовать
MKMapSnapshotterкласс для получения основанных на карте изображений.Визуальное представление оверлейных программ теперь на основе
MKOverlayRendererкласс, заменяющий представления наложения и предлагающий более простой подход рендеринга.Приложения могут теперь дополнить или заменить существующие мозаики карты с помощью
MKTileOverlayиMKTileOverlayRendererклассы.
Для получения дополнительной информации о классах платформы Набора Карты, посмотрите Ссылку Платформы MapKit.
AirDrop
AirDrop позволяет пользователям обменяться фотографиями, документами, URLs и другими видами данных с соседними устройствами. Поддержка AirDrop теперь встроена к существующему UIActivityViewController класс. Этот класс выводит на экран различные варианты для совместного использования содержания, которое Вы указываете. Если Вы еще не используете этот класс, необходимо рассмотреть добавление его к интерфейсу.
Для получения файлов, отправленных через AirDrop, сделайте следующее:
В XCode объявите поддержку типов документов Ваши поддержки приложений. (XCode добавляет надлежащие ключи к Вашему приложению
Info.plistфайл.) Система использует эту информацию, чтобы определить, может ли Ваше приложение открыть данный файл.Реализуйте
application:openURL:sourceApplication:annotation:метод в Вашем делегате приложения. (Системные вызовы этот метод, когда получен новый файл.)
Файлы, отправленные в Ваше приложение, помещаются в Documents/Inbox каталог корневого каталога Вашего приложения. Если Вы планируете изменить файл, необходимо переместить его из этого каталога прежде, чем сделать так. (Система позволяет Вашему приложению читать и удалять файлы в этом каталоге только.) Файлы, хранившие в этом каталоге, шифруются с помощью защиты данных, таким образом, Вы должны быть подготовлены к файлу быть недоступными, если в настоящее время блокируется устройство.
Для получения дополнительной информации об использовании контроллера представления действия для совместного использования данных посмотрите Ссылку класса UIActivityViewController.
Аудио межприложения
Платформа Аудиоустройства (AudioUnit.framework) добавляет поддержка Аудио Межприложения, включающего возможности отправить команды MIDI и потоковое аудио между приложениями на том же устройстве. Например, Вы могли бы использовать эту функцию, чтобы записать музыку из приложения, действующего как инструмент или использовать его для отправки аудио в другое приложение для обработки. Для продажи аудиоданных приложения опубликуйте аудиоустройство I/O (AURemoteIO) это видимо к другим процессам. Для использования функций аудио из другого приложения используйте аудио интерфейсы открытия компонента в iOS 7.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения общей информации об интерфейсах этой платформы, посмотрите Ссылку Платформы Аудиоустройства.
Одноранговая связь
Мультиравноправная платформа Связи (MultipeerConnectivity.framework) поддерживает открытие соседних устройств и прямой связи с теми устройствами, не требуя Интернет-соединения. Эта платформа позволяет создать мультиудаленные сеансы легко и поддерживать надежный чтобы передача данных реального времени и передача данных. С этой платформой Ваше приложение может связаться с соседними устройствами и беспрепятственно обмениваться данными.
Платформа предоставляет программируемые и основанные на UI возможности для обнаружения и управления сетевыми службами. Приложения могут интегрироваться MCBrowserViewController класс в их пользовательский интерфейс для отображения списка удаленных устройств для пользователя для выбора из. Также можно использовать MCNearbyServiceBrowser класс, чтобы искать и управлять удаленными устройствами программно.
Для получения дополнительной информации об интерфейсах этой платформы, посмотрите Мультиравноправную Ссылку Платформы Связи.
Новые платформы
iOS 7 включает следующие новые платформы:
Платформа Игрового контроллера (
GameController.framework) обеспечивает интерфейс для связи со связанными с игрой аппаратными средствами; посмотрите“Game Controller Framework”.Платформа Набора Sprite (
SpriteKit.framework) предоставляет поддержку для основанных на спрайте анимаций и графического рендеринга; посмотрите Платформу Набора Sprite.Мультиравноправная платформа Связи (
MultipeerConnectivity.framework) обеспечивает одноранговые сети для приложений; посмотрите Одноранговую Связь.Платформа Ядра JavaScript (
JavaScriptCore.framework) обеспечивает классы обертки Objective C для многих стандартных объектов JavaScript. Используйте эту платформу, чтобы оценить код JavaScript и проанализировать данные JSON. Для получения информации о классах этой платформы посмотрите заголовочные файлы платформы.Платформа Доступности Носителей (
MediaAccessibility.framework) управляет представлением закрытых - озаглавленное содержание в Ваших медиа-файлах. Эта платформа работает в сочетании с новыми настройками, позволяющими пользователю включить дисплей субтитров.Платформа Safari Services (
SafariServices.framework) предоставляет поддержку для того, чтобы программно добавить URLs к списку чтения Safari пользователя. Для получения информации о классе, предоставленном этой платформой, посмотрите заголовочные файлы платформы.
Улучшения к существующим платформам
В дополнение к его новым функциям iOS 7 также включает значительные улучшения, организованные здесь платформой. Для полного списка новых интерфейсов посмотрите iOS 7.0 API Diffs.
Платформа UIKit
Платформа UIKit (UIKit.framework) включает следующие улучшения:
Все элементы UI были обновлены для представления нового взгляда, связанного с iOS 7.
Динамика UIKit позволяет Вам подражать реальным эффектам, таким как сила тяжести в Ваших анимациях; посмотрите Динамические Способы поведения для Представлений.
Текстовый Набор обеспечивает сложное редактирование текста и возможности дисплея; посмотрите текстовый Набор.
UIViewкласс определяет следующие дополнения:tintColorсвойство применяет цвет оттенка и к представлению и к его подпредставлениям. Для получения информации о том, как применить цвета оттенка, посмотрите Руководство по Переходу iOS 7 UI.Можно создать основанные на ключевом кадре представления использования анимаций. Можно также внести изменения в представления и в частности препятствовать тому, чтобы были выполнены любые анимации.
UIViewControllerкласс определяет следующие дополнения:Переходы контроллера представления могут настраиваться, управляться в интерактивном режиме или заменяться в целом с, которые Вы определяете.
Контроллеры представления могут теперь указать свой предпочтительный стиль строки состояния и видимость. Система использует предоставленную информацию для управления стилем строки состояния, поскольку появляются новые контроллеры представления. Можно также управлять, как это поведение применяется с помощью
UIViewControllerBasedStatusBarAppearanceвведите свое приложениеInfo.plistфайл.UIMotionEffectкласс определяет основное поведение для эффектов движения, которые являются объектами, определяющими, как представление реагирует на основанное на устройстве движение.Представления набора добавляют поддержку промежуточных переходов расположения, и контексты аннулирования (контексты аннулирования помогают Вам улучшить производительность своего кода пользовательского макета). Можно также применить Динамику UIKit к атрибутам макета представления набора для анимации элементов в наборе.
imageNamed:методUIImageподдержки, получающие изображения, сохранили в каталогах актива, которые являются способом управлять и оптимизировать активы, имеющие многократные размеры и разрешения. Вы создаете каталоги актива в XCode.Существуют методы на
UIViewиUIScreenдля создания снимка их содержания. Генерация снимков с помощью этих новых интерфейсов значительно быстрее, чем рендеринг представления или экранного содержания самостоятельно.Устройства распознавания жеста могут указать зависимости динамично, чтобы гарантировать, что одно устройство распознавания жеста перестало работать, прежде чем другого рассматривают.
UIKeyCommandкласс обертывает события клавиатуры, полученные от внешней аппаратной клавиатуры. Эти события поставлены цепочке респондента приложения для обработки.A
UIFontDescriptorобъект описывает шрифт с помощью словаря атрибутов. Используйте дескрипторы шрифта для взаимодействия с другими платформами.UIFontиUIFontDescriptorклассы поддерживают калибровку динамического текста, улучшающую четкость для текста в приложениях. С этой функцией, контроль за работой пользователей желаемый размер шрифта, который должны использовать все приложения в системе.UIActivityкласс теперь поддерживает новые типы действия, включая действия для отправки элементов через AirDrop, добавление элементов к списку чтения Safari и регистрации содержания к Flickr, Tencent Weibo и Vimeo.UIApplicationDelegateпротокол добавляет методы для обработки фоновых способов поведения выборки.UIScreenEdgePanGestureRecognizerкласс является новым устройством распознавания жеста, отслеживающим жесты панорамирования, происходящие около края экрана.UIKit добавляет поддержку выполнения в ведомом режиме доступа, позволяющем приложению блокировать себя для предотвращения модификации пользователем. Этот режим предназначается для учреждений, таких как школы, где пользователи приносят свои собственные устройства, но должны выполнить приложения, предоставленные учреждением.
Восстановление состояния теперь позволяет сохранение и восстановление любого объекта. Объекты, принимающие
UIStateRestoringпротокол может выписать информацию состояния, когда приложение перемещается в фон, и восстановите то состояние во время последующих запусков.Табличные представления теперь поддерживают оценку высоты строк и других элементов, который улучшает прокрутку производительности.
Можно теперь более легко сконфигурировать a
UISearchDisplayControllerвозразите для работы с aUINavigationBarобъект.
Для получения информации о классах этой платформы см. Ссылку Платформы UIKit.
Платформа набора хранилища
Платформа Стора Кита (StoreKit.framework) мигрировал на новую систему получения, которую разработчики могут использовать для проверки покупок в приложении на самом устройстве. Можно также использовать его для проверки получения закупки приложения на сервере.
Для получения дополнительной информации о том, как использовать эту новую систему получения, см. Руководство по программированию Проверки Получения.
Платформа набора передачи
Платформа Набора Передачи (PassKit.framework) включает новый APIs для добавления многократных передач в единственной работе.
Эти новые опции были добавлены к формату файла передачи:
Новые ключи указывают дату истечения срока передачи.
Можно указать, что передача релевантна только, когда это около определенного iBeacons.
Новые атрибуты управляют, как передача выведена на экран. Можно собрать в группу передачи, ссылки дисплея с пользовательским текстом в конце передачи, и управлять, как временные стоимости выведены на экран на передаче.
Можно теперь связать дополнительные данные с передачей. Эти данные доступны Вашему приложению, но не выведены на экран пользователю.
Можно определять который детекторы данных примениться к полям передач.
Для получения информации о том, как использовать Набор Передачи в Вашем приложении, см. Руководство по программированию Сберкнижки. Для получения информации о формате файла передачи посмотрите Ссылку Формата Пакета Сберкнижки.
OpenGL ES
iOS 7 добавляет поддержку OpenGL ES 3.0 и добавляет новые опции к OpenGL ES 2.0.
OpenGL ES 3.0 включает как базовую функциональность функции многих расширений, поддерживаемых в OpenGL ES 2.0 на iOS. Но OpenGL ES 3.0 также добавляет новые опции к OpenGL язык штриховки ES и новая базовая функциональность, которая никогда не была доступна на мобильных процессорах прежде, включая многократные цели рендеринга и преобразовывает обратную связь. Можно использовать OpenGL ES 3, чтобы более легко реализовать усовершенствованные методы рендеринга, такой, как задержано рендеринг.
Для создания контекста OpenGL ES 3 на устройствах, поддерживающих его передайте
kEAGLRenderingAPIOpenGLES3постоянный кinitWithAPI:метод.OpenGL ES 2 добавляет следующие новые расширения:
Расширение EXT_sRGB добавляет поддержку sRGB операций кадрового буфера.
Расширение GL_EXT_pvrtc_sRGB добавляет, что поддержка данных текстуры sRGB, сжатых в PVRTC, текстурирует формат сжатия. (Это расширение также поддерживается в OpenGL ES 3.0).
Когда Ваше приложение рисует многократные экземпляры того же объекта, GL_EXT_draw_instanced и расширения GL_EXT_instanced_arrays могут улучшить производительность рендеринга. Вы используете единственный вызов для рисования экземпляров того же объекта. Вы добавляете изменение к каждому экземпляру путем указания, как быстро каждый атрибут вершины совершенствуется или путем ссылки на ID для каждого экземпляра в программе построения теней.
К текстурам можно получить доступ в вершинных шейдерах и в OpenGL ES 2.0 и в 3.0. Запросите значение
MAX_VERTEX_TEXTURE_IMAGE_UNITSатрибут для определения точного числа текстур можно получить доступ. В более ранних версиях iOS этот атрибут всегда имел значение0.
Для получения дополнительной информации посмотрите OpenGL Руководство по программированию ES для iOS и Ссылки Совместимости устройства на iOS.
Передайте платформу UI
В сообщении платформа UI, MFMessageComposeViewController класс добавляет поддержку присоединения файлов к сообщениям.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения информации о классах этой платформы посмотрите, передают Ссылку Платформы UI.
Платформа медиапроигрывателя
В платформе Медиапроигрывателя, MPVolumeView класс предоставляет поддержку для определения, доступны ли беспроводные маршруты, такие как AirPlay и Bluetooth пользователю для выбора. Можно также определить, в настоящее время активен ли один из этих беспроводных маршрутов. Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы.
Для получения информации о классах платформы Медиапроигрывателя посмотрите Ссылку Платформы Медиапроигрывателя.
Платформа набора карты
Платформа Набора Карты (MapKit.framework) включает изменения, описанные в Картах.
Для получения информации о классах этой платформы посмотрите Ссылку Платформы MapKit.
Отобразите Платформу I/O
Изображение платформа I/O (ImageIO.framework) теперь имеет интерфейсы для получения и установки метаданных изображения.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения информации о классах этой платформы посмотрите Изображение Ссылочный Набор I/O.
Платформа iAd
iAd платформа (iAd.framework) включает два расширения других платформ, упрощающих включать объявления в содержание Вашего приложения:
Платформа внедряет новые методы на
MPMoviePlayerControllerкласс, которые позволяют Вам выполнить объявления перед фильмом.Платформа расширяется
UIViewControllerкласс, чтобы упростить создавать поддерживаемое объявлением содержание. Можно теперь сконфигурировать контроллеры представления для отображения объявлений прежде, чем вывести на экран фактическое содержание, которым они управляют.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения информации о классах этой платформы посмотрите Ссылку Платформы Поддержки Объявления.
Игровая платформа набора
Платформа Гэйма Кита (GameKit.framework) включает многочисленные изменения, описанные в Игровых Улучшениях Центра.
Для получения информации о классах этой платформы посмотрите Ссылку Платформы GameKit.
Платформа основы
Платформа Основы (Foundation.framework) включает следующие улучшения:
NSDataкласс добавляет поддержку кодирования Base64.NSURLSessionкласс является новым классом для управления сбором основанных на сети ресурсов. (Можно использовать его для загрузки содержания, даже когда приложение приостановлено или не выполнение.) Этот класс служит заменой дляNSURLConnectionкласс и его делегат; это также заменяетNSURLDownloadкласс и его делегат.NSURLComponentsкласс является новым классом для парсинга компонентов URL. Этот класс поддерживает стандарт URI (rfc3986/STD66) для парсинга URLs.NSNetServiceиNSNetServiceBrowserклассы поддерживают одноранговое открытие по Bluetooth и Wi-Fi.NSURLCredentialиNSURLCredentialStorageклассы позволяют Вам создать учетные данные с synchronizable политикой, и они предоставляют возможность удаления учетных данных с synchronizable политикой от iCloud.NSURLCache,NSURLCredentialStorage, иNSHTTPCookieStorageклассы теперь поддерживают асинхронную обработку запросов на хранение.NSCalendarкласс поддерживает новые типы календаря.NSProgressкласс обеспечивает способ общего назначения контролировать динамику работы и сообщить, что прогресс к другим частям Вашего приложения, хотящим использовать его.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы и информацию о версии Основы. Для получения общей информации о классах этой платформы, посмотрите Ссылку Платформы Основы.
Базовая платформа телефонии
Базовая платформа Телефонии (CoreTelephony.framework) позволяет Вам получить информацию о типе радио-технологии в использовании устройством. Приложения, разработанные в сочетании с поставщиком услуг, могут также аутентифицировать против определенного подписчика для того поставщика услуг.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения общей информации о классах Базовой платформы Телефонии, посмотрите Базовую Ссылку Платформы Телефонии.
Базовая платформа движения
Базовая платформа Движения (CoreMotion.framework) добавляет поддержка подсчета шага и отслеживания движения. С подсчетом шага платформа обнаруживает перемещения, соответствующие пользовательскому движению, и использует ту информацию для создания отчетов о числе шагов к приложению. Поскольку система обнаруживает движение, она может продолжать собирать данные шага, даже когда не работает Ваше приложение. Рядом с этой функцией платформа может также отличить различные типы движения, включая различные движения, отражающие из перемещения путем обхода, путем выполнения, или автомобилем. Приложения навигации могли бы использовать те данные для изменения типа направлений, которые они дают пользователям.
Для получения информации о классах этой платформы посмотрите Базовую Ссылку Платформы Движения.
Базовая платформа расположения
Базовая платформа Расположения (CoreLocation.framework) контроль области поддержек и располагающийся, используя bluetooth-устройства. Контроль области позволяет Вам определить, вводит ли устройство на iOS определенную область, и расположение позволяет Вам определить относительный диапазон соседних bluetooth-устройств. Например, художественный музей мог бы использовать область, контролирующую, чтобы определить, является ли лицо в определенной галерее, и затем поместите iBeacons около каждого рисования. Когда лицо работает в резервном режиме рисование, приложение вывело бы на экран информацию об этом.
Платформа также поддерживает задержку поставки обновлений информации о местоположении, пока определенное время не протекло, или пользователь переместил минимальное расстояние.
Для получения общей информации о классах этой платформы, посмотрите Базовую Ссылку Платформы Расположения.
Базовая платформа основы
Базовая платформа Основы (CoreFoundation.framework) теперь позволяет Вам запланировать потоковые объекты на очереди отгрузки.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения общей информации об интерфейсах этой платформы, посмотрите Базовую Ссылку Платформы Основы.
Базовая платформа Bluetooth
Ядро платформа Bluetooth (CoreBluetooth.framework) включает следующие улучшения:
Поддержка платформы, сохраняющая информацию состояния для центральных и периферийных объектов и восстанавливающая то состояние в приложении, запускает время. Можно использовать эту функцию для поддержки долгосрочных действий, включающих bluetooth-устройства.
Центральные и периферийные классы теперь используют
NSUUIDвозразите для хранения уникальных идентификаторов.Можно теперь получить периферийные объекты от центрального менеджера синхронно.
Для получения информации о классах этой платформы посмотрите Ядро Ссылка Платформы Bluetooth и Ядро Руководство по программированию Bluetooth.
Платформа основы AV
Платформа Основы AV (AVFoundation.framework) включает следующие улучшения:
AVAudioSessionкласс поддерживает следующие новые способы поведения:Выбор предпочтительного аудиовхода, включая аудио от встроенных микрофонов
Многоканальный ввод и вывод
AVVideoCompositingпротокол и связанные классы позволяют Вам поддерживать пользовательских видео наборщиков.AVSpeechSynthesizerкласс и связанные классы обеспечивают возможности синтеза речи.Классы получения добавляют поддержку и интерфейсы для следующих функций:
Открытие поддерживаемых форматов камеры и частот кадров
Высокая запись кадр/с
Стабилизация неподвижного изображения
Видео изменение масштаба (истина и цифровой) в записях и предварительном просмотре видео, включая пользовательское сползание
Открытие в реальном времени машиночитаемых метаданных (штрихкоды)
Ограничение автодиапазона фокусировки
Гладкий автофокус для получения
Совместное использование аудио сеанса приложения во время получения
Доступ к часам используется во время получения
Доступ к состоянию авторизации устройства захвата изображения (пользователь должен теперь предоставить доступ к микрофону и камере),
Рекомендуемые настройки для использования с выводами данных и писателем актива
Существуют новые ключевые пространства метаданных для поддерживаемых форматов ISO, таких как MPEG 4 и 3GPP, и улучшенная поддержка фильтрации элементов метаданных при копировании тех элементов от исходных активов до выходных файлов с помощью
AVAssetExportSessionкласс.AVAssetWriterкласс оказывает помощь в формулировке выходных настроек, и существуют новые константы уровня для кодирования H.264.AVPlayerLayerкласс добавляетvideoRectсвойство, которое можно использовать для получения размера и позиции видеоизображения.AVPlayerItemкласс поддерживает следующие изменения:Свойства актива могут быть загружены автоматически когда
AVPlayerItemобъекты подготовлены к воспроизведению.Когда Вы соединяете свое приложение против iOS 7 SDK, поведения при получении значений свойств элемента проигрывателя — такой как
duration,tracks, илиpresentationSizeсвойства — отличаются от способов поведения в предыдущих версиях iOS. Свойства этого класса теперь возвращают значение по умолчанию и больше не блокируют Ваше приложение еслиAVPlayerItemобъект еще не готов играть. Как только состояние элемента проигрывателя изменяется наAVPlayerItemStatusReadyToPlay, методы get отражают фактические значения базового медиаресурса. Если Вы используете наблюдение значения ключа для наблюдения изменений к свойствам, наблюдатели уведомляются, как только изменения доступны.
AVPlayerItemLegibleOutputкласс может обработать синхронизированный текст от медиа-файлов.AVAssetResourceLoaderDelegateпротокол теперь поддерживает загрузку произвольных диапазонов байтов от медиаресурса.
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения общей информации о классах этой платформы, см. Ссылку Платформы Основы AV.
Ускорьте платформу
Ускорять платформа (Accelerate.framework) включает следующие улучшения:
Улучшенная поддержка управления Базовыми Графическими типами данных
Поддержка работы с полутоновыми изображениями 1, 2, или 4 бита на пиксель
Новые подпрограммы для преобразования изображений между различными форматами и преобразованием содержимых изображения
Поддержка biquad операций (IIR)
Для получения информации о новых интерфейсах посмотрите заголовочные файлы платформы. Для получения общей информации о функциях и типах этой платформы, посмотрите, Ускоряют Ссылку Платформы.
Objective C
Язык программирования Objective C был улучшен к модулям поддержки, приводящим к более быстрым сборкам и более короткому проекту, индексирующему времена. Поддержка модуля включена во всех новых проектах, создаваемых с помощью Xcode 5. Если у Вас есть существующие проекты, необходимо включить эту поддержку явно путем изменения установки Enable Modules проекта.
Осуждаемый APIs
Время от времени Apple добавляет макросы осуждения к APIs, чтобы указать, что тот APIs больше не должен использоваться в активной разработке. Когда осуждение происходит, это не непосредственный конец жизни указанному API. Вместо этого это - начало льготного периода для перехода прочь что API и на более новые и более современные замены. Осуждаемый APIs обычно остается существующим и применимым в системе для разумного количества времени мимо выпуска, в котором они осуждались. Однако активная разработка на них прекращается, и APIs получает только незначительные изменения — чтобы разместить патчи безопасности или исправить другие критические ошибки. Осуждаемый APIs может быть удален полностью из будущей версии операционной системы.
Как разработчик, важно, чтобы Вы избегали использования, осудил APIs в Вашем коде как можно скорее. Как минимум новый код, который Вы пишете, никогда не должен использовать, осудил APIs. И если у Вас есть существующий код, использующий осуждаемый APIs, обновите тот код как можно скорее. К счастью, компилятор генерирует предупреждения каждый раз, когда он определяет использование осуждаемого API в Вашем коде, и можно использовать те предупреждения разыскать и удалить все ссылки на тот APIs.
Этот выпуск включает осуждения в следующие технологические области:
Платформа Набора Карты включает осуждения для
MKOverlayViewкласс и его различные подклассы. Существующие представления наложения были заменены обновленным набором объектов средства рендеринга наложения то убывание отMKOverlayRendererкласс. Для получения дополнительной информации о классах этой платформы, посмотрите Ссылку Платформы MapKit.Аудио Сеанс API в Аудио платформе Панели инструментов осуждается. Приложения должны использовать
AVAudioSessionкласс в платформе Основы AV вместо этого.CLRegionкласс в Базовой платформе Расположения заменяетсяCLCircularRegionкласс.CLRegionкласс продолжает существовать как абстрактный базовый класс, поддерживающий и географические области и области маркера.UUIDсвойствоCBCentralкласс осуждается. Для указания уникального идентификатора центральных объектов используйтеidentifierсвойство вместо этого.Платформа Гэйма Кита содержит различные осуждения, предназначенные, чтобы очистить существующий API и предоставить лучшую поддержку для новых функций.
Платформа UIKit содержит следующие осуждения:
wantsFullScreenLayoutсвойствоUIViewControllerосуждается. В iOS 7 и позже, контроллеры представления всегда поддерживают полноэкранное расположение.UIColorобъекты это, если не стало фоновых текстур для более ранних версий iOS.Много дополнений получения к
NSStringкласс осуждается в пользу более новых вариантов.
gethostuuidфункция вlibsyscallбиблиотека осуждается.В iOS 7 и позже, если Вы просите MAC-адрес устройства на iOS, система возвращает значение
02:00:00:00:00:00. Если необходимо идентифицировать устройство, используйтеidentifierForVendorсвойствоUIDeviceвместо этого. (Приложения, для которых нужен идентификатор в их собственных рекламных целях, должны рассмотреть использованиеadvertisingIdentifierсвойствоASIdentifierManagerвместо этого.)
Для полного списка определенных осуждений API посмотрите iOS 7.0 API Diffs.