iOS 6.0

Эта статья суммирует ключевые связанные с разработчиком функции, представленные в iOS 6. Эта версия операционной системы работает на текущих основанных на iOS устройствах. В дополнение к описанию ключевых новых функций эта статья перечисляет документы, описывающие те функции более подробно.

Для последнего экстренного сообщения и информации об известных проблемах, см. информацию о версии iOS 6.0. Для полного списка нового APIs, добавленного в iOS 6, посмотрите iOS 6.0 API Diffs.

Карты

В дополнение к новым мозаикам карты, предоставленным Apple, приложение Карт и платформа MapKit теперь поддерживают дополнительные взаимодействия с другими приложениями. Приложения, не включающие их собственную поддержку карты теперь, имеют более простой способ запустить приложение Карт и интересные места дисплея или направления. Приложения, предлагающие маршрутную информацию, такую как службы навигации «поворот за поворотом», могут теперь зарегистрироваться как приложение маршрутизации и сделать те службы доступными для всей системы.

При регистрации, поскольку приложение маршрутизации дает Вам больше возможностей получить Ваше приложение перед пользователями. Приложения маршрутизации не ограничиваются просто управлением или обходом направлений. Приложения маршрутизации могут также включать приложения, обеспечивающие направления для любимого велосипеда пользователя или походного маршрута для авиалиний, и для метро или других строк общественного транспорта. И Ваше приложение даже не должно быть установлено на устройстве пользователя. Карты знают о приложениях маршрутизации в App Store и могут предоставить пользователю опцию купить те приложения и использовать их для направлений.

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

Для получения информации о том, как обеспечить направления из Вашего приложения, или как использовать приложение Карт для отображения направлений, см. Руководство по программированию Карт и Расположение.

Социальная платформа

Социальная платформа (Social.framework) обеспечивает простой интерфейс для доступа к учетным записям в социальных сетях пользователя. Эта платформа вытесняет платформу Twitter, представленную в iOS 5 и добавляющую поддержку других социальных счетов, включая Facebook и службу Weibo Сины. Приложения могут использовать эту платформу для регистрации обновлений статуса и изображений в учетную запись пользователя. Эта платформа работает с платформой Учетных записей, чтобы предоставить модель единой точки входа пользователю и гарантировать, что утвержден доступ к учетной записи пользователя.

Платформа UIKit также обеспечивает новое UIActivityViewController класс для отображения действий, которые пользователь мог бы выполнить на некотором выбранном содержании. Одно использование этого класса должно позволить пользователю отправлять содержание на социальные счета, такие как Twitter или Facebook. Вы представляете этот класс модально на iPhone или использовании контроллера легкой сдобы на iPad. Когда пользователь касается одной из кнопок, контроллер представления представляет новый интерфейс для выполнения связанного действия.

Для получения дополнительной информации о Социальной платформе, посмотрите Социальную Ссылку Платформы. Для получения информации о UIActivityViewController класс, см. Ссылку Платформы UIKit.

Набор передачи

Набор передачи является новой технологией, использующей веб-сервисы, новый формат файла и платформу Objective C (PassKit.framework) реализовать поддержку загружаемых передач. Компании могут создать передачи для представления элементов, таких как купоны, посадочные талоны, билеты и дисконтные карты для компаний. Вместо того, чтобы перенести физическое представление этих элементов, пользователи могут теперь сохранить их на своем устройстве на iOS и использовать их тот же путь как прежде.

Передачи созданы веб-сервисом Вашей компании и поставлены устройству пользователя по электронной почте, Safari или Вашему пользовательскому приложению. Сама передача использует специальный формат файла и криптографически подписывается прежде чем быть поставленным. Формат файла идентифицирует релевантную информацию об услуге, предложенной так, чтобы пользователь знал то, для чего это. Это могло бы также содержать штрихкод или другую информацию, которую можно тогда использовать для проверки карты так, чтобы это могло выплачиваться или использоваться.

Для получения дополнительной информации о Наборе Передачи и для получения информации, как добавить поддержку его в Ваши приложения, см. Руководство по программированию Сберкнижки.

Игровой центр

Центр Гэйма был обновлен, и новые опции были добавлены для улучшения опыта ведения игры. Платформа Гэйма Кита (GameKit.framework) включает следующие инкрементные и существенные изменения:

Для получения дополнительной информации о том, как использовать Игровой Центр в Вашем приложении, см. Игровое Руководство по программированию Центра.

