Что произойдет, если мое приложение для iPhone 4 на iPhone будет выполнено на телефоне с iOS 3.2? - PullRequest
0 голосов
/ 08 июня 2010

Полагаю, это просто рухнет, верно?Если я разрабатываю приложение для iPhone, которое использует iOS 4 SDK, и оно попадает в магазин приложений, как я могу гарантировать, что оно не будет загружено человеком, работающим под управлением более старой версии iOS? *

Заранее спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 08 июня 2010

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

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

2 голосов
/ 08 июня 2010

Если ваш проект указывает 4.0 в качестве цели, он даже не будет загружен на телефон 3.2 - нет проблем.

Когда вы публикуете приложение в магазине, вы указываете минимальный уровень ОС и приемлемые устройства (например, не ищите GPS на iPod Touch). Существует проверка совместимости, которая должна предотвращать загрузку приложения, если оно несовместимо. Процесс утверждения приложения (надеюсь) гарантирует, что то, что вы сказали, совместимо на самом деле.

Если вы каким-то образом используете API, которых нет на устройстве (поскольку вы ориентируетесь на версию до введения этого API или по любой другой причине), то да, вы получите сбой из-за неизвестного селектора.

Вы можете использовать

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200

чтобы проверить, на какую версию вы нацеливаетесь ... первая цифра (3) является основной ревизией, третья цифра (2) является второстепенной. Следовательно, показанная проверка предназначена для 3.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...