OS X Installationspakete erzeugen


Hier wird gezeigt wie einfach es ist mit dem Mac Installationspakete zu erzeugen.


Für Anwender ist es immer angenehmer ein Installationspaket zu haben. Das ist immer ein besseres Gefühl als irgendetwas irgendwohin zu kopieren.

Üblicherweise werden die Programme für den Mac als DMG angeboten. In diesen Disk Images sind dann die APPS versteckt. Die Installation des Programms ist dann auch ganz einfach. Mit der linken Maustaste das Programm-Icon packen und über dem Programm Ordner loslassen. Dadurch wird die Anwendung in das Programmverzeichnis kopiert und kann dort ab sofort gestartet werden. In vielen der DMG’s ist zusätzlich zu den Programmen auch eine Verknüpfung zu dem Programm-Verzeichnis vorhanden.

Wenn man selbst Programme schreibt muss man also einfach ein Disk Image erzeugen und kann dieses zum Download zur Verfügung stellen. Das ist recht einfach.

Hier die Anleitung

  1. Ein Diskimage erstellen.
    Das kann am einfachsten mit dem GUI-Tool „Festplattendienstprogramm“ aus dem Ordner „Dienstprogramme“ bewerkstelligt werden.
    Einfach dieses Programm starten und aus der Toolbar „Neues Image“ wählen…
    Alternativ kann das Image auch mit dem Kommandozeilenwerkzeug „hdiutil“ erzeugt werden. Im dem geöffnetem Terminal erzeugt der Befehl „hdiutil create -size 10m /tmp/tmp.dmg -ov -fs HFS+“ ein neues Image mit dem Namen „tmp.dmg“ in dem „/tmp“ Ordner. Die maximale Größe ist in diesem Beispiel 10MB.
  2. Das Image mounten (anklicken)
    Das klingt kompliziert ist aber einfach. Ich hier davon aus das Image ist in dem „/tmp“ Ordner. Im Finder mit „Gehe zu“ in den „/tmp“ Ordner wechseln und mit einem Doppelklick das Diskimage öffnen. Dadurch wird das Laufwerkssymbol auf dem Desktop angezeigt und lässt sich in dem Finder Fenster direkt anwählen.
  3. Mit Xcode ein install generieren lassen.
    XCode hat auch ein Kommandozeilenwerkzeug. Dieses wird jetzt benötigt. Mit „xcodebuild“ erzeugen wir jetzt ein zur Installation vorgesehene Version unseres Projektes. Dafür brauchen wir das Terminal und müssen in das Verzeichnis wechseln in dem unser Projekt zu Hause ist. Mit dem Befehl „xcodebuild clean install“ räumen wir zuerst auf, danach wir ein neues komplettes Build durchgeführt. Das Ergebnis landet aber diesesmal nicht in den tiefen des Library-Verzeichnisses sondern in „/tmp“. Da sind wir bereits im Finder. Durch den Aufruf von xcodebuild wurde hier ein neues Verzeichnis erzeugt. Dieses Verzeichnis trägt den Namen des Projekts mit dem Anhang „.dst“. In diesem Verzeichnis finden wir unsere für den nächsten Schritt benötigten Dateien.
  4. Das Programm in das Image kopieren.
    In dem oben genannten Verzeichnis existiert ein Unterordner. Dieser hat den nicht sehr überraschenden Namen „Applications“. Alles was hier zu finden ist muss in das neue Diskimage kopiert werden. Zusätzlich könnten hierher noch eine Versionshistorie und die Lizenzinformationen landen.
  5. Einen symbolischen Link auf das Programmverzeichnis generieren.
    Da wir die Vorgänge für unsere Anwender so einfach wie möglich gestalten wollen stellen wir noch einen Link zu dem Anwendungen Verzeichnis zur Verfügung. Jetzt kommen wir aber ohne die  Kommandozeile nicht mehr weiter. Zuerst müssen wir in das Diskimage wechseln. Da funktioniert über den Befehl „cd /Volumes/„. Da wir keinen Namen vergeben hatten lautet dieser bei uns „untitled“. Jetzt könnten wir kurz und knackig den symbolischen Link erzeugen. Dafür geben wir in die Befehlszeile: „ln -s /Applications Applications“ ein.
  6. Kopieren ins Projektverzeichnis
    Alles was in dem Verzeichnis „/tmp“ steht lebt nur bis zum nächsten Reboot. Deswegen müssen wir unser neues Werk als letzten Schritt noch in das Projektverzeichnis oder anders Verzeichnis unserer Wahl kopieren.
  7. Abschluß
    Das war alles. Jetzt haben wir ein fertiges professionell aussehenden Paket zur Installation unseres Programms erzeugt. Dieses Paket können wir schön verbreiten.

