Продолжается поддержка iOS5

Недавно я загрузил тестовую версию своего приложения в iTunes Connect и на следующий день получил это письмо:

Мы обнаружили одну или несколько проблем с вашей недавней доставкой для «MyApp». Доставка прошла успешно, но при следующей доставке вы можете исправить следующие проблемы: Отсутствует поддержка 64-разрядной версии. Начиная с 1 февраля 2015 г. новые приложения для iOS, отправляемые в App Store, должны поддерживать 64-разрядную версию и SDK для iOS 8. Начиная с 1 июня 2015 г. обновления приложений также должны соответствовать тем же требованиям. Чтобы включить 64-разрядную версию в вашем проекте, мы рекомендуем использовать настройку сборки Xcode по умолчанию «Стандартные архитектуры» для создания одного двоичного файла как с 32-разрядным, так и с 64-разрядным кодом. После устранения проблем вы можете использовать Xcode или Application Loader для загрузки нового двоичного файла в iTunes Connect.

В прошлый раз, когда я выпускал релиз, я не мог загрузить приложение, пока не исправлю 64-битную сборку, так что я знаю, что это нормально, но я все еще работаю над iOS 5 SDK, потому что наше приложение все еще поддерживает его. Если я перейду на сборку для iOS 8 SDK, не помешает ли это моему приложению работать со старыми версиями iOS? Как узнать, будут ли работать новые функции в iOS 5?


person parsley72    schedule 27.03.2015    source источник
comment
Вы сказали мне 6, но 5...   -  person    schedule 28.03.2015


Ответы (2)


Вы всегда должны компилировать с последним SDK, который в настоящее время (3/2015) является iOS 8 SDK.

То, что вы хотите установить, это «Цель развертывания». Цель развертывания указывает самую раннюю версию iOS, на которой, по утверждению вашего приложения, должно работать. Цель развертывания соответствует __IPHONE_OS_VERSION_MIN_REQUIRED макрос, кстати.

Таким образом, вы можете скомпилировать SDK для iOS 8 и в то же время установить цель развертывания проекта на «5.0» (или «5.1» или что-то еще). Вы должны быть осторожны, чтобы не использовать функции iOS 8 при работе на устройстве iOS 5, потому что это приведет к сбою приложения. Я часто использую метод -respondsToSelector: для проверки доступности функций. +много изучения документов. + много тестов на старых устройствах.

person Michael    schedule 27.03.2015

Что ж, когда вы обновитесь до iOS8 SDK, некоторые функции не будут работать, например, Push-уведомления и служба определения местоположения. Таким образом, вам нужно управлять этой частью соответственно.

person vichevstefan    schedule 27.03.2015