[Разработчику] Что нового в iOS 6

В данной статье вы можете узнать более подробно о функциях и возможностях операционной системы iOS 6. Система iOS 6 оснащена удобным интерфейсом, обновленными функциями и обладает высоким уровнем надёжности. Если вы хотите узнать последние новости об этой системе и о проблемах данной версии, см. iOS 6.0. Чтобы просмотреть полный список новых APIs, добавленных в систему iOS 6, смотрите iOS 6.0 API Diffs.

iOS 6

Карты

В дополнение к новым спискам появилось приложение «Карты», которое разработано Apple. Приложение «Карты» и MapKit теперь могут взаимодействовать с другими приложениями. Запуская такое приложение как «Карты», вы можете с легкостью использовать его по назначению, оно будет указывать и показывать вам необходимые места. Приложения, которые предоставляют вам информацию о направлении, т.е. услугу навигации, можете сделать доступной для всей системы. Перед тем как запускать данное приложение следует зарегистрироваться, таким образом у вас будет больше возможностей перед пользователями. Приложение «Карты» предоставляет вам информацию о дорожном движении в реальном времени. Если вы пропустили свой поворот, не беспокойтесь. Приложение «Карты» автоматически найдёт новый маршрут и обновит данные о времени прибытия. Вы можете даже не устанавливать приложение на устройство пользователя. В магазине есть такие приложения как «Карты», и пользователь на выбор может купить приложения и использовать их по указанию. Также добавился полноценный режим навигации — turn by turn (поворот за поворотом). Режим навигации в iOS сможет полностью заменить ваш GPS навигатор, отображая расширенную информацию о пробках, происшествиях, проблемах с дорогами и прочим. Для информации о том, как установить себе данное приложение, или как использовать приложение «Карты», см. Location Awareness Programming Guide.

maps

Social framework

Social framework оснащен простым интерфейсом. Он обеспечивает доступ пользователям к использованию социальных сетей. Social framework вытесняет Twitter framework, который был введен в систему iOS 5 и поддерживает такие социальные сети, как Facebook и Sina’s Weibo. Приложения используют этот framework, поставляя пользователю информацию о корректировках данных и изображениях. Также этот framework используют при работе с системой настроек соединения. Посещая социальные сети с помощью этого framework, вы можете установить защиту на любую модель вашего компьютера. Вы можете быть уверенны в том, что ваш доступ к системам настроек не будет взломан.

UIKit

UIKit также поддерживает новый класс UIActivityViewController, он показывает все действия, которые пользователь выполняет на отобранном контенте. Использование этой программы разрешает пользователю отправлять смс-ки на социальные сайты, такие как Twitter или Facebook. Вы можете установить это приложение на iPhone или на iPad с возможностью использовать услугу диспетчера. Когда пользователь нажимает на одну из кнопок, диспетчер представляет новый интерфейс для того, чтобы выполнить связанное действие. За дополнительной информацией о данном разделе, см Social Framework Reference. Для информации о функции UIActivityViewController см. UIKit Framework Reference.

Pass Kit

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

passkit

Game Center

Новое приложение Game Center позволит вам расширить социальную игровую сеть с невероятной быстротой. Структура GameKit.framework включает следующие существенные изменения:

  • Изменения позволяют игроку менять соперника. Игроки могут вносить сами некоторые изменения со стороны приложения Game Center. Вы можете также использовать подгруппу GKChallenge, чтобы определиться с проблемами изнутри вашей игры.
  • С помощью GKGameCenterViewController вы можете проконтролировать счет игры leaderboard, или же отправить запрос операторам, которые проинформируют вас о счете игры.
  • Изменился процесс подтверждения подлинности игрока. В новом разделе вы устанавливаете authenticateHandler (имя игрока) лично в блок и утверждаете подлинность этого имени. Вы можете создать другой псевдоним, который будет виден вашим друзьям и игровому сообществу. Также ваше имя должен зарегистрировать диспетчер задач, таким образом легче проконтролировать опознавательный процесс.
  • В разделе есть функция тайм-аут, при которой игрок может выйти из игры в любое время. Используя функцию тайм-аут, вы можете выбирать игроков из списка, с которыми хотите поиграть. Если игрок взял тайм-аут, следующий игрок может занять его место.
  • Раздел GK Matchmaker был обновлен. Его используют для программного установления соответствий. У вас есть возможность внедрить в ваш собственный пользовательский интерфейс раздел GK Matchmaker.
  • Класс GK Player теперь отображает список имен на дисплеях игроков.
  • Класс GK Match предоставляет такой метод, который позволяет оценить, у какого игрока есть лучшая связь с Game Center. Вы можете использовать этот метод, создав свою собственную ссылку клиент-сервер сверху GK Match.
  • Данный раздел GK Achievement представляет множество функций, которые можно использовать одновременно.