Xcode Programme nachladen


Programme

Es ist wirklich wichtig bei Xcode auch die Programme und Simulatoren hinzuzufügen. Hierzu muss auch über die Einstellungen und Downloads der richtige Bereich geöffnet werden. Dann wird dieser Dialog angezeigt:

Hier sind die Command Line Tools wichtig. Dieses Paket ist ungefähr 136MB groß. Es enthält alles was benötigt wird um aus dem Terminal Programme zu entwickeln. Also im Prinzip das was bei Linux die binutils sind. Natürlich sind diese Tools seit der Umstellung von Xcode zu der App Version nicht mehr so einfach zu erreichen. Die werden nämlich nicht mehr in dem normalen Dateisystem installiert, sondern in der Xcode App. Der Aufruf von zum Beispiel des Programms „make“, „headerdoc2html“ oder „gitk“ mss deswegen aus der App erfolgen. Der richtige Pfad hierfür ist: „/Applications/Xcode.app/Contents/Developer/usr/bin/“. Der Name des Programms das man starten möchte muss man an diesen Pfad hängen.

Die Simulatoren sind wichtig wenn man Programme für ein iOS Gerät entwickeln möchte. Auch hier ist es gut den Haken im oberen Bereich des Dialogs zu setzen. Dadurch bleiben diese zusätzlichen Programme aktuelle.

Dashcode, Quartz Composer und PackageMaker

Es gibt aber noch mehr. Jeder der sich früher in der Prä App Zeit bereits mit Xcode auseinander gesetzt hatte kennt Dashcode und Quartz Composer. Diese beiden Programme sind bei der Umstellung zu der App-Version von Xcode einfach verschwunden. Das ist ärgerlich.

Aber Apple liefert die einfach nicht mehr mit. Die Programme gibt es zum Glück noch. Um diese zu bekommen muss Xcode gestartet sein. In dem Xcode Menü gibt es den Eintrag „Open Developer Tool“. Hier sind die Standard Werkzeug aufgeführt, die bereits installiert sind. Das ist zuerst schon einmal interessant. Wir wollen aber mehr.

Dafür gibt einen Eintrag in diesem Menü. Es ist der Eintrag „More Developer Tools…“, der als letztes in diesem Menü aufgeführt ist. Wenn wir diesen auswählen gehen wir direkt weiter in Web zu Apple. Man muss als Entwickler registriert sein um hier etwas zu erreichen. Dazu muss man sich einfach bei diesem Dialog mit seiner Apple-ID anmelden

Nach der erfolgreichen Registrierung werden jetzt alle möglichen Downloads angezeigt. Das geht über das komplette Xcode, die vorher beschriebenen „Command Line Tools“ bis zu unseren fehlenden Programmen. Zusätzlich können wir jetzt den vorher nie vorhandenen PackageMaker herunterladen und installieren.

Es gibt drei sehr interessante Pakete:

  • Dashcode für Xcode
  • Auxiliary Tools für Xcode – Enthält den PackageMaker
  • Graphic Tools für Xcode – Enthält den Quartz Composer

So und jetzt viel Spaß mit dem erweitertem Xcode.

 

Dokumentation in Xcode


Xcode erweitern

Die erste Methode mehr aus Xcode herauszuholen ist zuerst die Dokumentation zu installieren. Das geht ganz einfach. Nach dem Xcode gestartet wurde mit der Tastenkombination Umschalt-Command-2 auf den Organizer umschalten. Hier kann man mit der Hilfe des Dokumentations-Symbols feststellen zu welchem Thema bereits Dokumentationen installiert sind.

