iOS Информация о версии SDK для iOS 4
Содержание:
Введение
iOS SDK 4 предоставляет поддержку для разработки приложений для iPhone и включает полный набор инструментов Xcode, компиляторов и платформ для того, чтобы создать приложения для iOS и Mac OS X. Эти инструменты включают XCode IDE и Инструментальный аналитический инструмент среди многих других.
С этим программным обеспечением можно разработать приложения, работающие на iPhone или iPod touch с помощью включенного Средства моделирования iOS, выполняющего iOS 4. Установка iOS SDK 4 требует компьютера Macintosh рабочий Mac OS X 10.6.2 (Snow Leopard) или позже.
Мы призываем разработчиков применяться к Программе Разработчика iOS для доступа к дополнительным ресурсам поддержки, включая настройку ресурсов для включения разработки непосредственно на iPhone или iPod touch. Для получения дополнительной информации посещение:
Создание отчетов ошибки
Сообщите о любых ошибках, не упомянутых в разделе «Known Issues» с помощью Генератора отчетов Ошибки Apple на веб-сайте Соединения Разработчика в: http://developer .apple.com/bugreporter/.
Известные проблемы
Основа AV
В этом выпуске,
AVAssetReaderиAVAssetWriterклассы были удалены из платформы Основы AV.
XCode
LLVM GCC и компилятор LLVM теперь включены как дополнительные компиляторы для разработки iPhone.
При выборе цели и затем выборе «Update Current Target for iPad», новые файлы пера создаются, но не преобразовываются в iPad. Решить эту проблему:
Любой выбор каждый файл пера, скопированный, откройте его в Интерфейсном Разработчике, выберите пункт меню «File-> Create iPad Version», затем выберите «Save As …» для документа и сохраните по файлу пера.
Или вызовите эту команду в терминале от папки проекта:
find Resources-iPad -type f -name "*.xib" -exec ibtool --sdk "" --change-target-runtime IBIPadFramework {} --write {} \;
Отладчик
Когда отладка Вашей многозадачности включила приложение, избегите вручную приостанавливаться и продолжаться от отладчика, когда приложение приостановлено в фоновом режиме. Приостановка приложения, приостановленного в фоновом режиме, разрушает надлежащее многозадачное поведение, пока не повторно запускается приложение.
Используя datatip на неинициализированном объекте или превращение это открывается в представлении переменных, будет иногда заставлять его быть похожим, что отказала программа. Строка состояния у основания окон XCode покажет
Program received signal: "EXC_BAD_ACCESS"и кнопки на панели инструментов для продвижения через код будут отключены. Для восстановления выберите «Sync with Debugger» из меню Run и продолжайте отлаживать.
Интерфейсный разработчик
iOS 4 включает новое
UINibкласс для поддержки быстро разархивировавших файлов пера. В то время как этот класс в новинку для iOS SDK 4, он присутствовал, но был частным в предыдущих выпусках. Необходимо соблюдать особую осторожность при развертывании кода, использующегоUINibкласс и также работает на выпусках iOS до версии 4. В частности Вы не можете определить доступность класса исключительно с помощьюNSClassFromStringфункция, потому что та проверка возвращает частный класс на iOS 3.x и ранее. Вместо этого после полученияUINibиспользование классаNSClassFromString, необходимо также использоватьrespondsToSelector:метод возвращенного класса, чтобы видеть, отвечает ли это наnibWithNibName:bundle:метод. Если это реагирует на тот метод, можно использовать класс.
Базовая графика
CGFontCreateWithFontNameможет зависнуть при некоторых обстоятельствах при использованииUIAppFontsключInfo.plist.
GameKit
desiredPlayersсвойство было удалено изGKMatchRequestклассGameKitBeta.hбыл переименован кGameKitPreview.h. Это повредит существующие проекты та ссылка противGameKitBeta.h. Перекомпилируйте по мере необходимости.
Почта
Почта теперь поддерживает следующие расширения RFC:
СЖАТИЕ (4978)
ESEARCH (4731)
РАЗДЕЛЕНИЕ НА БЛОКИ (3030)
8BITMIME (1652)
ENHANCEDSTATUSCODES (3463)
BINARYMIME (3030)
CONDSTORE (4551)
MediaPlayer
MPMoviePlayerControllerкласс изменил поведение в iOS 3.2. Поведение этого класса следующие:В iOS SDK 3.1.x и ранее, проигрыватель фильмов всегда играет полный экран.
В iOS SDK 3.2 и позже, необходимо встроить представление проигрывателя фильмов в интерфейс приложения. (Это поведение применяется к iPhone, iPad и Повсеместному применению.)
При соединении Повсеместного применения против iOS SDK 3.2 Вы должны быть подготовлены встроить представление проигрывателя фильмов в свой интерфейс при работе iOS 4 и позже. В этом конкретном случае, значении
userInterfaceIdiomсвойство не является надежным способом определить поведение контроллера медиапроигрывателя. Вместо этого необходимо протестировать на существованиеviewсвойствоMPMoviePlayerControllerкласс, чтобы определить, необходимо ли вставить представление в иерархию представления. Для получения дополнительной информации о том, как выполнить эти проверки, посмотрите Руководство по совместимости SDK.В iOS 3.2 и позже,
MPMoviePlayerControllerкласс теперь значения по умолчанию для совместного использования аудио сеанса приложения для воспроизведения аудио и связанных аудио способов поведения. Это позволяет аудио проигрывателя фильмов смешиваться с остальной частью аудио приложения, а также соответствовать способам поведения аудио категории сеанса аудио приложения (таким как смешивание с аудио других приложений и/или повиновение Тихому Переключателю). В iOS 3.1.3 и ранее, этот класс всегда использует предоставленный систему аудио сеанс. Для получения того же самого поведения в iOS 3.2 и позже необходимо установитьuseApplicationAudioSessionсвойство контроллера проигрывателя фильмов возражает противNOfalse. См. Аудио Руководство по программированию Сеанса, включая Работу с Фильмами и разделом Music iPod и Ссылкой класса MPMoviePlayerController для больше об аудио сеансах и их способах поведения сMPMoviePlayerController.
Многозадачность
В этом и будущих выпусках, существуют изменения в сетевом поведении для приостановленных приложений:
Отмените любые Добрый день связанные службы прежде чем быть приостановленным.], Когда Ваше приложение перемещается в фон, и прежде чем это будет приостановлено, это должно не зарегистрироваться от Добрый день и близко сокеты слушания, связанные с любыми сетевыми службами. Приостановленное приложение не может реагировать на входящие запросы на обслуживание так или иначе. Закрытие тех служб препятствует тому, чтобы они, казались, быть доступным, когда они фактически не. Если Вы не закрываете службы Bonjour сами, система закрывает те службы автоматически, когда приостановлено Ваше приложение.
Будьте подготовлены обработать сбои соединения в своих основанных на сети сокетах. в то время как Ваше приложение приостановлено за любое число причин,] Система может разъединить сокетные соединения. Пока Ваш основанный на сокете код подготовлен к другим типам отказов сети, таким как потерянный сигнальный или сетевой переход, это не должно приводить ни к каким необычным проблемам. Когда Ваше приложение возобновляется, если оно встречается с отказом после использования сокета, просто восстановите соединение.
Ограничение по времени для завершения задачи изменилось с 5 минут до 10 минут.
Когда заявление будет послано в фон, для сохранения контекста пользователя при переключении между приложениями приложениями, соединенными на или после того, как iOS 4 больше не будет автоматически отменять предупреждения и листы действия.
Средство моделирования
Средство моделирования iOS может теперь моделировать многократные версии iOS от единственной сборки. В настоящее время средство моделирования поддерживает iOS 3.2 и iOS 4.0, позволяя моделирование единственного Универсального двоичного файла и на iPad и на Средствах моделирования iOS.
С основным набором SDK к 3,2, но работающий в 4,0 средствах моделирования, вызове приложения
statзаписи вне концаstat bufferstat()и может вызвать неожиданное поведение или катастрофический отказ.Приложение Камеры обнаруживается на средстве моделирования iOS 4 (но не на нормальном средстве моделирования). Это вызывает
UIImagePickerControllerобъект подвесить приложение, когда запущено в средстве моделирования iOS 4. Кнопка отмены отключена и единственный выход из приложения, как только средство выбора изображения показано (с камерой для исходного типа), должен уничтожить приложение вручную.
UIKit
UIInvalidBackgroundTaskбыл переименован кUIBackgroundTaskInvalidНа iOS 4.0, приложения, добавляющие текстовое поле к a
UIAlertViewдолжен будет прекратить перемещатьсяUIAlertViewвручную избегать проблем расположения.Установка animatable свойств в блоке анимации перехода может не работать.
Фоны мозаики, создаваемые с
colorWithPatternImage:методUIColorпоявитесь с изображением вверх тормашками. Это - корректное поведение, поскольку теперь соответствуют образец и пробелы нормальной координаты.Поведение по умолчанию для нового
UIViewв то время как анимация играет, основанный на блоке API анимации в 4,0 должна отключить взаимодействие с пользователем через целый интерфейс. Разработчики не должны полагаться на это поведение, остающееся значением по умолчанию, поскольку это может быть инвертировано в будущих выпусках, таким образом позволив взаимодействию с пользователем произойти по умолчанию, в то время как играет анимация. Программы, скомпилированные против iOS SDK 4, будут продолжать работать как есть, но кодировать скомпилированный под будущими версиями SDK, может потребовать, чтобы установка различного флага опции включила исходное поведение.Поведение по умолчанию для нового
UIViewоснованная на блоке анимация API в 4,0 должна наследовать продолжительность анимации от блока анимации включения (когда существующий). Разработчики не должны полагаться на это поведение, остающееся значением по умолчанию, поскольку это может быть инвертировано в будущих выпусках, таким образом предотвратив анимации от автоматического наследования продолжительности их анимации включения. Программы, скомпилированные против iOS SDK 4, будут продолжать работать как есть, но кодировать скомпилированный под будущими версиями SDK, может потребовать, чтобы установка различного флага опции включила исходное поведение.iPhone 4 использует различный системный шрифт, чем более ранние устройства. Ссылки на шрифт Helvetica в файлах пера будут декодироваться как системный шрифт на этих более новых устройствах.
Система Ввода текста UIKit никогда не вызывает методы, найденные в документации при «Определении Расположения и Записи Направления» категория.
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 07.07.2010