За дополнительной информацией о том, как использовать Game Center в вашем приложении, см. Game Kit Programming Guide.

gamecenter

Напоминания

С помощью Event Kit framework вы можете создавать напоминания на устройствах пользователей. Напоминания, которые вы создаете, отображаются в приложении «Напоминания». «Напоминания» могут содержать различный контекст. За дополнительной информацией об интерфейсах структуры Event Kit, включая новые интерфейсы для создания напоминания, см. Event Kit Framework Reference.

In-App Purchase

С помощью Store Kit framework вы можете совершать покупки и принимать загруженные файлы на серверах Apple. В разделе «Покупка приложений» вы можете выставить список приложений, который позволит пользователям на выбор покупать приложения, музыку, книги и другой контент в iTunes непосредственно внутри вашего приложения. Вы идентифицируете пункты, которые вы хотите сделать доступными для покупки, но остальную часть сделки обрабатывает для вас Store Kit. Согласно последнему заявлению разработчика с сайта Reddit, в iOS 6 Beta 3 пользователю больше нет необходимости вводить пароль от своего Apple ID при покупке бесплатного приложения. Стоит отметить, необходимость ввода пароля при скачке бесплатных приложений, которая невероятно сильно надоедала большинству пользователей iгаджетов, вследствие чего даже был выпущен специальный твик, позволяющий обойти необходимость ввода пароля. Помимо этого, Apple также реализовала возможность загрузки приложений без закрытия App Store, что должно значительно упростить процесс покупки приложений. Новый класс SKDownload представляет загружаемую часть контента. Кроме того, класс SKPaymentTransaction был изменен, теперь вы можете загружать большое количество файлов любого содержания. Чтобы загрузить файл, вы должны поставить объект загрузки на платежную очередь. Когда загрузка закончится, система проинформирует вас об этом. За дополнительной информацией о «Покупке приложений», см. Store Kit Framework Reference.

Коллекции

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

  • Класс UICollectionViewController нужен для управления коллекцией, представленной в вашем приложении
  • При создании коллекции вы можете использовать мультипликацию
  • Поддерживает такие функции, как: вставка, перемещение и удаление пунктов
  • Упрощенная модель для создания и управления сетями и другими коллекциями

За дополнительной информацией о новых классах представления коллекции, см. UIKit Framework Reference.

Безопасность

Теперь стало намного легче вернуть приложения в пользовательский интерфейс, неважно, когда в последний раз пользователь его использовал. До выпуска версии IOS 6, по окончанию создания приложения из него надо было выписывать информацию о своем текущем интерфейсном состоянии. При перезапуске приложения, восстанавливается интерфейс, это выглядит так, как будто приложение никуда не уходило. Процесс перезагрузки и сохранения интерфейса вашего приложения упрощается в том случае, если вы оснащены всей основной инфраструктурой. Чтобы сохранить все данные, вы должны будете идентифицировать часть вашего интерфейса. Кроме этого, надо настроить функции сохранения и восстановления, при возникновении непредвиденных обстоятельств, таких как недостаток контента во время последующего перезапуска или изменений UI вашего приложения. За дополнительной информацией о данном разделе, см. iOS App Programming Guide.

Auto Layout

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

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

Дополнительную информацию об использовании Auto Layout, смотрите Cocoa Auto Layout Guide.

autolayout

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

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

  • Контакты
  • Календари
  • Напоминания
  • Фотобиблиотека

система теперь будет спрашивать разрешение у пользователя.

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

text1

Additional Framework Enhancements

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

UIKit