Напоминания

Платформа Набора События теперь включает интерфейсы для создания и доступа к напоминаниям на устройстве пользователя. Напоминания, которые Вы создаете, обнаруживаются в приложении Напоминаний вместе с, создаваемыми пользователем. Напоминания могут включать близость или основанные на времени предупреждения.

Для получения дополнительной информации об интерфейсах платформы Набора События, включая новые интерфейсы для создания напоминаний, посмотрите Ссылку Платформы EventKit.

Закупка в приложении

Платформа Стора Кита (StoreKit.framework) теперь поддерживает закупки содержания iTunes в Вашем приложении и предоставляет поддержку для того, чтобы разместить загружаемое содержание на серверах Apple. С покупками в содержимом приложения Вы представляете контроллер представления, позволяющий пользователям купить приложения, музыку, книги и другое содержание iTunes непосредственно из Вашего приложения. Вы идентифицируете элементы, которые Вы хотите сделать доступным для закупки, но остальная часть транзакции обрабатывается для Вас Стором Китом.

До iOS 6 Вы были ответственны за управление любым загружаемым содержанием, сделанным доступный через в закупке приложения. Размещенные загрузки теперь упрощают работу, которую необходимо выполнить для предоставления доступа к содержанию доступным для пользователей. Новое SKDownload класс представляет загружаемую часть содержания. Кроме того, SKPaymentTransaction класс был изменен для обеспечения массива объектов загрузки для любого размещенного содержания. Для загрузки части содержания Вы ставите объект загрузки в очередь на очереди платежа. Когда загрузка завершается, Ваш наблюдатель очереди платежа уведомляется.

Для получения дополнительной информации о классах платформы Стора Кита, посмотрите Ссылку Платформы StoreKit.

Представления набора

UICollectionView класс предлагает новый способ представить упорядоченный данные пользователям. С объектом представления набора Вы теперь в состоянии определить представление и расположение встроенных представлений. Класс представления набора работает в тесном сотрудничестве с сопроводительным объектом расположения определить размещение отдельных элементов данных. UIKit обеспечивает стандартный основанный на потоке объект расположения, который можно использовать для реализации многостолбцовых сеток, содержащих элементы стандарта или переменных размеров. И если Вы хотите пойти вне разметок сетки, можно создать собственные объекты расположения поддерживать любой стиль макета, который Вы выбираете.

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

Другие достойные внимания особенности представлений набора включают:

Для получения дополнительной информации об использовании представлений набора для реализации пользовательского интерфейса см. Руководство по программированию Представления Набора для iOS.

Сохранение состояния UI

Сохранение состояния упрощает для приложений восстанавливать их пользовательский интерфейс к состоянию, это было в том, когда пользователь в последний раз использовал его. До iOS 6 приложения были призваны выписать информацию о своем текущем интерфейсном состоянии, если было завершено приложение. На перезапуск приложение могло использовать это состояние, чтобы восстановить его интерфейс и заставить его казаться, как будто приложение никогда не выходило. Сохранение состояния упрощает этот процесс если Вы со всей базовой инфраструктурой для сохранения и восстановления интерфейса Вашего приложения.

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

Для получения дополнительной информации о том, как добавить поддержку сохранения состояния Вашему приложению, см. Руководство по программированию Приложения для iOS.

Автоматическое расположение

Автоматическое расположение улучшает “пружины, и распорки” модель ранее раньше размечали элементы пользовательского интерфейса. С автоматическим расположением Вы определяете правила для того, как разметить элементы в Вашем пользовательском интерфейсе. Эти правила выражают больший класс отношений и более интуитивны для использования, чем пружины и распорки.

Объекты, используемые в Автоматическом Расположении, являются объектами Objective C, названными ограничениями. Этот подход дает Вам много преимуществ:

Для получения дополнительной информации об использовании автоматического расположения посмотрите Автоматическое Руководство по Расположению.

Конфиденциальность данных

В дополнение к данным расположения система теперь спрашивает разрешение пользователя прежде, чем позволить сторонним приложениям получать доступ к определенным пользовательским данным, включая:

Для контакта, календаря и данных напоминания, Ваше приложение должно быть подготовлено быть запрещенным доступа к этим элементам и скорректировать его поведение соответственно. Если пользователю еще не предложили предоставить доступ, возвращенная структура допустима, но не содержит записей. Если пользователь запретил доступа, приложение получает a NULL значение или никакие данные. Если пользователь дает разрешение к приложению, система впоследствии уведомляет приложение, что это должно перезагрузить или вернуться данные.

