2009-06-07 33 views
5

Czy ktoś wie gdzie można uzyskać biblioteki MySQL skompilowane dla architektury iPhone'a?Biblioteki API MySQL C dla iPhone'a

Albo jak skompilować krzyżowo MySQL dla ramienia?

Niż

+0

Czy ważne jest używanie MySQL, a nie SQLLite? Bazy danych SQLLite można z łatwością osadzać w aplikacjach na iPhone'a za pomocą interfejsów Apple CoreData API. Używanie MySQLa może być możliwe, ale byłoby to znacznie trudniejsze ... –

+0

Muszę używać MySQL – Igor

+1

Dostęp do bazy danych bezpośrednio z aplikacji na iPhone'a nie brzmi jak dobre rozwiązanie. Najmilszym rozwiązaniem byłoby prawdopodobnie utworzenie usługi internetowej i korzystanie z danych z usługi internetowej w aplikacji na iPhone'a. –

Odpowiedz

1

Oto jak to zrobiłem:

1) Pobierz wersję kodu źródłowego Connector/C z MySQL

2) Pobierz cmake (jeśli masz zainstalowane Macports, wpisz "sudo port" zainstalować cmake ")

3) Pobierz pliki toolchain z http://sites.google.com/site/michaelsafyan/coding/resources/how-to-guides/cross-compile-for-the-iphone/how-to-cross-compile-for-the-iphone-using-cmake

4) w pliku toolchain na symulatorze, usunąć jedną architekturę z wiersza zawierającego CMAKE_OSX_ARCHITECTURES

5) Jeśli chcesz zbudować dla symulator, skopiuj brakujące nagłówki w /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/usr/include/netinet/ (ip.h i in_system.h) z /Developer/Platforms/iPhoneOS.platform /Developer/SDKs/iPhoneOS3.2.sdk/usr/include/netinet

6) Utwórz katalog calle d "compiled_library" gdzieś, na przykład na pulpicie

7) cmake połączeń tak: CUpewnij -DCMAKE_TOOLCHAIN_FILE =/ścieżka/iphone-toolchain-file/-DCMAKE_INSTALL_PREFIX =/ścieżka/do/compiled_library -DHAVE_FDATASYNC: WEWNĘTRZNY = 0

8) należy zauważyć, że jeśli chcesz uruchomić cmake 2nd czasu, może trzeba usunąć pierwszy plik cache

9) make install

10) teraz masz skompilowaną bibliotekę/path/to/compiled_library. Skopiuj katalog plików nagłówkowych i libmysql.a do swojego projektu xcode za pomocą "Dodaj istniejące pliki ...". Biblioteka powinna zostać automatycznie dodana do etapu linkera.

11) WOOHOO. Użyj mysql C API.

12) Jeśli to zbyt dużo pracy, obecnie piszę ramkę opakowania MySQL dla iPhone'a. Opublikuję go w ciągu najbliższych dziesięciu lat i wstawię tutaj link.

EDIT: Ktoś stworzył Objective C otoczka do biblioteki klienta MySQL: http://www.karlkraft.com/index.php/2010/09/17/mysql-for-iphone-and-osx/

+0

dziękuję bardzo – Igor

-4

nie wierzę można uruchomić MySQL na iPhone. Jak zauważył Ben, SQLite jest wbudowany w iPhone'a i możesz używać Core Data do zarządzania danymi strukturalnymi.

+1

Nie muszę uruchamiać MySQL na iPhonie. Potrzebuję tylko bibliotek klienckich MySQL dla ARM architechture – Igor

0

Można użyć http://www.kumulos.com/2011/07/06/introducing-hookup/ funkcję Kumulos „Podłączenie” zbudować pakiet usług internetowych dla bazy danych MySQL.

Zasadniczo definiujesz różne usługi internetowe w internetowym panelu sterowania, następnie tworzysz cały kod Objective-C i kod po stronie serwera.

Uważam, że jest to najprostszy sposób na osiągnięcie swoich celów, i prawdopodobnie o wiele lepszy niż przy użyciu bezpośredniej biblioteki MySQL Objective-C.