UIKit.framework включает следующие улучшения:

  • UIKit теперь поддерживает государственную безопасность данных для пользовательского интерфейса вашего приложения; см. UI State Preservation
  • Вы без проблем можете выстроить собственные элементы в интерфейсе, см. Auto Layout.
  • Класс UICollectionView позволяет вам создавать и размещать коллекции так, как вам нравится; см. Collection Views
  • С помощью классов UITextView и UITextField вы можете создать текст с графическими элементами.
  • UIKit теперь включает такие функции как разработку объекта NSMutableAttributedString, так и рисованиеNSAttributedString.
  • Включены улучшения для голосовой связи:
    • VoiceOver может теперь использовать жесты, чтобы вызвать определенные действия.
    • Чтобы обеспечить более логический поток от элемента к элементу, разработчики могут заказать любой элемент, который VoiceOver создает.
    • Вы можете теперь опубликовать данные, которые позволяют системе знать расположение вашего приложения.
    • Новые уведомления предоставляют информацию об улучшениях голосовых настроек.
  • Класс UIActivityViewController обеспечивает передачу информации через соц. сети, такие как Twitter и Facebook; см. также, Social Framework.
  • Класс UIDevice добавляет определенные для рекламы и определенные для продавца идентификаторы.
  • Класс UIImage включает новые методы инициализации для того, чтобы определить коэффициент пропорциональности изображения.
  • Функция настройки изображения была добавлена к UIBarButtonItemUIPageControlUIPageViewControllerUISwitch и классам UIStepper.
  • Класс UITableView включает следующие изменения:
    • С этим подклассом UITableViewHeaderFooterView вы можете писать заголовки и нижние сноски таблицы.
    • Упрощенная модель для создания и управления сетями и другими коллекциями.
  • Класс UITableViewController позволяет вам осуществлять контроль (UIRefreshControl) при перезагрузке содержания стола.
  • Раскадровка позволяет вам раскручивать переходы и определять идентификаторы восстановления.
  • Класс UIWebView предоставляет возможность отключить дополнительный рендеринг веб-контента (incremental rendering).
  • У класса UIViewController есть новые интерфейсы, поддерживающие следующие функции:
  • Новые интерфейсы обеспечивают более правильный путь для управления и отслеживания поворотами интерфейса.
  • Вы можете препятствовать переходу.
  • Поддержка была добавлена для того, чтобы раскрутить переходы.
  • Вы можете теперь подклассифицировать UINavigationBar и включить вашу навигационную панель в навигационные интерфейсы вашего приложения.

Для информации о классах структуры UIKit см. UIKit Framework Reference.

OpenGL ES

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

  • Расширение GL_EXT_texture_storage определяет структуру вашего приложения.
  • Расширение GL_APPLE_copy_texture_levels находится сверху функциональности расширения GL_EXT_texture_storage и позволяет ряду структур mipmaps копировать элементы.
  • Расширение GL_APPLE_map_buffer_range улучшает работу, даже если вы измените буферный объект.
  • Расширение GL_APPLE_sync обеспечивает синхронизацию вашему приложению. У вас есть возможность выбирать большое количество представленных команд OpenGL ES.
  • Расширение GL_APPLE_shader_framebuffer_fetch доступно только заявлениям OpenGL ES 2.0 и обеспечивает доступ к framebuffer данным как вход к вашему фрагменту shader.

Эти расширения доступны на всех устройствах, управляемых iOS 6. Перед использованием, проверьте свое устройство на существующие расширения.

Media Player Framework
MPVolumeView обеспечен интерфейсами. Вы можете использовать эти интерфейсы для изменения изображений, связанных с регулятором уровня громкости. Для информации о Media Player Framework см. Media Player Framework Reference.

ImageIO.framework

ImageIO.framework включает поддержку вызова к EXIF и свойствам метаданных IPTC для изображений. Вы можете получить доступ к этим метаданным, используя функции, связанные с CGImageSourceRef и CGImageDestinationRef непрозрачные типы. Для информации о функциях изображения см. Image I/O Reference Collection.

Структура iAd

iAd.framework поддерживает новый средний размер баннера для устройств на iPad. Для информации о классах iAd структуры см. iAd Framework Reference.

Foundation Framework

Foundation.framework включает следующие улучшения:

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

Для информации о классе см. Foundation Framework Reference.

ExternalAccessory.framework

ExternalAccessory.framework включает новые интерфейсы для управления связями с устройствами Bluetooth. В приложениях будет находиться список устройств Bluetooth, которые доступны для соединения. Поддержка также разработана для того, чтобы настроить связь с периферийными устройствами, у которых не было соединения. Для информации о External Accessory Framework Reference см. раздел External Accessory Framework Reference.

EventKit.framework

EventKit.framework включает следующие преобразования:

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

Для информации о EventKit.framework см. Calendar and Reminders Programming Guide.

calendar-1

CoreVideo.framework

CoreVideo.framework добавляет поддержку двух новых пиксельных форматов. Эти форматы обеспечивают эффективное хранение для изображений с двумя каналами и с одним каналом, которые работают с OpenGL ES. Для информации о функциях CoreVideo.framework см. Core Video Framework Reference.

