ONE Jailbreak Ad

Hoe je de theos tweak compileert

Promotion image of Hoe je de theos tweak compileert article.

Het compileren van tweaks met behulp van Theos-bibliotheken kan een uitdaging zijn voor nieuwkomers, wat vaak leidt tot talloze fouten en uiteindelijk mislukte compilaties. Online zoeken naar oplossingen voor dergelijke scenario's levert mogelijk niet de gewenste resultaten op. Deze tutorial begeleidt je door het compilatieproces van tweaks voor zowel rootless als rootful omgevingen, wat resulteert in de creatie van kant-en-klare DEB-pakketten.

Een aanzienlijk deel van de jailbreakcommunity is afhankelijk van open-source jailbreak-tweaks. Deze tweaks dienen niet alleen als inspirerende demonstraties van iOS-systeemaanpassingen, maar ook als uitgebreide kennisbanken voor beginnende tweakontwikkelaars. Veel van deze tweaks moeten worden gecompileerd met Theos, een cross-platform buildsysteem voor het maken van iOS-tweaks.

De Theos-bibliotheken zijn eenvoudig te installeren op meerdere platforms, zoals iOS-apparaten, macOS, Linux en Windows-pc's. Deze flexibiliteit stelt ontwikkelaars in staat om moeiteloos jailbreak-tweaks te compileren voor verschillende besturingssystemen. In deze handleiding bieden we een stapsgewijze handleiding voor het compileren van een tweak met Theos en het distribueren van DEB-pakketten voor installatie.

Compileer de tweak met theos in de terminal-app op macOS.

In deze tutorial over het compileren van een tweak met Theos gebruiken we de broncode van de Sushi-tweak . Sushi is ontworpen om je mediabediening op jailbreak-apparaten te verbeteren. Het introduceert een aanpasbare banner, geïnspireerd door Dynamic Island, die via animaties vloeiend overgaat in een mediabedieningsweergave wanneer het nummer dat momenteel wordt afgespeeld, verandert.

Sushi tweak kan worden gecompileerd met Theos voor zowel rootless als rootful jailbreaks die draaien op iOS 13 tot en met iOS 16. Dopamine 2 en Palera1n worden ook ondersteund.

Hoe compileer je een tweak met theos voor iOS

Om een tweak met Theos te compileren, is het raadzaam om de nieuwste versie van de bibliotheek te gebruiken die compatibel is met Sonoma 14.3.1. Wil je compatibiliteit met iOS-versies ouder dan 14.0, dan is een downgrade naar Xcode 11.7 noodzakelijk. Voor onze huidige taak gebruiken we echter Xcode 14.3.1. Het is belangrijk om te weten dat Xcode 15 de compilatie van de meeste jailbreak-tweaks beperkt.

Daarom ondersteunt deze nieuwere toolchain het bouwen voor de oude ABI niet. Als u ondersteuning voor eerdere versies wilt behouden, kunt u de toolchain uit een eerdere Xcode-release halen en naar wens tussen deze en de nieuwere toolchain schakelen door de versie van de Xcode-opdrachtregeltools in te stellen.

Om een jailbreak-tweak met theos te compileren, volgt u de volgende stappen:

Stap 1. Installeer theos op uw pc, Mac of iOS-apparaat volgens onze handleiding.

Stap 2. Installeer iPhoneOS16.4.sdk door Xcode 14.3.1 of Xcode 11.7 rechtstreeks van de Apple-servers te downloaden. Je moet je aanmelden met je Apple ID om te kunnen downloaden.

Stap 3. Open de terminal-app en pak Xcode_14.3.1.xip uit met de volgende opdracht. Hernoem de app na het uitpakken zodat er geen conflict ontstaat met je primaire Xcode-installatie.

 xip -x Xcode_14.3.1.xip

Stap 4. Verplaats Xcode_14.3.1.app naar de map Programma's.

Schermafbeelding van de Finder-app met de map Programma's.

