iOS Информация о версии SDK для iOS 3.1

Содержание:

Создание отчетов ошибки

Сообщите о любых ошибках, не упомянутых в «Известных Проблемах» использование Генератора отчетов Ошибки Apple на веб-сайте Соединения Разработчика в: http://developer .apple.com/bugreporter/.

Известные проблемы и фиксируют

Инструменты XCode/Разработчика

  • Ошибки FIXED:Occasional при попытке к данным соответствующего приложения от организатора XCode.

  • После установки iOS 3.1 SDK на Snow Leopard статический анализатор не возвратит результаты для здания проектов iPhone против устройства SDK. Для включения статического анализатора необходимо будет сделать следующее изменение конфигурации:

    Open /Developer/Platforms/iOS.platform/Developer/Library/Xcode/Plug-ins/iOS Build System Support.xcplugin/Contents/Resources/iPhoneClangOptions.xcspec in a text editor.
    change line 14:
    Architectures = (__SUPPORTED_IPHONEOS_ARCHS_GCC42__);
    to read:
    Architectures = (armv7, armv6, armv5);
    and quit and relaunch Xcode.
  • Изменение рабочего каталога Исполнимой программы iPhone из “Каталога Build Products” может заставить приложение не устанавливать должным образом с сообщением об ошибке “Info.plist для приложения в (нуле), указывает CFBundleExecutable (нуля), не существующего”.

  • XCode только ищет codesigning идентификационные данные сертификата в цепочке для ключей по умолчанию, как выбрано в Доступе Цепочки для ключей.

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

  • iOS SDK разработан для основанного на Intel Macs и не поддерживается на ОСНОВАННОМ НА PPC Macs.

  • XCode и iOS SDK только работают в 32-разрядном режиме; 64-разрядный режим не поддерживается.

  • При выполнении и отладке на устройстве, убедиться выключить блокировку Кода доступа.

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

Камера дополнения API

Следующие интерфейсы были добавлены к UIImagePickerController класс для разрешения более специализированных взаимодействий с камерой.

Следующие методы были добавлены к UIVideoEditorControllerDelegate протокол для взаимодействия видеокамеры (только iPhone 3GS):

Для получения информации об этих новых интерфейсах см. документацию ссылки класса. Также обратитесь к iOS 3.1 API diffs на Портале Разработчика iPhone.

Базовые данные

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

  • В 3,1, NSFetchedResultsController объект, чей sectionNameKeyPath свойство nil будет всегда возвращаться 1 для его числа разделов (даже если это не будет содержать объектов). Контроллеры, чей sectionNameKeyPath свойство не nil добавят/удалят разделы как требуется.

  • Утечка памяти NSConcreteMutableData экземпляр при обработке объектных изменений был фиксирован.

  • NSFetchedResultsController больше не сообщает о сообщении освобожденному объекту, если используется прежде performFetch: вызывается. Это все еще недопустимо для использования контроллера без вызова performFetch: во-первых, но сообщение к освобожденному объекту было фиксировано.

  • NSFetchedResultsController не обновление sectionIndexTitles был фиксирован. Обходные решения больше не необходимы как результат sectionIndexTitles должным образом установлен после обновлений объекта.

GameKit

  • AGKPeerPickerController объект может теперь быть сразу выпущен после show метод вызывают, во многом как UIAlertView. Ранее разработчики были обязаны выпускать в методе делегата (или методы).

Интерфейсный разработчик

  • FIXED: Если Вы используете Интерфейсного Разработчика UITabBarController инспектор для добавления a UINavigationController к контроллеру панели вкладок контроллер навигации будет установлен для показа его панели инструментов. Панель инструментов не будет видима в Интерфейсном Разработчике, но будет видима во время выполнения, которое удивительно. Обходное решение должно выбрать UINavigationController и снимите флажок, «Показывает Панель инструментов» на инспекторе.

  • В некоторых сценариях обновления от беты выпуски SDK Интерфейсного Разработчика можно оставить с двойными файлами, который вызывает ошибки, такие как: «Два плагина оба интегрируют описание класса для класса X» Удаление /Developer/Platforms/iOS Simulator.platform/Developer/Library/Interface\ Builder и переустановка исправляет проблему.

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

UITableView

UIViewController

  • В выпусках до 3,0, реализация dealloc в UIViewController выпущенный его представление путем вызова setView: (метод установщика для view свойство) с a nil параметр. Для приложений, соединенных на или после 3.0, контроллер представления все еще выпускает представление во время освобождения, но теперь делает так непосредственно и явно не вызывает setView: метод установщика.

HTTP Живые Дополнения Потоковой передачи в iOS 3.1

Поддержка кластерных систем HTTP живая потоковая передача