CoreMedia.framework

CoreMedia.framework добавляет такие подклассы как CMClockRef и CMTimebaseRef, которые описывают низкоуровневые типы данных и системные интерфейсы для управления медиаконтентом. Для информации о функциях CoreMedia.framework см. Core Media Framework Reference.

CoreLocation.framework

CoreLocation.framework включает следующие изменения.

  • Если пользователь не сдвинулся в течение длительного периода времени, CLLocationManager возьмет паузу и не даст никакой информации о месте нахождения пользователя. Данная функция экономит мощность, позволяя структуре выключить GPS и другие аппаратные средства. Людям с ограниченными возможностями разрешено изменять настройки насколько это возможно, в pausesLocationUpdatesAutomatically, это разрешено по умолчанию.
  • Вы можете усовершенствовать точность местоположения, внося соответствующие данные на activityType в пункте CLLocationManager.
  • Структура поддерживает улучшенную точность местоположения во время режима офлайн и при вождении.

Для информации о разделе CoreLocation.framework см. Core Location Framework Reference.

text2

Bluetooth
CoreBluetooth.framework взаимодействует с устройствами периферийно. Обмен данными по беспроводному протоколу для информации о разделе Bluetooth см. Core Bluetooth Framework Reference.

Audio

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

  • аудио AUDeferredRenderer, позволяет системе аудио обрабатывать инфо, учитывая приоритетность данных, данная функция занимает больше времени.
  • аудио AudioQueueProcessingTap позволяет вам перехватывать данные в аудиоочереди и обрабатывать их.

Для информации об аудиотехнологиях, доступных в iOS 6, см. Multimedia Programming Guide. Для информации о новых аудиоулучшениях см. Audio Unit Component Services Reference.

AVFoundation framework

AVFoundation.framework включает следующие улучшения:

  • Класс AVPlayer добавляет поддержку синхронизации воспроизведения к источнику внешнего времени. Объект сингла может проигрываться и на HTTP Live Streams и на файлах (включая местные файлы и включая файлы, которые в процессе загрузки). Вы можете использовать многократные объекты AVPlayerLayer для того, чтобы показать визуальную продукцию того же самого объекта.
  • Класс AVPlayerItemOutput с AVPlayerItem, обрабатывают расшифрованные видеоструктуры во время воспроизведения.
  • Класс AVAssetResourceLoader позволяет вам вставлять объект в процесс погрузки актива и обращаться с запросами ресурса. Этот класс работает с классом AVURLAsset.
  • Класс AVAudioSession теперь выставляет информацию о текущем аудиомаршруте в использовании.
  • AVAudioMixInputParameters имеет доступ к типу данных MTAudioProcessingTapRef, до использования надо получить доступ к аудиоданным.
  • Класс AVAudioSession включает следующие улучшения:
    • Использование новой аудиосессии, дает вам возможность обнаружить прерывания и изменения.
    • Аудиосессии поддерживают новую аудиокатегорию, AVAudioSessionCategoryMultiRoute, которая позволяет направлять аудио к многократным аудиоустройствам аппаратных средств.
    • Аудиосессии поддерживают новую функцию, AVAudioSessionModeMoviePlayback, с помощью которой обрабатывается выходной сигнал для сценариев воспроизведения кино.
  • Класс AVCaptureConnection позволяет вам настраивать видеостабилизацию на поступающем экране.
  • Класс AVCaptureMetadataOutput — новый класс, позволяющий перехватывать метаданные, испускаемые объектом связи.
  • AVMetadataFaceObject — новый класс, который сообщает о данных по изображению личности, подгруппа принадлежит AVCaptureMetadataOutput.
  • Класс AVTextStyleRule — новый класс, позволяющий определять возможности стиля для подзаголовков, субтитров и других, связанных с текстом, активов СМИ.
  • Класс AVAudioPlayer может проигрывать аудиопункты из библиотеки iPod пользователя, используя URL, полученные из класса MPMediaLibrary. Вы можете также установить назначенные каналы, используя channelAssignments.

Для подробной информации о AVFoundation framework см. AV Foundation Framework Reference.

Accelerate.framework

Accelerate.framework включает новые функции мощности, vDSP функции, SSE-связанные векторные функции, функции синуса и функции vImage. Для информации о Accelerate.framework см. Accelerate Framework Reference.

Оригинал: Whats new in iOS 6?

Автор перевода: Applifto Inc.