2009-06-07 5 views
5

Est-ce que quelqu'un sait où obtenir une bibliothèque MySQL compilée pour l'architecture de bras iPhone?MySQL C bibliothèques API pour iPhone

Ou comment cross-compiler MySQL pour le bras?

Thanx

+0

Est-ce important d'utiliser MySQL et non SQLLite? Les bases de données SQLLite peuvent facilement être intégrées dans les applications iPhone à l'aide des API CoreData d'Apple. Utiliser MySQL est peut-être possible, mais ce serait beaucoup plus compliqué ... –

+0

Je dois utiliser MySQL – Igor

+1

Accéder à la base de données directement à partir d'une application iPhone ne semble pas être une bonne solution. La solution la plus saine serait probablement de créer un service Web et d'utiliser les données du service Web dans l'application iPhone. –

Répondre

1

Voilà comment je l'ai fait:

1) Télécharger la version du code source de Connector/C depuis MySQL

2) Télécharger cmake (si vous avez installé macports, tapez "sudo port" installer CMake ")

3) Obtenir les fichiers toolchain de 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) Dans le fichier toolchain pour le simulateur, retirer une architecture de la ligne contenant CMAKE_OSX_ARCHITECTURES

5) Si vous voulez construire pour la simulateur, copiez les en-têtes manquants dans /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/usr/include/netinet/ (ip.h et in_system.h) à partir de /Developer/Platforms/iPhoneOS.platform /Developer/SDKs/iPhoneOS3.2.sdk/usr/include/netinet

6) Créer une répertoire répertoire d "compiled_library" quelque part, par exemple sur votre bureau

7) Appel CMake comme ceci: CMake -DCMAKE_TOOLCHAIN_FILE =/path/to/iphone-toolchain-file -DCMAKE_INSTALL_PREFIX =/path/to/compiled_library -DHAVE_FDATASYNC: interne = 0

8) Notez que si vous souhaitez exécuter cmake une 2ème fois, vous pourriez avoir à supprimer le fichier cache premier

9) tapez make install

10) maintenant, vous avez la bibliothèque compilé/path/to/compiled_library. Copiez le répertoire du fichier d'en-tête et libmysql.a dans votre projet xcode via "Ajouter des fichiers existants ...". La bibliothèque doit être automatiquement ajoutée à l'étape de l'éditeur de liens.

11) WOOHOO. Utilisez l'API C mysql.

12) Si c'est trop de travail, j'écris actuellement un framework MySQL pour l'iPhone. Je vais le publier dans les dix prochaines années et mettre un lien ici.

EDIT: Quelqu'un d'autre a créé un objectif C Wrapper pour la bibliothèque client MySQL: http://www.karlkraft.com/index.php/2010/09/17/mysql-for-iphone-and-osx/

+0

merci beaucoup – Igor

-4

Je ne crois pas que vous pouvez exécuter MySQL sur l'iPhone. Comme Ben l'a souligné SQLite est intégré dans l'iPhone et vous pouvez utiliser les données de base pour gérer les données structurées.

+1

Je n'ai pas besoin de lancer MySQL sur l'iPhone. J'ai juste besoin des bibliothèques clientes MySQL pour l'architechture ARM – Igor

0

Vous pouvez utiliser Kumulos 'Hookup' http://www.kumulos.com/2011/07/06/introducing-hookup/ pour construire une fonction gamme de services Web pour votre base de données MySQL.

Fondamentalement, vous définissez vos différents services Web dans le panneau de contrôle en ligne, puis il construit tout le code côté Objective-C et le code côté serveur. Je crois que c'est la façon la plus simple d'atteindre vos objectifs, et probablement beaucoup mieux que d'utiliser une bibliothèque MySQL Objective-C directe.