ONE Jailbreak Ad

Come compilare theos tweak

Promotion image of Come compilare theos tweak article.

Compilare modifiche utilizzando le librerie Theos può rappresentare una sfida per i principianti, spesso causando numerosi errori e, in ultima analisi, fallimenti di compilazione. Cercare soluzioni online in tali scenari potrebbe non produrre risultati soddisfacenti. Questo tutorial si propone di guidarvi attraverso il processo di compilazione di modifiche sia per ambienti rootless che rootful, con conseguente creazione di pacchetti DEB pronti per l'installazione.

Una parte significativa della comunità del jailbreak dipende da tweak open source per il jailbreak. Questi tweak servono non solo come dimostrazioni stimolanti delle modifiche al sistema iOS, ma anche come ampie basi di conoscenza per aspiranti sviluppatori di tweak. Molti di questi tweak devono essere compilati utilizzando Theos, un sistema di compilazione multipiattaforma per la creazione di tweak per iOS.

Le librerie Theos sono facilmente installabili su diverse piattaforme, come dispositivi iOS, macOS, Linux e PC Windows. Questa flessibilità consente agli sviluppatori di compilare facilmente modifiche per il jailbreak su una varietà di sistemi operativi. In questa guida, forniremo una guida passo passo per compilare una modifica con Theos e distribuire i pacchetti DEB per l'installazione.

Compila tweak con theos nell'app terminale su macOS.

In questo tutorial sulla compilazione di un tweak con Theos, utilizzeremo il codice sorgente del tweak Sushi . Sushi è progettato per migliorare la tua esperienza di controllo multimediale sui dispositivi jailbroken. Introduce un banner personalizzabile, ispirato a Dynamic Island, che passa fluidamente alla visualizzazione del controllo multimediale tramite animazioni ogni volta che cambia il brano in riproduzione.

Sushi tweak può essere compilato con Theos per jailbreak sia rootless che rootful su sistemi operativi da iOS 13 a iOS 16. Sono supportati anche Dopamine 2 e Palera1n.

Come compilare un tweak con theos per iOS

Per compilare un tweak con Theos, si consiglia di utilizzare l'ultima versione della libreria compatibile con Sonoma 14.3.1. Per garantire la compatibilità con le versioni di iOS precedenti alla 14.0, è necessario eseguire il downgrade a Xcode 11.7. Tuttavia, per il nostro compito attuale, utilizzeremo Xcode 14.3.1. È importante notare che Xcode 15 limita la compilazione della maggior parte dei tweak per jailbreak.

Pertanto, questa toolchain più recente non supporta la compilazione per la vecchia ABI. Se si desidera mantenere il supporto per le versioni precedenti, è possibile utilizzare la toolchain da una versione precedente di Xcode e passare da questa alla toolchain più recente a seconda delle esigenze, impostando la versione degli strumenti da riga di comando di Xcode.

Per compilare un tweak per il jailbreak con theos, segui i passaggi:

Passaggio 1. Installa theos sul tuo PC, Mac o dispositivo iOS seguendo la nostra guida.

Passaggio 2. Installa iPhoneOS16.4.sdk scaricando Xcode 14.3.1 o Xcode 11.7 direttamente dai server Apple. Dovrai autenticarti con il tuo ID Apple per effettuare il download.

Passaggio 3. Apri l'app terminale ed estrai Xcode_14.3.1.xip con il seguente comando. Dopo l'estrazione, rinomina l'app per evitare conflitti con l'installazione principale di Xcode.

 xip -x Xcode_14.3.1.xip

Passaggio 4. Spostare Xcode_14.3.1.app nella cartella Applicazioni.

Screenshot dell'app Finder che mostra la cartella Applicazioni.

Passaggio 5. Modifica la versione degli strumenti da riga di comando di Xcode selezionata. Il seguente comando modificherà temporaneamente la versione degli strumenti da riga di comando solo per questa sessione del terminale.

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

o permanente

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

Se devi utilizzare la toolchain Xcode più recente dalla riga di comando, usa --reset:

 sudo xcode-select --reset

Passaggio 6. Clona il repository Sushi tweak da GitHub sul tuo computer.

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

Screenshot dell'app terminale che esegue il comando git clone.

Passaggio 7. La modifica di Sushi utilizza alcune classi aggiuntive da utilizzare nei bundle di preferenze. Clonare SkittyPrefs da GitHub nella cartella "prefs" all'interno della cartella "Sushi".

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

Passaggio 8. Tornare alla cartella principale "Sushi" nell'app terminale.

 cd ..

Passaggio 9. Creare la configurazione SPM eseguendo questo comando.

 make spm

Passaggio 10. Rimuovere oggetti e file eseguibili. Tenere presente che è necessario eseguire il comando "make clean" quando si passa da una build rootful a una rootless.

 make clean

Passaggio 11. Compilare Sushi Tweak e generare un pacchetto DEB rootless per jailbreak Dopamine o Palera1n . Per una build rootless, rimuovere l'opzione "THEOS_PACKAGE_SCHEME=rootless".

 make do THEOS_PACKAGE_SCHEME=rootless

Screenshot dell'app terminale che mostra la compilazione make do di una modifica.

Passaggio 12. Una volta completato il processo di compilazione, troverete i pacchetti DEB (arm, arm64) della modifica creata con Theos all'interno della cartella "packages" situata nella cartella "Sushi".

Screenshot dell'app Finder con la cartella dei pacchetti aperta.

Errori comuni nella compilazione di Theos

La sfida principale riscontrata durante la compilazione di modifiche con Theos deriva spesso dall'utilizzo di una versione incompatibile di Xcode. Ad esempio, Xcode 15 in genere include l'ultima versione dell'iPhone OS SDK, come iPhoneOS17.2.sdk. Tuttavia, le modifiche devono spesso essere compatibili non solo con iOS 16, ma anche con versioni precedenti come iOS 13, iOS 14 e iOS 15. In questi casi, l'installazione della versione precedente di Xcode 11.7 diventa necessaria.

Screenshot degli errori di compilazione di Theos.

Quando si esegue una versione errata di Xcode, potrebbero comparire i seguenti errori:

  • ld: avviso: -multiply_defined è obsoleto
  • ld: avviso: ignorate le librerie duplicate: '-lc++'
  • ld: framework 'MediaRemote' non trovato
  • clang: errore: comando linker fallito con codice di uscita 1 (usare -v per vedere l'invocazione)
  • make[4]: *** [/Users/.../theos/makefiles/instance/library.mk:52: /Users/.../.../.theos/obj/debug/arm64e/....dylib] Errore 1
  • errore: 'groupTableViewBackgroundColor' è obsoleto: obsoleto per la prima volta in iOS 13.0 [-Werror,-Wdeprecated-declarations] return [UIColor groupTableViewBackgroundColor];
  • .../SDKs/iPhone017.2.sdk/ Sistema/Libreria/Frameworks/ UIKit.framework/Headers/UIInterface.h:247:48: n
Author Photo
Scritto da

Kuba has over 20 years of experience in journalism, focusing on jailbreak since 2012. He has interviewed professionals from various companies. Besides journalism, Kuba specializes in video editing and drone flying. He studied IT at university before his writing career.

Pubblica un commento

Ultimi post