MySQL in Cocoa mit Objective-C nutzen

Da Objective-C auf C basiert, kann man die C-API für den Zugriff auf eine MySQL-Datenbank nutzen.
Damit dies funktioniert, müssen jedoch die entsprechenden Header im Cocoa-Projekt mit verlinkt werden. Ausserdem muss die libz.dylib eingebunden werden.

Damit unsere Applikation die entsprechenden Header-Dateien und Bibliotheken finden kann, müssen sie in den Build-Settings eingestellt werden.
Dazu das aktive Target auswählen und oben im Reiter auf Build klicken.
Folgende Werte müssen geändert werden

  • Header Search Paths: Der Pfad zum include-Verzeichnis der MySQL-Installation (in der Regel »/usr/local/mysql/include«)

  • Library SearchPaths: Der Pfad zum lib-Verzeichnis der MySQL-Installation (in der Regel »/usr/local/mysql/lib«). Ausserdem sollte der Pfad zur libz.dylib («/usr/lib/libz.dylib«») angegeben werden.

  • Other Linker Flags: -lmysqlclient

Die Build-Settings des Target

Da leider das Einbinden der libz.dylib über nicht immer reicht, sollte man die aktuelle Version zum Projekt hinzfügen. Um die aktuelle Version heraus zu finden im Terminal mit cd /usr/lib in das Verzeichnis wechseln und dort dann ein ls -la durchführen, um sehen zu können, auf welche Datei der Symlink libz.dylib zeigt.

Nun im Finder mittels Gehe Zu > Gehe zum Ordner… in das Verzeichnis /usr/lib wechseln und die Datei in unser Cocoa-Projekt wechseln.
Copy items into destination group’s folder (if needed) wählen und bestätigen.

Nun muss nur noch in den Klassen, in denen auf die Datenbank zugegriffen werden soll, die Header-Datei »mysql.h« importiert werden.

Anmerkung: der Build-Style Development verursacht oft Probleme, oder Fehlermeldungen. Diese treten jedoch im Deployment nicht auf. Daher wechsle ich meist direkt zu Deployment, da ich nur dort sehen kann, ob »richtige« Fehler vorhanden sind.


Ähnliche Artikel

Dein Kommentar:

Sämtliche Html-Tags werden gelöscht, der Kommentar kann mit Textile formatiert werden.
Vor dem Absenden müsst ihr euch einmal die Vorschau ansehen.