Fehlende Dokumentationen kann man nachträglich einfach installieren. Dazu muss man in die Einstellungen wechseln. Das funktioniert am einfachsten über die Tastenkombination Command-,. In dem jetzt angezeigten Dialog einfach das Download Icon anklicken. Es werden zwei Kategorieren zum Download angeboten. Wir machen jetzt erst einmal die Dokumentation fertig. Also hier erst einmal die Dokumentation auswählen. Das Ergebnis sollte in etwa so aussehen:

Bild

Sollte eine Dokumentation fehlen, so steht nach dem Icon und dem Namen nicht installed. Statt dessen ist ein Button zu sehen mit dem man dieses fehlende Dokumente installieren kann. Es ist sinnvoll den Haken in der Checkbox über der Liste zu setzen. Dadurch wird erreicht dass die Dokumention in Xcode immer aktuell und vollständig bleibt.

 

Programme erstellen mit dem Mac


QT

Das Framework von Nokia gibt es auch komplett für den Mac. Mit IDE, C-Compiler und allen Tools. Hiermit ist es möglich in C++ Programme für alle wichtigen Umgebungen zu entwickeln.

Java

Das RTE von Java steht selbstverständlich auch für den Mac zur Verfügung. Da ich mich schon länger mit Java beschäftigt hatte war das auch der erste Versuch. Das funktioniert wirklich gut. Die Ladezeit und die Ausführung der Programme funktioniert auf dem Mac besser und schneller als auf dem vorherigen Rechner. Als IDE stehen Eclipse und Netbeans bereit. Je nach persönlicher Vorliebe kann man hier gleich mit der richtigen Umgebung durchstarten. Ich nutze lieber Netbeans und das fühlt sich an wie immer, nur schneller. Die in den anderen Plattformen integrierte Unterstützung für C++ nützt allerdings auf dem Mac nicht viel. Aber die Entwicklungsumgebung soll Java unterstützen und das tut sie gut.

Mono

Der Opensource Ableger von Microsofts .NET steht auch zum Testen und arbeiten für den Mac bereit. Die IDE Monodevelop gibt es sogar in einer speziellen Version für dieses System. Hier sind ein paar Erweiterungen integriert die die Entwicklung für OS X Programme erleichtern. Zuerst ist Mono deutlich moderner als das inzwischen etwas angestaubte Java. Mono unterstützt wirklich verschiedene Sprachen wie: C#, VB.NET, boo und ironpython. Mit diesem Framework ist es möglich Programme für alle Plattformen oder aber auch spezielle Mac Programme zu schreiben. Außerdem bietet die aktuelle Version von Mono auch kostenpflichtige Erweiterungen zur Entwicklung für Programme für iOS oder Android. Mit Monodevelop ist es möglich Projekte für die Programmiersprachen zu starten:

Projekte die in Monodevelop möglich sind.
Monodevelop Projekte

Wie an dem obigen Bild zu sehen ist wurde in diese IDE durch die Projektvorlage MonoMac speziell in der OS X Umgebung erweitert. Dadurch ist es möglich proprietäre OS X Programme zu erstellen. Monodevelop nutzt hier sogar den Interface Builder für die Erstellung der GUI.

Xcode

Der Platzhirsch ist von Apple direkt. Natürlich bietet die von dem Computerhersteller bereitgestellte IDE alles was sich das Herz eines Softwareentwicklers wünscht. Ich finde dieses Produkt toll und es funktioniert gut wenn man erst einmal herausgefunden hat wie. Xcode ist anders als alle anderen IDE’s. Deswegen bin ich hier auch erst einmal am lernen…

Fazit

Nicht nur weil Steve Jobs Java hasste bin ich erst einmal dabei mich mit Mono bzw. .NET zu beschäftigen. Ich arbeite als EDV’ler. Bei meinem Arbeitgeber ist Windows im Einsatz. Da Systemerweiterung und kleine Tools mit Mono oder .NET gut zu programmieren sind, bin da bestimmt auf dem richtigen Weg. Mono ist also momentan die Universalsprache. Trotzdem werde ich mich auf Xcode und die native OS X und iOS Umgebung konzentrieren.