Для фото библиотеки существующий интерфейс поддерживает приложение, запрещенное доступа.

Ваше приложение может предоставить описание для того, как оно намеревается использовать данные в Info.plist файл. Когда система должна запросить доступ, те данные тогда выведены на экран пользователю. Для получения дополнительной информации о ключах необходимо добавить к Вашему Info.plist файл, посмотрите информационную Ключевую Ссылку Списка свойств. Для получения дополнительной информации о доступе к определенным видам данных, посмотрите соответствующую ссылку платформы.

Дополнительные улучшения платформы

В дополнение к элементам, обсужденным в предыдущих разделах, следующие платформы имеют дополнительные улучшения. Для полного списка новых интерфейсов посмотрите iOS 6.0 API Diffs.

Платформа UIKit

Платформа UIKit (UIKit.framework) включает следующие улучшения:

  • UIKit теперь поддерживает сохранение состояния для пользовательского интерфейса Вашего приложения; посмотрите Сохранение состояния UI.

  • Представления теперь поддерживают расположение на основе ограничений; посмотрите Автоматическое Расположение.

  • UICollectionView класс (и его классы поддержки и протоколы) поддерживают представление упорядоченных наборов элементов; посмотрите Представления Набора.

  • UITextView и UITextField теперь поддерживайте разработанный текст с помощью приписанных строк.

  • UIKit теперь включает поддержку рисования NSAttributedString и NSMutableAttributedString объекты. Кроме того, основанные на операция со строками представления теперь поддерживают приписанные строки для содержания.

  • Поддержка доступности была улучшена для включения новых улучшений VoiceOver:

    • VoiceOver может теперь использовать жесты для инициирования определенных действий.

    • Разработчики могут упорядочить элементы вместе в списке элемента, который тот VoiceOver создает для обеспечения более логического потока от элемента до элемента.

    • Представления прокрутки могут теперь обеспечить строку особого статуса во время прокрутки.

    • Можно теперь отправить уведомления, позволяющие системе доступности знать расположение приложения, или UI изменился.

    • Новые уведомления предоставляют информацию о состоянии объявлений VoiceOver.

  • UIActivityViewController класс добавляет поддержку совместного использования содержания через службы как электронная почта, Twitter и Facebook; см. также, Социальная Платформа.

  • UIDevice класс добавляет специфичный для поставщика идентификатор.

  • UIImage класс включает новые методы инициализации для указания масштабного коэффициента изображения.

  • Поддержка настройки появления была добавлена к UIBarButtonItem, UIPageControl, UIPageViewController, UISwitch, и UIStepper классы.

  • UITableView класс включает следующие изменения:

    • Поддержка нового UITableViewHeaderFooterView класс реализует заголовки и нижние колонтитулы таблицы

    • Упрощенная модель для создания и управления ячейками и другими представлениями.

  • UITableViewController класс позволяет Вам добавлять встроенное управление обновлением (UIRefreshControl) перезагружать табличное содержание.

  • Раскадровки позволяют Вам раскручивать переходы и указывать идентификаторы восстановления.

  • UIWebView класс обеспечивает способ отключить инкрементный рендеринг веб-контента.

  • UIViewController класс имеет новые интерфейсы, поддерживающие следующие способы поведения:

    • Новые интерфейсы обеспечивают более ясный путь для управления и отслеживания интерфейсных вращений.

    • Можно препятствовать тому, чтобы был инициирован переход.

    • Поддержка была добавлена для раскручивания переходов.

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

Для получения информации о классах платформы UIKit см. Ссылку Платформы UIKit.

OpenGL ES

OpenGL ES включает следующие новые расширения:

  • Расширение GL_EXT_texture_storage позволяет Вашему приложению указывать всю структуру текстуры в единственном вызове, позволяя Вашим текстурам быть оптимизированным далее OpenGL ES.

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

  • Когда только необходимо изменить подмножество буферного объекта, расширение GL_EXT_map_buffer_range улучшает производительность.

  • Расширение GL_APPLE_sync обеспечивает мелкозернистую синхронизацию для Вашего приложения. Это позволяет Вам выбирать подмножество представленных команд OpenGL ES и блока до тех завершенных команд.

  • Расширение GL_EXT_shader_framebuffer_fetch только доступно приложениям OpenGL ES 2.0 и обеспечивает доступ к данным кадрового буфера как ввод к Вашей программе построения теней фрагмента.

