iOS Информация о версии SDK для iOS 7 Гм
Содержание:
Введение
iOS SDK 7.0.3 предоставляет поддержку для разработки приложений для iOS, и это включает полный набор инструментов Xcode, компиляторов и платформ для создания приложений для iOS и OS X. Эти инструменты включают XCode IDE и Инструментальный аналитический инструмент среди многих других.
С этим программным обеспечением можно разработать приложения для iPhone, iPad или iPod touch рабочий iOS 7. Можно также протестировать приложения с помощью включенного Средства моделирования iOS, поддерживающего iOS 7. iOS SDK 7.0.3 требует компьютера Mac рабочий OS X v10.8.4 (Пума) или позже.
Эта версия iOS предназначается для установки только на устройствах, зарегистрированных в Программе Разработчика Apple. Попытка установить эту версию iOS несанкционированным способом могла поместить Ваше устройство в неприменимое состояние.
Для получения дополнительной информации и дополнительные ресурсы поддержки, посетите http://developer .apple.com/programs/ios/.
Создание отчетов ошибки
Для сообщения о любых ошибках, не упомянутых в разделе Notes и Known Issues, используйте Генератор отчетов Ошибки Apple на веб-сайте Разработчика Apple (http://developer .apple.com/bugreporter/). Кроме того, можно обсудить эти вопросы и iOS SDK 7.0.3 на Форумах Разработчика Apple: http://devforums .apple.com. Для получения большей информации о iCloud для Разработчиков перейдите в http://developer .apple.com/icloud.
Примечания и известные проблемы
Следующие проблемы касаются использования iOS SDK 7.0.3 для разработки кода.
64-разрядное Время выполнения
Примечания
Приложения могут теперь предназначаться для iOS 5.1.1 и позже при создании для 64-разрядного использования “Стандартной архитектуры (включая 64-разрядный)” установки сборки. Это производит Архив для App Store с единственным двоичным файлом, содержащим и 32-разрядные и 64-разрядные компоненты. Во время разработки и тестирования, необходимо создать только 32-разрядный при предназначении для iOS 5.1.1 устройства (это - значение по умолчанию в XCode).
Доступность
Примечания
Обратный вызов для UIAccessibilityRequestGuidedAccessSession() выполняется на глобальной очереди. Поэтому, если Вы предназначаете к выполнению какой-либо работы основной очереди в обратном вызове, если, необходимо гарантировать для синхронизации той работы назад с основной очередью.
Адресная книга
Примечания
Классы в AddressBookUI платформа теперь явно запрещает разделение на подклассы. Для приложений, соединенных против iOS 7 SDK, пытаясь инициализировать подкласс одного из этих классов, возвращает ноль. Для приложений, соединенных против более старого SDKs, единственное изменение поведения является предупреждением, зарегистрированным к консоли.
Развертывание приложения
Примечания
Сравнение [[[UIDevice currentDevice] identifierForVendor] UUIDString] на многократных Корпоративных приложениях или приложениях, установленных через XCode (не App Store), то, где bundleIDs отличаются только по последнему компоненту, приведет к идентичным строкам. Если bundleID имеет 3 или меньше компонента, это поведение неизменно от iOS 6.
Это вследствие изменения в поведении между iOS 6 и iOS 7 где -[UIDevice identifierForVendor] если нет никакого Идентификатора поставщика, принимает во внимание bundleID. Идентификатор поставщика только присваивается приложениям на App Store.
Основа AV
Примечания
AVCaptureSessionтеперь использует Ваше приложениеAVAudioSessionпо умолчанию.+[AVPlayer playerWithPlayerItem:]возвратыAVPlayerесли проигрыватель создавался на другом потоке, объект, но текущий элемент возвратит ноль.
Bluetooth
Известная проблема
32-разрядные приложения, работающие на 64-разрядном устройстве, не могут присоединить к BTServer.
Контакты
Известная проблема
При создании дней рождения с помощью бета-версии iOS 7 информация дня рождения, возможно, была сохранена неправильно. Для исправления такого дня рождения, выводящего на экран неправильно отредактируйте контакт и измените дату.
Базовая анимация
Примечания
Когда UIViewGroupOpacity ключ не присутствует, значением по умолчанию является теперь YES. Значение по умолчанию было ранее НЕТ.
Это означает, что подпредставления прозрачного представления будут сначала составлены на то прозрачное представление, тогда предварительно составленное поддерево будет нарисовано в целом на фон. Установка NO приводит к менее дорогому, но также и менее точный, составляя композит: каждое представление в прозрачном поддереве составляется на то, что под ним, согласно непрозрачности родителя, в порядке алгоритма нормального живописца.
Основа
Примечания
NSMetadataQueryс повсеместным объемом может теперь использоватьkMDItemContentTypeTreeв предикатах. Например:NSPredicate *p = [NSComparisonPredicate predicateWithLeftExpression:[NSExpression expressionForKeyPath:@"kMDItemContentTypeTree"] rightExpression:[NSExpression expressionForConstantValue:@"public.rtf"] modifier: NSAnyPredicateModifier type:NSLikePredicateOperatorType options:0];Когда обратился к результатам, возвращенным запросами с повсеместными объемами,
-[NSMetadataItem valueForAttribute:NSMetadataItemDisplayNameKey]теперь производит то же значение как-[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], соответствие неповсеместных запросов.
GLKit
Известная проблема
Если загружено GLKTextureLoader, изображения pngcrush, имеющие альфу, являются unpremultiplied.
Обходное решение: можно или использовать формат кроме PNG или выключить pngcrush опцию XCode. Для выключения pngcrush опции XCode установите Сжатие Файлы PNG в No в Настройках Сборки XCode. Если Вы выключаете pngcrush в XCode, также устанавливаете GLKTextureLoaderApplyPremultiplication отметьте к истине.
Таймеры высокой точности
Известная проблема
При сне или ожидании чрезвычайно точных временных интервалов, таймеры могут быть задержаны до 1 миллисекунды.
iCloud
Примечания
kSecAttrSynchronizableAPIs, который был доступен в Бета семенах, не доступен в Семени GM.Блокировка активации, новая функция Находки Мой iPhone, включена автоматически, когда Находят, что Мой iPhone включен на любом устройстве рабочий iOS 7. Блокировка активации требует, чтобы пользователи ввели свой Apple, ID и пароль для выключения Находят Мой iPhone, знак из iCloud, стирают устройство или повторно активируют устройство после стирания. Важно сделать один из следующих прежде, чем передать устройство новому пользователю:
Знак из iCloud.
Выключите Активацию, Привязывают Настройки>, iCloud> Находит Мой iPhone.
Радио iTunes
Примечания
При использовании Радио iTunes в семенах до Семени GM необходимо подписаться из учетной записи и войти в систему назад. Иначе, Ваши станции не обновят. Чтобы сделать это, перейдите к Настройкам> iTunes и App Store. Выберите свой Apple ID и затем Выпишитесь. Затем введите свой Apple ID и пароль, и Регистрируйтесь.
MapKit
Примечания
Если вызовы к renderInContext на уровне, отступающем MKMapView убегаются основной поток, они должны быть устранены или перемещены в основной поток. Отказ сделать так может вызвать сбой приложения. Вместо использования renderInContext, используйте новое MKMapSnapshotter APIs.
Носители
Примечания
iOS теперь помнит последнее используемое мультимедийное приложение через перезагрузку и сбои приложения. Мультимедийные приложения, которые могут получить события дистанционного управления, должны быть подготовлены быть запущенными в фоновом режиме и потенциально получить событие дистанционного управления для начала воспроизведения. Кроме того, важно, чтобы мультимедийные приложения контролировали и обработали событие сброса медиасервера, так как мультимедийное приложение может получить удаленный запрос для возобновления воспроизведения после сброса. Уведомления для слежения за развитием этих событий медиасервера доступны в AVAudioSession, и правильное обращение описано в AVAudioSession - Общие рекомендации для обработки AVAudioSessionMediaServicesWereResetNotification.
Мультиравноправная связь
Примечания
Следующий новый метод на
MCSessionбыл реализован:- (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID *)peerID error:(NSError **)error
Этот метод делегата был реализован:
- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID
Следующий новый метод на
MCSessionбыл реализован:- (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandler
Метод делегата начать получать ресурс от удаленного узла был реализован как:
- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress
Метод делегата закончить получить ресурс от удаленного узла и сохранять содержание во временном расположении реализован как:
- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error
MCAdvertiserAssistantкласс удобства для реализации Рекламодателя, обрабатывающего приглашения и соединения сMCSession.MCSessionимеет новоеinitWithPeer:метод.sendResourceдобавил «с» кcompletionHandler.Тайм-аут был удален из
connectPeer:withNearbyConnectionData.
Для получения дополнительной информации об этом APIs наблюдайте 2013 WWDC: Поблизости Объединяясь в сеть с Мультиравноправной Связью.
Многозадачность
Примечания
AVAudioSessionбольше не может становиться активным приложениями в фоновом режиме что след вследствие Фоновой Выборки, Фоновых Передач и событий Remote Notification.Ограничение по времени для завершения задачи уменьшилось с этих 10 минут, это было в iOS 6.
Сети
Примечания
Два низких уровня, объединяющие в сеть APIs, раньше возвращавший MAC-адрес теперь, возвращают фиксированное значение 02:00:00:00:00:00. Рассматриваемый APIs sysctl (NET_RT_IFLIST) и ioctl (SIOCGIFCONF). Разработчики, использующие значение MAC-адреса, должны переместить на идентификаторы такой как -[UIDevice identifierForVendor]. Это изменение влияет на все приложения, работающие на iOS 7.
Время выполнения Objective C
Примечания
Вследствие изменений, в как isa поле реализовано, *self может измениться во время перечисления (например, если контейнер сохраняется).
Обходное решение: При реализации countByEnumeratingWithState, не устанавливать state->mutationsPtr = self.
Сберкнижка
Примечания
Сберкнижка добавила поддержку крупнейших и незначительных полей для лучше соответствия остальной части iBeacon экосистемы. Новое
majorиminorключи являются независимо параметрами переменной рядомproximityUUID(требуемый) в каждом словаре вbeaconsмассив.В предыдущих версиях iOS SDK Сберкнижка не проверяла задние поля на передачах полностью. Правила проверки не изменились, но проверка теперь включает назад поля. Проверьте консольный журнал на дополнительные журналы.
PKPassLibraryDidCancelAddPassesновый код состояния вPKPassLibraryAddPassesStatusперечисление. Это показывает, что пользователь коснулся Отмены на предупреждении добавлять-передач.
Фотографии
Примечания
После обновления от более раннего семени фото миниатюры в фото приложении не появятся в течение короткого времени.
Safari
Известная проблема
При обновлении до Семени GM от более раннего семени могут быть потеряны предпочтения Safari.
Обходное решение: Отключите блокировку кода доступа перед обновлением.
Безопасность
Примечания
-[UIDevice uniqueIdentifier]больше не принимается в представлениях к App Store. В iOS 7 приложения, которые уже находятся на хранилище или на вызывающих устройствах пользователей это удалило API, больше не будет возвращаться UDID. Вместо этого-[UIDevice uniqueIdentifier]возвратит 40 символьных строк начиная с FFFFFFFF, сопровождаемого шестнадцатеричным значением-[UIDevice identifierForVendor]. Важно рассмотреть, как это будет влиять на существующие приложения. Рассмотрите подчиняющиеся обновления, больше не получающие доступ к UDID.iOS теперь запрашивает пользовательское согласие на приложения использовать аудиовход на всем iOS 7 устройств. Для устройств, проданных в Китае, iOS также запросит пользовательское согласие на приложения использовать аппаратные средства камеры. Операционная система представит предупреждение согласия при установке категории инстанцированного
AVAudioSession.AVAudioSessionкатегории, которые представят предупреждение,AVAudioSessionCategoryRecordиAVAudioSessionCategoryPlayAndRecord.Если пользователь не предоставит доступ, то аудио данные сеанса будут всеми нулями (тишина). Для устройств, где доступ к камере требует и отклоняет пользователь, сеанс видеосъемки является черным экраном.
API
gethostuuid()был удален и не будет принят для представления к хранилищу, независимо от предназначенного OS. Для существующих приложений, работающих на iOS 7, функция возвратит uuid_t представление идентификатора поставщика (-[UIDevice identifierForVendor]).
Социальный
Примечания
Через iOS 6, при использовании
TWTweetComposeViewControllerиSLComposeViewController(последний только для Twitter и Weibo, но не Facebook), если вызывающая сторона предоставляет acompletionHandler, предоставленныйcompletionHandlerответственно за отклонение контроллера представления. С iOS 7, если ссылки приложения против iOS 7 SDK, контроллер представления отклонит себя, даже если вызывающая сторона предоставит acompletionHandler. Избегать этого, вызывающей стороныcompletionHandlerне должен отклонять контроллер представления.При использовании iOS 6.1 SDK на OS X v10.8 Пума при использовании iOS 5.0 или Наследства iOS 5.1 SDK в Средстве моделирования iOS Вы не будете в состоянии использовать функции Twitter: попытка регистрироваться к Twitter через область Settings перестанет работать, и
Twitter.frameworkне будет работать правильно. Если необходимо протестировать функции Twitter, необходимо будет выбрать или iOS 6.1 или средство моделирования iOS 6.0 выполненное место назначения, или можно протестировать с iOS 5.x на устройстве.
Трамплин
Примечания
Когда пользователь берет снимок экрана, активные касания больше не отменяются.
Динамические обои не доступны на iPhone 4.
Хранилища
Фиксированный в семени GM
Загрузки приложений больше не застревают в состоянии «Ожидания».
UIKit
Фиксированный в семени GM
Поля пароля не были выведены на экран в предупредительных представлениях для приложений в среде (например, Игровая аутентификация Центра или Закупка В приложении).
Известные проблемы
Если a
UITextFieldили aUILabelэто выравнивается базовой линией с ограничениями, имеет атрибуты, изменяющиеся после того, как ограничения были добавлены, расположение может быть неправильным. Исключение к этому-setFont:наUILabel, который должен работать как ожидалось.Обходное решение: Избегите вносить изменения в
UITextFieldилиUILabelпосле добавляющих ограничений базового выравнивания. Если необходимо внести изменения, необходимо удалить ограничения и затем повторно применить их позже. Обратите внимание на то, что это - хит производительности, не делайте этого, если это не необходимо.backIndicatorTransitionMaskот раскадровки или xib не будет интерпретироваться правильно во время выполнения.Обходное решение: установите
backIndicatorTransitionMaskв коде.
Примечания
Когда не будет достаточного количества комнаты в расположении панели навигации для полного текста заголовка кнопки «Назад», панель навигации заменит универсальным коротким задним заголовком (на английском языке, «Назад»). Если даже панель покажет заднюю двойную угловую скобку индикатора без заголовка, что строка является слишком длинной.
+[UIPasteboard pasteboardWithName:create:]и+[UIPasteboard pasteboardWithUniqueName]теперь уникальный имя, чтобы позволить только тем приложениям в той же группе приложений получать доступ к области монтажа. Если разработчик попытается создать область монтажа с именем, уже существующим, и они не часть того же комплекта приложения, то они получат свою собственную уникальную и частную область монтажа. Обратите внимание на то, что это не влияет на предоставленные области монтажа системы, общие, и найти.Значение по умолчанию приложений к использованию нового представления основанная на контроллере система управления строки состояния. Для выбора из этого добавьте значение НЕ для
UIViewControllerBasedStatusBarAppearanceключ к Вашему Info.plist.При использовании Автоматического Расположения к позиции a
UIButton, при установке сопротивления сжатия содержания или довольный приоритет объятия к минимуму кнопка будет иметь неоднозначное расположение.Обходное решение: не используйте сопротивление сжатия содержания или довольный приоритет объятия меньше чем 2 для
UIButton.UIScreenEdgePanGestureRecognizerпозволяет Вы для выполнения действий в ответ на сильно ударяете по краю экрана с помощью той же эвристики, которую система использует для ее собственных жестов. Используйте это, если у Вас есть навигация, семантическая собственный, который не используетUINavigationController, но это должно включать этот жест (например, Safari).Это устройство распознавания жеста имеет свойство, описывающее края, на которых это активно.
UIRectEdgeновый перечислимый тип что это свойство и-[UIViewController edgesForExtendedLayout]может совместно использовать.UIRectEdgeзаменыUIExtendedEdge, который будет удален. У элементов обоих есть те же значения. Используйте XCode для замены всех экземпляров «UIExtendedEdge» в проекте с «UIRectEdge».UIButtonTypeInfoLight,UIButtonTypeInfoDark, иUIButtonTypeDetailDisclosureкнопки все выглядят одинаково.Размытые уровни не доступны на iPhone 4.
Параллакс не доступен на iPhone 4.
Текст высокой печати не доступен на iPhone 4.
Погода
Примечания
Погодные условия не анимированы на iPhone 4.
WebKit
Примечания
Ранее, когда параметры области просмотра были изменены, старые параметры никогда не отбрасывались. Это заставило параметры области просмотра быть дополнением.
Например, если Вы запустили с width=device-width и затем изменили его на initial-scale=1.0, Вы закончили с вычисленной областью просмотра width=device-width, initial-scale=1.0.
В iOS 7 это адресовалось. Теперь Вы заканчиваете с с вычисленной областью просмотра initial-scale=1.0.
Ранее, при использовании <метаимя = содержание «области просмотра» = «initial-scale=1.0, user-scalable=1»>, масштаб мог быть неправильным после вращения.
Теперь, если пользователь не масштабировал страницу явно, страница восстанавливается ее начальному масштабу. Кроме того, текущий масштаб теперь правильно ограничивается в
min-scale,max-scaleграницы.В соответствии со спецификацией CSS,
backgroundКраткое свойство CSS теперь сбрасывает значениеbackground-sizeсвойство кautoкогда не указан фоновый размер.Изображения, больше, чем их контейнеры и разработанные с
backgroundсвойство послеbackground-sizeсвойство или-webkit-background-sizeсвойство поэтому появится дважды намеченный размер на дисплеях Сетчатки.Необходимо теперь указать
background-sizeсвойство или-webkit-background-sizeсвойство послеbackgroundкраткое свойство в таблице стилей CSS для выводимого на экран веб-контента.Устаревшее поведение доступно только для приложений, соединенных с SDK до iOS 7.0 при работе iOS 7 или позже.
Эта проблема влияет и на исходные приложения, выводящие на экран веб-контент и веб-страницы, просматриваемые в Safari для iPhone.
Известная проблема
Веб-приложения и веб-клипы, создаваемые до Семени 4, не останутся в папках через перезагрузку.
Обходное решение: Удалите старое веб-приложение, или сеть отсекают и воссоздают его в этом семени путем загрузки содержания в Safari, ответвления Кнопки действий, и затем “Добавьте к домашнему экрану”.
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 22.10.2013