Совместимость с SQLite для iPhone от iOS 2.0 до iOS 4.0 - PullRequest
2 голосов
/ 29 июня 2010

Я бы хотел, чтобы мое приложение было совместимо с iOS 2.0, как с iOS 3.0 и iOS 4.0.

Я собираюсь использовать SQLite по многим причинам.

Теперь: что мне делать с SQLite? Должен ли я использовать функции, доступные в SQLite, поставляемом только с iOS 2.0?

Обновление:

В Xcode 3.2.3 я могу установить базовый SDK для iOS 4.0

SDKROOT = iphoneos4.0

и цель развертывания на iOS 2.0

IPHONEOS_DEPLOYMENT_TARGET = 2.0

Я понимаю, что iOS 2.x больше не поддерживается напрямую, но это не значит, что вы не можете быть обратно совместимыми ... Как отметил Рудигер, разработка приложения с такой обратной совместимостью будет затруднительно. Но действительно ли вы думаете, что больше нет iPod Touch с iOS 2.x?

В любом случае, спасибо за информацию о libsqlite3.dylib, я застрял с SQLite, так как поддержка внешнего ключа была введена в обновлении в октябре 2009 года (http://www.sqlite.org/changes.html), и поэтому она не будет доступна в iOS 2. устройства x и 3.x ... верно?

Ответы [ 5 ]

19 голосов
/ 15 сентября 2010

Номера версий SQLite 3 из sqlite3.h:

3.4.0 - iPhone OS 2.2.1
3.6.12 - iPhone OS 3.0 / 3.1
3.6.22 - iPhone OS 4.0
3.7.2 - iPhone OS 4.3
3.7.7 - iPhone OS 5.0
3.7.13 - iPhone OS 6.0 / 7.0 / 8.0
3.8.5 - iPhone OS 8.2
3.8.10.2 - iPhone OS 9.0

2 голосов
/ 27 апреля 2011

Вам не нужно полагаться на SDK-версию sqlite. В вашем проекте легко скомпилировать sqlite3 и у него есть свои преимущества, а именно:

  • использовать последнюю версию sqlite3
  • вы можете иметь поддержку внешнего ключа и / или ...
  • r * Поддержка дерева (для быстрого диапазона / геопространственных запросов)

Взгляните на https://github.com/mirek/CoreSQLite3, который готов для iOS.

1 голос
/ 29 июня 2010

iOS 2.0 больше не поддерживается напрямую с последними SDK.Ориентация на iOS 3.x может быть осуществлена, но Apple говорит, что вы должны использовать самый последний SDK каждый раз, когда вы отправляете приложение, и если у самого последнего нет поддержки для создания приложений 2.x, вы, вероятно, не должны его использовать.Они также обесценили некоторые вещи в 3.x из 2.x, а в 4.x у вас нет гарантий, что они все еще доступны.

0 голосов
/ 06 июля 2010

Лично я не изменил код SQL в одном из моих приложений, которое изначально разрабатывалось для 2.0 и теперь находится на рассмотрении в App Store, встроенном в 4.0 SDK (но цель развертывания установлена ​​на 3.0). Так что я бы сказал, что вам не нужно беспокоиться о SQLite между этими версиями, если только вы сознательно не используете некоторые функции SQLite, которых не было в 2.0

Вы можете найти некоторые интересные статистические данные об использовании AdMob: http://metrics.admob.com/. Я не могу найти конкретную ссылку сейчас; последний раз, когда я проверял (март 2010 г.), устройства под управлением iOS <3.0 были чуть ниже 5%. Так стоит ли по-прежнему ориентироваться на эту семью, решать только вам; Я для себя отказался от поддержки <3.0. </p>

0 голосов
/ 30 июня 2010

Чтобы добавить к тому, что сказал Jamone, что является правильным. libsqlite3.dylib не изменился, так как я использовал и протестировал его в iOS3 и iOS4 без изменений. Я понятия не имею, с iOS 2 на iOS 3. Думаю, вам будет крайне сложно заставить работать одно приложение во всех 3 ОС или, по крайней мере, ограниченное приложение, поскольку вы будете ограничены функциональностью, доступной в iOS 2 * 1001. *

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