2010-08-06 2 views
2

Я только что отправил свое приложение в магазин приложений и получил много комментариев, что приложение вылетает при запуске на старых iphones. Цель развертывания была установлена ​​в 3.1.3 и base sdk to 4.0. Я думал, что я не использовал api из 4.0, поэтому единственной проблемой может быть библиотека три20.iOS 4.0 и 3.0 на одном mac

Теперь у меня есть два xcodes, установленных на моем компьютере. После некоторых изменений мой проект может быть создан как в новейшей версии (3.2.3), так и в 3.2.1 с базовым sdk, установленным в 3.1.3, и целью развертывания до 3.0. Мое приложение работает в симуляторе iphone как в xcodes, так и во всех версиях (от 3.0 до 4.0).

Теперь мой вопрос - , если мой проект может быть построен с базовым sdk, установленным в 3.1.3, будет ли он работать на реальном устройстве, если я построю его с 4.0 и выберем цель развертывания до 3.0? У меня есть доступ к реальному устройству с iOS 4.0, и нет другого способа проверить, все ли в порядке.

+2

Вот почему вам всегда нужно тестировать устройства, на которых установлена ​​таргетинг ОС. Не только версия ОС представляет собой потенциальную проблему, но более старые устройства имеют более ограниченное аппаратное обеспечение и могут запускать проблемы с памятью и обработки, которых нет в iPhone 3G S после iPhone. –

ответ

1

с 4.0 sdk вы можете установить цель развертывания в 3.0, а базовый sdk - 4.0, и все должно быть хорошо. Если у вас установлен старый симулятор, вы можете запустить эту сборку (не перестраивать с базового sdk 3.1.3!) На симуляторе, чтобы протестировать ее там, хотя наличие старого устройства было бы идеальным.

+0

Тогда есть что-то не так, потому что, когда я восстановить проект все хорошо, но когда я просто запустить его я получаю: dyld: символ не найден: _OBJC_CLASS _ $ _ NSAssertionHandler Единственная слабая подключаемая библиотека в моем проекте является UIKit, как указано на трех20 форумах. Я понятия не имею, что делать. – iRybek

+1

http://stackoverflow.com/questions/3275171/weak-linking-to-support-previous-ios-versions –

+0

Из этой ссылки, которую вы опубликовали, видно, что нет способа проверить, работает ли приложение, даже на другой xcode с более старым симулятором, я прав? – iRybek

Смежные вопросы