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[edit]
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[edit]
Hauptartikel: Theos/Setup.
Diese Stackoverflow-Antwort könnte nützlich sein.
Eine gute Dokumentation: this Theos documentation by theiostream.
Theos variablen[edit]
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?[permanent dead link]
Variablenname | Beschreibung | Standardwert | Sonstiges |
---|---|---|---|
THEOS
|
Der Ordner, in dem Theos installiert wird. Hängt von vielen Faktoren ab. |
|
|
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: |
||
TARGET
|
Die Target-Spezifikation für den aktuellen Build. Einige Werte können weggelassen werden.
Format: |
<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[edit]
Unvollständig. Du kannst helfen, sie zu vervollständigen. Hier?[permanent dead link]
Pfad | Beschreibung | Sonstiges |
---|---|---|
layout
|
Der Pfad / auf dem Zielgerät. Nützlich für statische Ressourcen, die nicht im Installationsverzeichnis des Projektes landen sollten |