Если устройство не перезагрузит файл списка воспроизведения при игре потока (вследствие 404 или сетевой ошибки), то оно удалит список воспроизведения URL из списка, предоставленного в различном списке воспроизведения и попытке переключиться на самый подходящий вариант среди тех, которые остаются. (Если различный список воспроизведения содержит многократные варианты с тем же атрибутом скорости передачи, они предпочтены в порядке, что они появляются в списке воспроизведения.)

Например, различный список воспроизведения мог бы быть похожим на это:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
http://one.example.com/lo/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
http://two.example.com/lo/prog_index.m3u8
 
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000
http://one.example.com/md/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000
http://two.example.com/md/prog_index.m3u8

Если игра устройства one.example.com/lo/ сбои для перезагрузки prog_index.m3u8 это удалит http://one.example.com/lo/prog_index.m3u8 из списка вариантов и попытки переключиться на http://two.example.com/lo/prog_index.m3u8 .

Если это играло one.example.com/md/ это попыталось бы переключиться на http://two.example.com/md/prog_index.m3u8 (принятие текущей меры по пропускной способности поддерживает его).

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

Если все различные списки воспроизведения были удалены, воспроизведение остановится.

Тег разрыва

EXT-X-DISCONTINUITY тег указывает, что медиа-файл после него имеет различные характеристики, чем та, предшествовавшая ему. Набор характеристик, которые могут измениться:

  • формат файла

  • число и тип дорожек

  • кодирование параметров

  • кодирование последовательности

  • последовательность метки времени

Для iPhone мы не рекомендуем изменить параметры кодирования.

Только для аудио с изображением плаката

Теперь возможно развернуть поток только для аудио, переносящий изображение плаката, которое проигрыватель выведет на экран вместо видео. Поток только для аудио перенес бы JPEG или изображение PNG в кадре APIC в теге ID3, предпочтительно в начале каждого сегмента. Кадр APIC должен иметь Тип Изображения 10$ (Снимок экрана Фильма/Видео).

Улучшения к Core Audio в iOS 3.1

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

Новая Функция в iOS 3.1: Инструменты по Wi-Fi

С iOS SDK 3.1 теперь возможно подключить к Вашим устройствам разработчика от Инструментов (на Вашем Leopard или машине OS X Snow Leopard) использование Wi-Fi, а не привязи USB. Соединение Wi-Fi на 100% полнофункционально и поддерживает весь инструментарий, Вы обычно преобладали бы над привязью. Это предназначается для использования разработчиками, которые должны присоединить другие USB-устройства к их основанному на iOS устройству при выполнении их анализа эффективности. Функция может также быть использована в ситуациях, где наличие привязи USB просто непрактично или неудобно.

Если Вы не должны присоединять другие USB-устройства, соединение USB все еще предпочтено для общего использования. Соединение Wi-Fi медленнее, чем соединение USB и требует, чтобы больше питания от устройства разместило тяжелый трафик Wi-Fi, который может прибыть из Инструментов. В результате использование соединения Wi-Fi истощит батарею устройства более быстро, чем другие сценарии. Кроме того, Вы не можете установить приложения на своем устройстве от XCode по Wi-Fi, и при этом Вы не можете отладить их по Wi-Fi с помощью XCode. Необходимо все еще использовать привязь USB для соединения с устройством с помощью XCode.

Для использования этой функции Instruments и компьютеру Macintosh и устройству на iOS нужно было включить Wi-Fi и должны быть подключены к той же точке доступа Wi-Fi. Эта точка доступа должна быть включена для служб Bonjour. Как только этим условиям удовлетворяют, можно установить соединение Wi-Fi с помощью шагов, описанных в следующих разделах.

Включение беспроводного подключения

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

  1. Подключите USB-кабель со своего компьютера Macintosh на Ваше устройство. (Ваш компьютер должен иметь Разработчика установленный SDK iOS 3.1.)

  2. Инструменты запуска, если это уже не работает.

  3. Откройте новый документ трассировки или шаблон.

  4. В то время как удержание ключа «Option/Alt», щелчок мышью по целевому селектору раскрывается в верхнем левом из Инструментального Окна документа Трассировки.

  5. Устройство iPhone должно вывести на экран, поскольку «Включают <Ваше имя устройства> - Беспроводная связь», которую необходимо выбрать. Если Вы не видите это, вероятно, что устройство не имеет соединения Wi-Fi активным.

  6. Ожидайте несколько моментов нового устройства, которое будет выведено на экран в целевом селекторе, названном» <Ваше имя устройства> Беспроводная связь». Это может занять несколько секунд в зависимости от устройства и соединения Wi-Fi, и новая запись устройства может быть показана, как отключено, пока соединение полностью не установлено. Если запись устройства не становится включенной после нескольких секунд, вероятно, что Ваша точка доступа Wi-Fi не включена для Добрый день трафика.

  7. В этой точке у Вас есть два Инструментальных сервера, работающие на Вашем устройстве: один работающий Wi-Fi и одно работание на основе привязи USB. Поскольку оба сервера используют память, необходимо разъединить привязь USB, как только Вам установили Ваше приложение на устройстве. (Разъединение привязи завершает основанный на USB Инструментальный сервер.)

  8. Вы теперь готовы начать использовать Инструменты по Wi-Fi.

