Kuinka kääntää libSandy

libSandy on kehittäjäkirjasto, joka on suunniteltu parantamaan sovellusten, järjestelmäprosessien ja mukautettujen muutosten hiekkalaatikko-ominaisuuksia jailbroken iOS-laitteilla turvallisesti. Hiekkalaatikko-APIen (katso sandbox.h) avulla mikä tahansa prosessi voi luoda laajennustunnuksia, joista jokainen yksilöi myöntämänsä oikeudet. Näitä merkkijonoina esitettyjä tunnuksia voidaan sitten käyttää saumattomasti muiden prosessien toimesta vastaavien laajennusten soveltamiseen omiin toimintoihinsa.
Tämä kirjasto toimii kulmakivenä useille erinomaisille avoimen lähdekoodin Theos-muutoksille, kuten Floralle , SafariPlusille, Shadowille, Kayokolle , LetMeBlockille ja AlbumManagerille. Nämä jailbreak-muutokset edellyttävät libSandyn sisällyttämistä käännöksen aikana, ja tietyt tiedostot on siirrettävä Theos-kansioon, jos haluat rakentaa ne lähdekoodista.
Vaikka libSandyn kääntäminen on suhteellisen suoraviivainen prosessi, iOS Theos Tweak -kääntämisen uudet käyttäjät saattavat kohdata virheitä 'make'-komentoa suorittaessaan. Pelkkä ratkaisujen etsiminen verkosta ei välttämättä tuota haluttuja tuloksia. Tämä artikkeli on kuitenkin suunniteltu opastamaan sinua jokaisessa vaiheessa ja tarjoamaan kattavan oppaan libSandyn kääntämisestä, joka on räätälöity erityisesti nykyaikaisille rootless-jailbreakeille, kuten Dopamine ja Palera1n.

Kuinka rakentaa libSandy Theosille
libSandyn kääntämiseksi onnistuneesti sinun on käytettävä Xcode 14.2:n tarjoamaa iOS 16.2 SDK:ta. libSandyn kääntäminen uudemmalla Xcode-versiolla epäonnistuu.
Kääntääksesi libSandy- tiedoston Theosille, noudata seuraavia ohjeita:
Vaihe 1. Asenna theos PC:llesi, Macillesi tai iOS-laitteellesi oppaamme mukaisesti.
Vaihe 2. Asenna iPhoneOS16.2.sdk lataamalla Xcode 14.2 suoraan Applen palvelimilta. Sinun on todennettava itsesi Apple ID:llä ladataksesi.
Vaihe 3. Avaa päätesovellus ja pura Xcode_14.2.xip seuraavalla komennolla. Purkamisen jälkeen nimeä sovellus uudelleen niin, ettei se ole ristiriidassa Xcoden ensisijaisen asennuksen kanssa.
xip -x Xcode_14.2.xip
Vaihe 4. Siirrä Xcode_14.2.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.2.app/Contents/Developer
tai pysyvä
sudo xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer
Jos sinun on käytettävä uusinta Xcode-työkaluketjua komentoriviltä, käytä --reset-valitsinta:
sudo xcode-select --reset
Vaihe 6. Lataa mac-headers ja kopioi xpc-kansio theos/include-kansioon.
git clone https://github.com/realthunder/mac-headers/ cd mac-headers cp -r "/usr/include/xpc" "$THEOS/include"
Vaihe 7. Kloonaa libSandy-arkisto GitHubista tietokoneellesi.
git clone https://github.com/opa334/libSandy
Vaihe 8. Avaa libSandy-kansio.
cd libSandy
Vaihe 9. Käännä libSandy komennolla 'make' ja asenna se Theosiin.
chmod +x ./install_to_theos.sh && chmod +x ./install_to_theos.sh
tai manuaalisesti...
make clean make FINALPACKAGE=1
Vaihe 10. Kopioi luotu libsandy.dylib theos lib -kansioon.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib"
Vaihe 11. Käännä libSandy rootless-säätöjä varten.
make clean make FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
Vaihe 12. Kopioi luotu libsandy.dylib rootless theos-kansioon.
cp -Rv "./.theos/obj/libsandy.dylib" "$THEOS/lib/iphone/rootless"
Vaihe 13. Kopioi libSandy.h theos-kansion sisällä olevaan include-kansioon.
cp -v "./libSandy.h" "$THEOS/include"
Yleisiä libSandy-kääntämisvirheitä
Yksi suurimmista libSandyn kääntämisen haasteista Theosille on yhteensopimattoman Xcode-version käyttö. Esimerkiksi Xcode 15 sisältää tyypillisesti iPhone iOS SDK:n uusimman version, kuten iPhoneOS17.2.sdk. LibSandy vaatii kuitenkin kääntämisen iPhoneOS16.2.sdk-tiedostolla. Jos käytetään väärää iOS SDK -versiota, virheitä voi esiintyä.

- libSandy.m:3:9: kohtalokas virhe: tiedostoa 'xpc/xpc.h' ei löytynyt.
- /libSandy/.theos/obj/armv7/libSandy.m.50b5a432.o] Virhe 1.
- Kehitetään iOS 8.0:aa varten, mutta nykyinen työkaluketju ei pysty tuottamaan arm64e-binäärejä iOS:lle, joka on vanhempi kuin 14.0.
- Virhe: Valitsemaasi SDK:ta ”iPhoneOS16.2.sdk” ei näytä olevan olemassa.