Эти расширения доступны на всех устройствах, способных к рабочему iOS 6. Как всегда, проверьте на существование расширения перед использованием его в Вашем приложении.

Платформа медиапроигрывателя

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

Для получения информации о классах платформы Медиапроигрывателя посмотрите Ссылку Платформы Медиапроигрывателя.

Отобразите платформу IO

Изображение платформа IO (ImageIO.framework) включает поддержку доступа к EXIF и свойствам метаданных IPTC для изображений. Можно получить доступ к этим метаданным с помощью функций, связанных с CGImageSourceRef и CGImageDestinationRef непрозрачные типы.

Для получения информации о классах Изображения платформа IO посмотрите Изображение Ссылочный Набор I/O.

Платформа iAd

iAd платформа (iAd.framework) поддерживает новый размер баннера среднего прямоугольника для объявлений на устройствах iPad. Для получения информации о классах iAd платформы см. iAd Ссылку Платформы.

Платформа основы

Платформа Основы (Foundation.framework) включает следующие улучшения:

  • NSFileManager класс включает ubiquityIdentityToken метод для определения доступности iCloud, и NSUbiquityIdentityDidChangeNotification уведомление для ответа на пользователя, входящего в систему или из iCloud или изменяющего учетные записи.

  • NSUUID класс помогает Вам создать объекты, представляющие различные типы UUIDs (Универсально Уникальные идентификаторы). Например, можно создать NSUUID объект с версией 4 RFC 4122 случайные байты, или можно базировать его на существующей строке UUID.

  • NSURLRequest класс позволяет Вам указать, нужно ли запросу позволить произойти по сотовой сети.

  • NSString класс имеет новые методы для преобразования строки к верхнему регистру, нижнему регистру или случаю стартового капитала.

Для получения информации о классах платформы Основы посмотрите Ссылку Платформы Основы.

Внешний вспомогательный платформа

Внешнее Вспомогательное платформа (ExternalAccessory.framework) включает новые интерфейсы для управления соединениями с bluetooth-устройствами. Приложения могут теперь отправить предупредительную панель, перечисляющую bluetooth-устройства, доступные для соединения. Поддержка также предоставлена для пробуждения автоматически не соединяющихся ранее парных аксессуаров.

Для получения информации о классах Внешнего Вспомогательного платформа посмотрите Внешний Вспомогательный Ссылка Платформы.

Платформа набора события

Платформа Набора События (EventKit.framework) включает следующие улучшения:

  • Поддержка платформы создание напоминаний; посмотрите Напоминания.

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

  • Для приложений, соединенных против iOS 6 и позже, система просит разрешение пользователя прежде, чем предоставить доступ к данным напоминания и календарю.

  • Приложения могут теперь отменить редактирование программно от EKEventEditViewController объект.

Для получения информации о классах платформы Набора События см. Руководство по программированию Напоминаний и Календарь.

Базовая видео платформа

Базовая Видео платформа (CoreVideo.framework) добавляет поддержка двух новых форматов пикселя. Эти форматы обеспечивают эффективное хранение для одного канала и изображений с двумя каналами, взаимодействующих с OpenGL ES. Для получения информации о функциях Базовой Видео платформы посмотрите Базовую Видео Ссылку Платформы.

Базовая платформа носителей

Базовая платформа Носителей (CoreMedia.framework) добавляет CMClockRef и CMTimebaseRef типы, определяющие фундаментальные способы поведения службы времени носителей. Для получения информации о функциях Базовой платформы Носителей посмотрите Базовую Ссылку Платформы Носителей.

Базовая платформа расположения

Базовая платформа Расположения (CoreLocation.framework) включает следующие изменения.

  • CLLocationManager возразите теперь приостанавливает поставку событий расположения, когда пользователь не переместился в течение длительного периода времени. Это поведение экономит электроэнергию, позволяя платформе выключить GPS и другие аппаратные средства. Это включено по умолчанию, но может быть отключено путем изменения значения в pausesLocationUpdatesAutomatically свойство менеджера расположения объект.

  • Можно совершенствовать точность размещения на основе использования путем присвоения надлежащего значения activityType свойство CLLocationManager. Это свойство в настоящее время позволяет Вам различить ведущее использование и использование фитнеса.

  • Поддержка платформы улучшила точность размещения в то время как оффлайн и управление.

