Theos/de

From iPhone Development Wiki

Languages: Deutsch • English

Theos ist eine Sammlung aus Cross-Plattform-Entwicklungswerkzeugen um Software für iOS ohne Xcode entwickeln und weiterverteilen zu können. Es ist ein wichtiges Werkzeug für Entwickler, die sog. Tweaks und andere Erweiterungen entwickeln zu können; die Meisten benutzen Theos.

Overview

Theos besteht aus einigen wichtigen Komponenten:

  • Einem Projektvorlagen-System (NIC), welches Vorlagen für verschiedene Projekte erstellen kann
  • Einem robusten Build-System auf Basis von GNU Make, welches direkt .deb-Dateien produzieren kann. Diese können im Cydia-Store vertrieben werden.
  • Logos, einer Präprozessor-Bibliothek, welche das Entwickeln von MobileSubstrate-Erweiterungen einfach macht

Theos wird in erster Linie für die Entwicklung von jailbreak-nahen Projekten benutzt (z.B. MobileSubstrat-Erweiterungen, PreferenceLoader bundles und Apps für Cydia), es kann jedoch auch für andere Verwendungszwecke eingesetzt werden. Möglich sind unter anderem die Entwicklung von SDK-basierten Apps ohne einen Mac oder Xcode zu benutzen. Theos läuft auf Windows, Linux, iOS und Mac OS X.

Theos wird mit dem Skript Logify ausgeliefert. Dieses macht aus einer Objective-C Header-Datei einen Tweak der alle gefundenen Methoden "hookt" und jeden Aufruf in die syslog schreibt. Das ist sehr nützlich, um ohne viel "reverse-engineering" die Aufruf- und Hierarchiestrukturen der ge-Logify-ten Klasse herauszufinden.

Wo starte ich mit Theos

Hauptartikel: Theos/Setup.

Diese Stackoverflow-Antwort könnte nützlich sein.

Eine gute Dokumentation: this Theos documentation by theiostream.

Theos variablen

Man kann kannst Theos konfigurieren, indem man verschiedene Variablen in der Projekt-Makefile setzt. Alternativ kann man diese auch als Umgebungsvariable exportieren (dies beeinflusst alle Projekte!).

Unvollständig. Du kannst helfen, sie zu vervollständigen. Hier?

Variablenname Beschreibung Standardwert Sonstiges
THEOS Der Ordner, in dem Theos installiert wird. Hängt von vielen Faktoren ab.
  • /opt/theos standardmäßig auf Mac OS und Linux
  • /var/theos standardmäßig auf iOS
PACKAGE_VERSION Die aktuelle Buildversion $(THEOS_PACKAGE_BASE_VERSION)-$(VERSION.INC_BUILD_NUMBER) [1]
ARCHS Liste auf Chip-Architekturen, für die der Build kompiliert werden soll

Mögliche Werte dieser Variable: i386 x86_64 armv6 armv7 armv7s armv7f armv7v arm64

TARGET Die Target-Spezifikation für den aktuellen Build. Einige Werte können weggelassen werden.

Format: platform:compiler:sdk_version:deployment_version

<local machine platform>:gcc:3.0:3.0
THEOS_DEVICE_IP Die IP-Adresse des Zielgerätes, um den Build über ssh zu installieren. (Kann auch ein Hostname aus ~/.ssh/config sein)
THEOS_DEVICE_PORT Der ssh-Port des Zielgerätes. 22
THEOS_BUILD_DIR Wohin die Builds (.deb-Dateien) nach dem kompilieren hin kommen. .
DEBUG Auf 1 setzen, um den Debug-Modus zu aktivieren. undefiniert

Theos-Ordner

Unvollständig. Du kannst helfen, sie zu vervollständigen. Hier?

Pfad Beschreibung Sonstiges
layout Der Pfad / auf dem Zielgerät. Nützlich für statische Ressourcen, die nicht im Installationsverzeichnis des Projektes landen sollten