Используя инструменты с помощью беспроводных технологий

После установления беспроводного соединения можно использовать устройство с Инструментами, как будто это было соединено по USB. (Можно также продолжать использовать соединение USB с Инструментами, если Вы не разъединяли его.), Если Вы выходите из Инструментов или помещаете Ваше устройство для сна, Вы все еще будете в состоянии повторно соединиться с Инструментами с помощью беспроводных технологий позже по мере необходимости. Просто повторно запустите Инструменты и удостоверьтесь, что условия сетевого соединения описали, ранее присутствуют.

Когда Вы сделаны с помощью беспроводного соединения, необходимо или перезагрузить устройство или использовать Инструменты для отключения «Беспроводного» соединения, чтобы предъявить претензии в отношении памяти, используемой сервером, и сократить потребляемую мощность. Любой план действий выключит функцию «Wireless» и сервер, пока Вы не повторно включите его из Инструментов.

Отключение беспроводного подключения

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

  1. Откройте новый документ трассировки или шаблон.

  2. В то время как удержание ключа «Option/Alt», щелчок мышью по целевому селектору раскрывается в верхнем левом из Инструментального Окна документа Трассировки.

  3. «Беспроводное» устройство iPhone должно появиться, поскольку «Отключают <Ваше имя устройства> - Беспроводная связь». Выберите эту запись для отключения беспроводного соединения. После нескольких секунд потускнеет «Беспроводная» запись в целевом селекторе, в которой точке завершаются «Беспроводное» соединение и сервер. Если Вы не видите эту запись, вероятно, что устройство не имеет активного соединения Wi-Fi.

Известные проблемы с беспроводными инструментами

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

Новая Функция в iOS 3.1 с Snow Leopard: Средство отслеживания VM

Инструменты в SnowLeopard представляют новый инструмент анализа памяти и для Mac и для iPhone: Средство отслеживания VM. При использовании iOS 3.1 с Snow Leopard Вы будете в состоянии использовать эту новую функцию.

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

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

Инструмент Средства отслеживания VM обеспечивает два представления верхнего уровня:

  1. Сводное представление - Это представление показывает общую сумму памяти типом области. Отдельные области сгруппированы областью, вводят и показывают их вклад в полную статистику использования типа. Это представление прежде всего полезно как обзор того, как используется память процесса, и рекомендуется, чтобы особое внимание было обращено на «грязные» размеры, поскольку они представляют память, которая должна быть разбита на страницы к диску под давлением памяти на Mac OS X и является абсолютно неисправимой памятью на iOS.

  2. Представление Regions Map - Это представление выводит на экран области в целевом процессе индивидуально адресом, показывая тип, адрес, меры защиты и размеры для областей. Это представление помогает показать расположение областей в адресном пространстве процесса и предоставляет подобную информацию как инструмент командной строки vmmap— для большего количества подробных данных об этом инструменте посмотрите vmmap страница справочника (man 1 vmmap). Поле адреса каждой области в представлении Regions Map имеет кнопку фокусировки; фокусировка на области обеспечит список страниц в той области вместе с тем, являются ли они резидентным объектом, грязным, спекулятивным, или подкачанным.

Представление дорожки для инструмента Средства отслеживания VM показывает сложенный дисплей Грязных и Резидентных размеров с альтернативным дисплеем, доступным для показа числа областей в процессе.

Влияние инструментария

Средство отслеживания VM является абсолютно внешним к целевому процессу и собирает свою информацию путем периодического взятия снимка виртуальной памяти процесса. Это означает, что не вмешивается в выполнение цели кроме в течение периода создания снимков; в то время как снимок берется, цель должна быть полностью приостановлена.

Использование

Этот инструмент теперь включен в шаблон «Object Allocations», чтобы помочь обеспечить высокоуровневое представление общего использования активной памяти процесса; инструмент ObjectAlloc в этом шаблоне дорожки malloc введите память исключительно. Однако вследствие необходимой приостановки выполнения цели на время снимка, функция «Automatically Snapshot» инструмента Средства отслеживания VM находится прочь по умолчанию в этом шаблоне. Пользователи, желающие получать информацию с этим инструментом, должны будут вручную нажать «Snapshot Now» или активировать автоматическую опцию снимка.

Также...

Средство отслеживания VM также доступно от библиотеки Instruments и может быть добавлено к любому документу при предназначении для единственного процесса на Mac OS X, iOS или платформах Средства моделирования iOS. Когда добавлено от библиотеки, опция «Automatically Snapshot» активируется по умолчанию со стартовым интервалом создания снимков каждые три секунды.

Для получения дополнительной информации консультируйтесь со страницами справочника для vmmap(1), mmap(2), и заголовки <mach/vm_map.h>, <mach/vm_statistics.h>.