Kuinka kääntää Theos-tweak

Hienosäätöjen kääntäminen Theos-kirjastojen avulla voi olla haaste aloittelijoille, ja se voi usein johtaa lukuisiin virheisiin ja lopulta käännösongelmiin. Ratkaisujen etsiminen verkosta tällaisissa tilanteissa ei välttämättä tuota tyydyttäviä tuloksia. Tämä tutoriaali opastaa sinua hienosäätöjen kääntämisessä sekä root-käyttöoikeudella että rootful-ympäristöissä, jolloin luodaan asennusvalmiita DEB-paketteja.
Merkittävä osa jailbreak-yhteisöstä on riippuvainen avoimen lähdekoodin jailbreak-muutoksista. Nämä muutokset eivät ole vain inspiroivia esittelyjä iOS-järjestelmän muutoksista, vaan myös laajoja tietokantoja tuleville muutosten kehittäjille. Monet näistä muutoksista on käännettävä Theosilla, joka on iOS-muutosten luomiseen tarkoitettu alustojen välinen käännösjärjestelmä.
Theos-kirjastot on helppo asentaa useille alustoille, kuten iOS-laitteille, macOS:lle, Linuxille ja Windows-tietokoneille. Tämä joustavuus antaa kehittäjille mahdollisuuden kääntää jailbreak-tweaksit vaivattomasti useille eri käyttöjärjestelmille. Tässä oppaassa tarjoamme vaiheittaiset ohjeet tweakin kääntämiseen Theosilla ja DEB-pakettien jakeluun asennettavaksi.

Tässä Theosilla tweakin kääntämistä käsittelevässä tutoriaalissa käytämme Sushi-tweakin lähdekoodia. Sushi on suunniteltu parantamaan medianhallintakokemustasi jailbroken-laitteilla. Se esittelee Dynamic Islandista inspiraationsa saaneen mukautettavan bannerin, joka siirtyy sujuvasti medianhallintanäkymään animaatioiden avulla aina, kun parhaillaan toistettava kappale vaihtuu.
Sushi tweakin voi kääntää Theosilla sekä rootless- että rootful-jailbreak-komennoille iOS 13:sta iOS 16:een asti. Myös Dopamine 2 ja Palera1n ovat tuettuja.
Kuinka kääntää tweak Theosilla iOS:lle
Tweakin kääntämiseksi Theosilla on suositeltavaa käyttää kirjaston uusinta versiota, joka on yhteensopiva Sonoma 14.3.1:n kanssa. Jos haluat varmistaa yhteensopivuuden iOS-versioita 14.0 vanhempien versioiden kanssa, on tarpeen päivittää versio Xcode 11.7:ään. Tässä tehtävässä käytämme kuitenkin Xcode 14.3.1:tä. On syytä huomata, että Xcode 15 rajoittaa useimpien jailbreak-tweakien kääntämistä.
Siksi tämä uudempi työkaluketju ei tue vanhan ABI:n rakentamista. Jos haluat säilyttää tuen aiemmille versioille, voit hakea työkaluketjun aiemmasta Xcode-julkaisusta ja vaihtaa sen ja uudemman työkaluketjun välillä haluamallasi tavalla asettamalla Xcoden komentorivityökalujen version.
Voit kääntää jailbreak-tweakin Theosin kanssa seuraavasti:
Vaihe 1. Asenna theos PC:llesi, Macillesi tai iOS-laitteellesi oppaamme mukaisesti.
Vaihe 2. Asenna iPhoneOS16.4.sdk lataamalla Xcode 14.3.1 tai Xcode 11.7 suoraan Applen palvelimilta. Sinun on todennettava itsesi Apple ID:llä ladataksesi.
Vaihe 3. Avaa päätesovellus ja pura Xcode_14.3.1.xip seuraavalla komennolla. Purkamisen jälkeen nimeä sovellus uudelleen niin, ettei se ole ristiriidassa Xcoden ensisijaisen asennuksen kanssa.
xip -x Xcode_14.3.1.xip
Vaihe 4. Siirrä Xcode_14.3.1.app Ohjelmat-kansioon.

Vaihe 5. Vaihda valitsemasi Xcode-komentorivityökalujen versio. Seuraava komento muuttaa komentorivityökalujesi version tilapäisesti vain tämän pääteistunnon ajaksi.
export DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer
tai pysyvä
sudo xcode-select -switch /Applications/Xcode_14.3.1.app/Contents/Developer
Jos sinun on käytettävä uusinta Xcode-työkaluketjua komentoriviltä, käytä --reset-valitsinta:
sudo xcode-select --reset
Vaihe 6. Kloonaa Sushi tweak -arkisto GitHubista tietokoneellesi.
git clone https://github.com/Skittyblock/Sushi

Vaihe 7. Sushi-muokkaus käyttää joitakin lisäluokkia mieltymyspaketteja varten. Kloonaa SkittyPrefs GitHubista "Sushi"-kansion sisällä olevaan "prefs"-kansioon.
cd Sushi && cd prefs && git clone https://github.com/Skittyblock/SkittyPrefs
Vaihe 8. Palaa päätesovelluksen pääkansioon "Sushi".
cd ..
Vaihe 9. Luo SPM-määritys suorittamalla tämä komento.
make spm
Vaihe 10. Poista objekti- ja suoritettavat tiedostot. Huomaa, että sinun on suoritettava komento "make clean", kun vaihdat root- ja rootless-versioiden välillä.
make clean
Vaihe 11. Käännä Sushi Tweak ja luo rootless DEB-paketti Dopamine- tai Palera1n- jailbreakeille. Rootful-versiota varten poista tämä asetus "THEOS_PACKAGE_SCHEME=rootless".
make do THEOS_PACKAGE_SCHEME=rootless

Vaihe 12. Kun käännösprosessi on valmis, löydät Theosilla luodun tweakin DEB-paketit (arm, arm64) "Sushi"-kansion "packages"-kansiosta.

Yleisiä Theos-kääntämisvirheitä
Theosilla käännettäessä tweaksien ensisijainen haaste johtuu usein yhteensopimattoman Xcode-version käytöstä. Esimerkiksi Xcode 15:ssä on yleensä mukana uusin iPhone OS SDK -versio, kuten iPhoneOS17.2.sdk. Tweaksien on kuitenkin yleensä oltava yhteensopivia paitsi iOS 16:n myös aiempien versioiden, kuten iOS 13:n, iOS 14:n ja iOS 15:n, kanssa. Tällaisissa tapauksissa vanhemman Xcode 11.7 -version asentaminen on välttämätöntä.

Seuraavia virheitä voi ilmetä, jos Xcode-versio on väärä:
- ld: varoitus: -multiply_defined on vanhentunut
- ld: varoitus: kaksoiskappalekirjastojen ohittaminen: '-lc++'
- ld: frameworkia 'MediaRemote' ei löytynyt
- clang: virhe: linkityskomento epäonnistui poistumiskoodilla 1 (käytä -v nähdäksesi kutsun)
- make[4]: *** [/Käyttäjät/.../theos/makefiles/instance/library.mk:52: /Käyttäjät/.../.../.theos/obj/debug/arm64e/....dylib] Virhe 1
- virhe: 'groupTableViewBackgroundColor' on vanhentunut: vanhentunut ensimmäisen kerran iOS 13.0:ssa [-Werror,-Wdeprecated-declarations] return [UIColor groupTableViewBackgroundColor];
- .../SDKs/iPhone017.2.sdk/ System/Library/Frameworks/ UIKit.framework/Headers/UIInterface.h:247:48: n