Для получения информации о классах Базовой платформы Расположения посмотрите Базовую Ссылку Платформы Расположения.

Базовая платформа Bluetooth

Ядро платформа Bluetooth (CoreBluetooth.framework) поддержки, взаимодействующие с bluetooth-устройствами в периферийном режиме. Ранее, устройство на iOS могло только взаимодействовать в центральном режиме, но это может распространить себя в периферийном режиме и связаться с другими устройствами на iOS.

Для получения информации о классах Ядра платформа Bluetooth посмотрите Ядро Ссылка Платформы Bluetooth.

Core Audio

Семья Core Audio платформ включает следующие изменения:

  • Существует новое аудиоустройство AUDeferredRenderer, позволяющее аудио быть обработанным на потоке более низкого приоритета, использующем относительно большие интервалы времени.

  • Аудиоустройство AudioQueueProcessingTap позволяет Вам прерывать данные в аудио-очереди и обрабатывать их.

Для получения информации об аудио технологиях, доступных в iOS, см. Мультимедийное Руководство по программированию. Для получения информации о новых аудиоустройствах посмотрите Ссылку Audio Unit Component Services.

Платформа основы AV

Платформа Основы AV (AVFoundation.framework) включает следующие улучшения:

  • AVPlayer класс добавляет поддержку синхронизации воспроизведения к источнику внешнего времени. Объект сингла может также играть и Прямые трансляции HTTP и основанные на файле активы (и включая локальные файлы и включая файлы, прогрессивно загружающиеся). И можно использовать многократный AVPlayerLayer объекты вывести на экран визуальный вывод того же объекта проигрывателя.

  • Новое AVPlayerItemOutput класс работает с AVPlayerItem объект получить декодируемые видеокадры во время воспроизведения так, чтобы Ваше приложение могло обработать их.

  • AVAssetResourceLoader класс позволяет Вам вставлять объект делегата в процесс загрузки актива и обрабатывать пользовательские запросы ресурса. Этот класс работает с AVURLAsset класс.

  • AVAudioSession класс теперь представляет информацию о текущем аудио маршруте в использовании.

  • AVAudioMixInputParameters класс обеспечивает доступ к MTAudioProcessingTapRef тип данных, который может привыкнуть к аудиоданным доступа, прежде чем это будет играться, читал, или экспортируемый.

  • AVAudioSession класс включает следующие улучшения:

    • Использование аудио делегата сеанса для обнаружения прерываний и изменений теперь осуждается в пользу ряда новых уведомлений.

    • Аудио сеансы поддерживают новую аудио категорию, AVAudioSessionCategoryMultiRoute, это позволяет направлять аудио к и от многократных аудио устройств.

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

  • AVCaptureConnection класс позволяет Вам включать или отключать поддержку видео стабилизации на входящем видео.

  • AVCaptureMetadataOutput класс является новым классом для прерывания метаданных, испускаемых объектом соединения получения.

  • AVMetadataFaceObject новый класс, сообщающий о данных обнаружения поверхности, полученных AVCaptureMetadataOutput объект.

  • AVTextStyleRule класс является новым классом для указания параметров стиля для подзаголовков, субтитров и других связанных с текстом активов носителей.

  • AVAudioPlayer класс может играть аудио элементы от библиотеки iPod пользователя с помощью URLs, полученного из MPMediaLibrary класс. Можно также установить назначения канала с помощью channelAssignments свойство.

Для получения информации о классах платформы Основы AV см. Ссылку Платформы Основы AV.

Платформа поддержки объявления

Платформа Поддержки Объявления (AdSupport.framework) новая платформа, обеспечивающая доступ к идентификатору, который приложения могут использовать в рекламных целях. Эта платформа также обеспечивает флаг, указывающий, выбрал ли пользователь из отслеживания объявления. Приложения требуются, чтобы читать и соблюдать флаг уклонения прежде, чем попытаться получить доступ к рекламному идентификатору.

Для получения дополнительной информации об этой платформе, посмотрите Ссылку Платформы Поддержки Объявления.

Ускорьте платформу

Ускорять платформа (Accelerate.framework) включает новые векторно-скалярные функции питания, vDSP функции, функции дискретного косинусного преобразования, связанные с SSE вектор-функции, синусоидальные функции и функции vImage.

Для получения информации о функциях Ускорять платформы посмотрите, Ускоряют Ссылку Платформы.