Разрабатываете приложение iOS 3.1 с iOS 4.0 SDK и устройством? - PullRequest
3 голосов
/ 07 сентября 2010

Я разработал приложение для iPhone для iOS Deployment Target 3.2.

Но мой клиент передумал и хотел бы, чтобы приложение было доступно для iOS 3.1. Таким образом, я установил iOS Deployment Target 3.1 и оставил базовый SDK на 4.0, но все компилируется нормально, хотя я уверен, что использую методы и классы, представленные только в iOS 3.2.

Как я могу определить свой код, который не будет работать на устройстве 3.1? (и может вызвать сбой приложения)

Моя проблема в том, что у меня есть одно устройство iPhone (с установленным 4.0.2) и что SDK 3.1.x больше не предоставляются Xcode.

Ответы [ 3 ]

2 голосов
/ 22 сентября 2010

Генри, это может вам помочь: установите старый xcode & sdk параллельно новому.Ссылки на старые SDK можно найти здесь: http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html

надеюсь, это было то, что вы хотели.

0 голосов
/ 07 сентября 2010

Единственный способ убедиться, что ваше приложение будет работать на устройстве под управлением 3.1, - это протестировать его на устройстве под управлением 3.1.То же самое касается поддержки более старого (до iPhone 3G S) оборудования.Я видел слишком много приложений в магазине, которые были явно протестированы только на более новом устройстве и которые перегружены или исчерпаны память на старом оборудовании.Если вы не поддерживаете это оборудование, прекрасно, просто установите свой Info.plist соответствующим образом, чтобы он не был доступен для этих устройств.

Независимо от того, насколько тщательно вы считаете, что проверяли новые методы и классы, вывсе еще может столкнуться с тонкими проблемами.Например, вам может понадобиться или не понадобиться слабая ссылка на определенные платформы, иначе ваше приложение будет зависать на старых ОС, даже если вы не используете новые API.

Касания iPod более старой модели дешевы на eBay и могутпонизиться до более старых версий ОС, если на них установлена ​​версия 4.0.Кроме того, вы можете найти кого-то с устройством под управлением более старой версии ОС и отправить ему специальную сборку приложения для тестирования.Это менее желательно, потому что вы захотите подключить инструменты к устройству, чтобы убедиться, что использование памяти не слишком близко к опасной области на старом устройстве.

Извините, но этоЕдинственный способ быть уверенным.Как сказал мне другой разработчик: «Если вы не тестировали его на определенной версии ОС или устройства, подумайте, что ваше приложение там не работает».

0 голосов
/ 07 сентября 2010

Вы тоже проверили предупреждения?Если селектор не найден, он скомпилируется, но может предупредить вас, что соответствующий селектор не найден или что-то подобное.Вы сказали, что уверены, что использовали> = 3,2 вещи.Разве вы не знаете, что они?

...