Обновление API sqlite3 - PullRequest
       6

Обновление API sqlite3

0 голосов
/ 09 ноября 2008

Я хочу обновить / обновить стандартную установку Leopard Sqlite3 до> 3.5, чтобы использовать новые методы sqlite_xxx_v2 из проекта Cocoa.

Я не могу найти информацию о том, как это сделать. У кого-нибудь есть какие-либо советы или сайт, в котором изложена процедура обновления.

Также на iPhone поддерживается 3.5+. Я понимаю, что это встроено, поэтому не должно быть проблемой ...

Ответы [ 4 ]

8 голосов
/ 09 ноября 2008

То, что вы хотите сделать, это получить объединенные источники из http://sqlite.org/download.html. Затем просто скомпилируйте это в / добавьте в свой проект. Вы не хотите заменять систему sqlite - это будет иметь непредвиденные последствия в других приложениях. Кроме того, я почти уверен, что система sqlite не является стандартной sqlite ... Apple, вероятно, сделала свои собственные модификации, на которые опираются основные данные.

Вы можете прочитать об объединении здесь: http://sqlite.org/amalgamation.html, но вкратце: '' 'Объединение - это один файл кода C, называемый sqlite3.c, который содержит весь код C для базовая библиотека SQLite и расширения FTS3 и RTREE '' '

Я бы также предложил не использовать вызовы sqlite напрямую, они не были предназначены для такого использования (говорит автор sqlite). Вместо этого есть несколько оберток какао, включая fmdb: http://code.google.com/p/flycode/source/browse/trunk/fmdb/ (который я написал):)

-gus

4 голосов
/ 12 ноября 2008

На самом деле вы не хотите обновлять системную версию SQLite в Mac OS X. Причина в том, что все программное обеспечение Mac OS X сертифицировано в соответствии с версиями пакетов, которые оно включает, как это было сделано в процессе сборки Apple. Установка другой версии пакета или даже сборка той же самой версии, но немного отличающаяся от Apple, может привести к непредвиденной работе системы.

Наконец, если вы встраиваете более новую версию SQLite - или любую библиотеку с открытым исходным кодом или инфраструктуру, включенную в Mac OS X - в свое собственное приложение, вы должны обязательно интегрировать изменения Дарвина для него с общедоступного сайта Apple. Таким образом, вы можете быть уверены, что из библиотеки, которую вы создали сами, вы получите как можно более близкое поведение, чем та, которую поставляет Apple, что особенно важно, когда речь идет о таких функциях, как блокировка файлов в базах данных.

0 голосов
/ 09 ноября 2008

Вероятно, было бы проще просто вставить библиотеку в ваш проект и связать ее оттуда.

0 голосов
/ 09 ноября 2008

Не думаю, что я обновил свою версию, но в настоящее время она на 3.4.2, и я могу использовать новые методы с текущей версией.

И я использую 10.5.5 с последней (общедоступной) версией iPhone SDK.

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