ONE Jailbreak Ad

Hur man kompilerar Theos Tweak

Promotion image of Hur man kompilerar Theos Tweak article.

Att kompilera tweaks med Theos-bibliotek kan vara en utmaning för nybörjare, vilket ofta leder till många fel och eventuella kompileringsmisslyckanden. Att söka efter lösningar online i sådana scenarier kanske inte ger tillfredsställande resultat. Den här handledningen syftar till att vägleda dig genom kompileringsprocessen för tweaks för både rootless och rootful-miljöer, vilket resulterar i skapandet av installationsklara DEB-paket.

En betydande del av jailbreak-communityn är beroende av jailbreak-tweaks med öppen källkod. Dessa tweaks fungerar inte bara som inspirerande demonstrationer av iOS-systemmodifieringar utan också som omfattande kunskapsbaser för blivande tweak-utvecklare. Många av dessa tweaks måste kompileras med Theos, ett plattformsoberoende byggsystem för att skapa iOS-tweaks.

Theos-biblioteken är enkelt installerade på flera plattformar, som iOS-enheter, macOS, Linux och Windows-datorer. Denna flexibilitet gör det möjligt för utvecklare att kompilera jailbreak-tweaks utan ansträngning över en mängd olika operativsystem. I den här guiden ger vi en steg-för-steg-genomgång för att kompilera en tweak med Theos och distribuera DEB-paket för installation.

Kompilera tweak med theos i terminalappen på macOS.

I den här handledningen om hur du kompilerar en tweak med Theos kommer vi att använda källkoden för Sushi-tweaket . Sushi är utformat för att förbättra din mediekontrollupplevelse på jailbreakade enheter. Den introducerar en anpassningsbar banner, inspirerad av Dynamic Island, som smidigt övergår till en mediekontrollvy genom animationer när den låt som spelas just nu ändras.

Sushi tweak kan kompileras med Theos för både rootless och rootful jailbreaks från iOS 13 upp till iOS 16. Dopamine 2 och Palera1n stöds också.

Hur man kompilerar en tweak med theos för iOS

För att kompilera en tweak med Theos rekommenderas det att använda den senaste versionen av biblioteket som är kompatibel med Sonoma 14.3.1. Om du vill säkerställa kompatibilitet med iOS-versioner före 14.0 är en nedgradering till Xcode 11.7 nödvändig. Icke desto mindre kommer vi för vår nuvarande uppgift att använda Xcode 14.3.1. Det är värt att notera att Xcode 15 begränsar kompileringen av de flesta jailbreak-tweaks.

Därför stöder inte denna nyare verktygskedja byggnation för det gamla ABI. Om du vill behålla stödet för tidigare versioner kan du hämta verktygskedjan från en tidigare Xcode-utgåva och växla mellan den och den nyare verktygskedjan efter önskemål genom att ställa in Xcode-kommandoradsverktygsversionen.

För att kompilera en jailbreak-tweak med theos, följ stegen:

Steg 1. Installera theos på din PC, Mac eller iOS-enhet enligt vår guide.

Steg 2. Installera iPhoneOS16.4.sdk genom att ladda ner Xcode 14.3.1 eller Xcode 11.7 direkt från Apples servrar. Du måste autentisera med ditt Apple-ID för att ladda ner.

Steg 3. Öppna terminalappen och extrahera Xcode_14.3.1.xip med följande kommando. Efter extraheringen, byt namn på appen så att den inte kommer i konflikt med din primära installation av Xcode.

 xip -x Xcode_14.3.1.xip

Steg 4. Flytta Xcode_14.3.1.app till mappen Program.

Skärmdump av Finder-appen som visar mappen Program.

Steg 5. Ändra din valda version av kommandoradsverktygen i Xcode. Följande kommando ändrar tillfälligt versionen av dina kommandoradsverktyg för endast den här terminalsessionen.

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

eller permanent

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

Om du behöver använda den senaste Xcode-verktygskedjan från kommandoraden, använd --reset:

 sudo xcode-select --reset

Steg 6. Klona Sushi tweak-arkivet från GitHub till din dator.

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

Skärmdump av terminalapp som kör git clone-kommandot.

Steg 7. Sushi-tweak använder några ytterligare klasser för användning i preference-paket. Klona SkittyPrefs från GitHub till mappen "prefs" inuti mappen "Sushi".

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

Steg 8. Gå tillbaka till huvudmappen "Sushi" i terminalappen.

 cd ..

Steg 9. Skapa SPM-konfigurationen genom att köra detta kommando.

 make spm

Steg 10. Ta bort objekt- och körbara filer. Tänk på att du måste köra kommandot "make clean" när du växlar mellan rootful och rootless builds.

 make clean

Steg 11. Kompilera Sushi tweak och generera ett rootless DEB-paket för Dopamine- eller Palera1n -jailbreaks. För rootful build, ta bort alternativet "THEOS_PACKAGE_SCHEME=rootless".

 make do THEOS_PACKAGE_SCHEME=rootless

Skärmdump av terminalappen som visar make do-kompilering av en tweak.

Steg 12. När kompileringsprocessen är klar hittar du DEB-paketen (arm, arm64) för tweak-funktionen som skapades med Theos i mappen "packages" som finns i mappen "Sushi".

Skärmdump av Finder-appen med den öppnade paketmappen.

Vanliga Theos-kompileringsfel

Den största utmaningen man stöter på när man kompilerar tweaks med Theos beror ofta på att man använder en inkompatibel version av Xcode. Till exempel kommer Xcode 15 vanligtvis med den senaste versionen av iPhone OS SDK, till exempel iPhoneOS17.2.sdk. Tweaks behöver dock vanligtvis vara kompatibla inte bara med iOS 16 utan även med tidigare versioner som iOS 13, iOS 14 och iOS 15. I sådana fall blir installation av äldre versioner av Xcode 11.7 en nödvändighet.

Skärmdump av Theos-kompileringsfel.

Följande fel kan uppstå när fel Xcode-version körs:

  • ld: varning: -multiply_defined är föråldrad
  • ld: varning: ignorerar dubblettbibliotek: '-lc++'
  • ld: ramverket 'MediaRemote' hittades inte
  • clang: error: länkarkommandot misslyckades med avslutningskod 1 (använd -v för att se anrop)
  • make[4]: *** [/Användare/.../theos/makefiles/instance/library.mk:52: /Användare/.../.../.theos/obj/debug/arm64e/....dylib] Fel 1
  • fel: 'groupTableViewBackgroundColor' är föråldrad: först föråldrad i iOS 13.0 [-Werror,-Wdeprecated-declarations] returnera [UIColor groupTableViewBackgroundColor];
  • .../SDK:er/iPhone017.2.sdk/System/Bibliotek/Ramverk/UIKit.framework/Headers/UIInterface.h:247:48: n
Author Photo
Skrivet av

Kuba har över 20 års erfarenhet inom journalistik, med fokus på jailbreak sedan 2012. Han har intervjuat yrkesverksamma från olika företag. Förutom journalistik specialiserar sig Kuba på videoredigering och drönarflygning. Han studerade IT på universitetet innan sin författarkarriär.

Skriv en kommentar

Senaste inläggen