Stap 5. Wijzig de versie van uw geselecteerde Xcode-opdrachtregelhulpprogramma's. De volgende opdracht wijzigt tijdelijk de versie van uw opdrachtregelhulpprogramma's, alleen voor deze terminalsessie.

 export DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer

of permanent

 sudo xcode-select -switch /Applications/Xcode_14.3.1.app/Contents/Developer

Als u de nieuwste Xcode-toolchain vanaf de opdrachtregel wilt gebruiken, gebruikt u --reset:

 sudo xcode-select --reset

Stap 6. Kloon de Sushi tweak repository van GitHub naar je computer.

 git clone https://github.com/Skittyblock/Sushi

Schermafbeelding van terminal-app die de opdracht git clone uitvoert.

Stap 7. Sushi tweak gebruikt enkele extra klassen voor gebruik in voorkeursbundels. Kloon SkittyPrefs van GitHub naar de map "prefs" in de map "Sushi".

 cd Sushi && cd prefs && git clone https://github.com/Skittyblock/SkittyPrefs

Stap 8. Ga terug naar de hoofdmap "Sushi" in de terminal-app.

 cd ..

Stap 9. Maak een SPM-configuratie door deze opdracht uit te voeren.

 make spm

Stap 10. Verwijder objecten en uitvoerbare bestanden. Houd er rekening mee dat u de opdracht "make clean" moet uitvoeren wanneer u schakelt tussen rootful en rootless builds.

 make clean

Stap 11. Compileer Sushi tweak en genereer een rootless DEB-pakket voor Dopamine of Palera1n jailbreaks. Verwijder voor een rootful build de optie "THEOS_PACKAGE_SCHEME=rootless".

 make do THEOS_PACKAGE_SCHEME=rootless

Schermafbeelding van terminal-app die een make do-compilatie van een tweak laat zien.

Stap 12. Zodra het compilatieproces is voltooid, vindt u de DEB-pakketten (arm, arm64) van de tweak die met Theos is gemaakt in de map "packages" in de map "Sushi".

Schermafbeelding van de Finder-app met geopende pakketmap.

Veelvoorkomende theos-compilatiefouten

De grootste uitdaging bij het compileren van tweaks met Theos is vaak het gebruik van een incompatibele versie van Xcode. Xcode 15 wordt bijvoorbeeld meestal geleverd met de nieuwste versie van de iPhone OS SDK, zoals iPhoneOS17.2.sdk. Tweaks moeten echter vaak niet alleen compatibel zijn met iOS 16, maar ook met eerdere versies zoals iOS 13, iOS 14 en iOS 15. In dergelijke gevallen is de installatie van een oudere versie van Xcode 11.7 noodzakelijk.

Schermafbeelding van theos-compilatiefouten.

De volgende fouten kunnen verschijnen wanneer u de verkeerde Xcode-versie gebruikt:

  • ld: waarschuwing: -multiply_defined is verouderd
  • ld: waarschuwing: dubbele bibliotheken negeren: '-lc++'
  • ld: framework 'MediaRemote' niet gevonden
  • clang: fout: linkeropdracht mislukt met exitcode 1 (gebruik -v om de aanroep te zien)
  • make[4]: *** [/Users/.../theos/makefiles/instance/library.mk:52: /Users/.../.../.theos/obj/debug/arm64e/....dylib] Fout 1
  • fout: 'groupTableViewBackgroundColor' is verouderd: voor het eerst verouderd in ios 13.0 [-Werror,-Wdeprecated-declarations] return [UIColor groupTableViewBackgroundColor];
  • .../SDKs/iPhone017.2.sdk/ Systeem/Bibliotheek/Frameworks/ UIKit.framework/Headers/UIInterface.h:247:48: n
Author Photo
Geschreven door

Kuba heeft meer dan 20 jaar ervaring in de journalistiek en richt zich sinds 2012 op jailbreaken. Hij heeft professionals van diverse bedrijven geïnterviewd. Naast journalistiek specialiseert Kuba zich in videobewerking en dronevliegen. Voordat hij aan zijn schrijverscarrière begon, studeerde hij IT aan de universiteit.

Plaats een reactie

Laatste berichten