fbpx Skip to content

Az Apple az iOS 9 megjelenésekor változtatott a fejlesztői programokon, így lehetővé vált, hogy pusztán az Apple ID-nkkal belépve lefordíthassunk egy appot a saját készülékünkre. Korábban ez csak a 99 dolláros éves díj megfizetése mellett volt hivatalosan lehetséges.

xcode-whats-new-2015_2x

Nyilván jailbreak után más a helyzet, de most mégis inkább nézzük meg azt, hogy hogyan is fordíthatunk le közvetlenül a készülékünkre egy adott appot annak forrásából, legyen az saját magunk által fejlesztett, vagy adott esetben más által megírt forráskódú. Utóbbira jó példa az f.lux app iOS-es forráskódja, ami app a működéséből adódóan egyelőre nem jelenhet meg az App Store-ban, a közzétett forrást pedig az Apple időközben leszedette a fejlesztővel.

Az alábbiakra lesz szükség:

  • macOS. Az Xcode jelenleg csak macOS-en hajlandó futni, így ehhez egy működő macOS rendszer kell. Ezt legegyszerűbben értelemszerűen egy Mac használatával oldhatjuk meg, de ha ez bármi okból nem lehetséges, akkor egy hackintosh, vagy egy virtuális gépként futó macOS is megfelelő lehet.
  • Xcode. Az Xcode legújabb, hivatalos verziója ingyenesen letölthető a Mac App Store-ból.
  • Apple ID. Az App Store és az iCloud miatt már rendelkeznünk kell ilyennel.
  • Egy almás készülék. Ez nyilván a kezünk ügyében van, és az iOS mellett azon természetesen futhat tvOS vagy watchOS (vagy nyilván macOS) is.

Apple ID egyenlő ingyenes fejlesztői fiók

Noha a saját eszközre már fordíthatunk appot pusztán az Apple ID-nk használatával, az ilyen, ingyenes fejlesztői fiókkal ugyanakkor nem kapunk hozzáférést az iOS, a tvOS, a macOS fejlesztői beta verzióihoz, és az általunk fejlesztett appot sem tudjuk beküldeni az App Store-os megjelenéshez jóváhagyásra. Az egyes fejlesztői programok által elérhető lehetőségekről ide kattintva tájékozódhatunk részletesen.

Ha esetleg még nem lenne Apple ID-nk, akkor azt akár bankkártya megadása nélkül is létrehozhatjuk, ha magát a regisztrációt egy ingyenes app letöltési kísérletével indítjuk. Erről bővebben: Gyakori kérdések: iTunes Store account-ok (Apple ID)

Az Xcode letöltése

Az Xcode letöltéséhez menjünk a Mac App Store-ba, vagy a legfrissebb beta verzióért a fejlesztői központban az SDKs / Xcode / Download oldalra.

[appstore id=”497799835″]

Amennyiben a készülékünkön nem beta iOS-t használunk, tökéletesen megfelelő a Mac App Store-ban elérhető verziójú Xcode. Az Xcode letöltési mérete nagyjából 4GB, tehát adott esetben ne csak szabad hellyel számoljunk, hanem a letöltési idővel is.

A kiválasztott app lefordítása a készülékünkre

Hozzunk létre egy új projektet, és készítsük el magunk az appunk forráskódját, vagy nyissuk meg egy letöltött forráskód .xcodeproj fájlját.

Az f.lux apphoz például keressünk rá az interneten az f.lux-xcode-master.zip szövegre, biztosan lesz találat, az SHA-1 pedig: f1ee4e38eddc467e7fbfe5708841bbc84f520d7e.

Nyissuk meg az Xcode beállításait (Preferences), majd az Accounts fülön nyomjunk a bal alsó sarokban a + jelre, és lépjünk be az Apple ID-nkkal – ezt értelemszerűen csak a legelső alkalommal kell megtenni, vagy később, ha más Apple ID-t is hozzá szeretnénk adni:

Xcode-uj-fiok

Miután beléptünk, az alábbit kell látnunk:

Xcode-accounts

Ezután válasszuk ki a megfelelő opciót a Targets alatt. Az f.lux esetén ez például az iflux lesz:

Xcode-target

A következő lépésként a General fülön egyedi azonosítót (Bundle Identifier) kell adnunk a csomagnak (figyelem: ez nem az app neve!), és ki kell választanunk a code signing identity-t, ami pedig rögtön ott lesz a listában, ha korábbi lépésben már beléptünk az Apple ID-nkkal. A Bundle Identifier gyakorlatilag bármi lehet – ha már ki van töltve ez a mező, mert letöltött forráskódot használunk, akkor a legegyszerűbb, ha a szöveg végére odabiggyesztünk egy pontot, és mögé írjuk a nevünket:

Xcode-bundle-es-code-signing

Amennyiben a “No matching provisioning profiles found” üzenetet látjuk mindezek alatt, akkor kattintsunk a Fix Issue gombra.

Ha eddig még nem tettük meg, most kössük össze a készülékünket a számítógéppel, és az Xcode Product menüjében válasszuk a Destination opciót, és azon belül a csatlakoztatott eszközt.

Nyomjuk le a cmd+R billentyűkombinációt, amivel az app lefordításra kerül (hacsak nem vétettünk valami hibát), és felkerül a készülékünkre, de még nem fog tudni azon elindulni. Ehhez előbb meg kell nyissuk a készülékünkön a Beállításokat, és el kell fogadnunk a saját fejlesztői provisioning profilunkat, amire persze külön fel is hívja az iOS a figyelmünket, ha enélkül próbálnánk meg elindítani az appot.

Az elfogadáshoz menjünk a Beállítások / Általános / Profilok menüpontba, válasszuk ki a fejlesztői profilunkat, majd jelöljük azt megbízhatóként, és a felugró kérdésnél erősítsük ezt meg:

iOS-profil-elfogadas-01 iOS-profil-elfogadas-02

Ha ezt megtettük, már el is fog indulni az app, és használhatjuk azt a készülékünkön.

Ezzel a módszerrel bármely olyan appot feltehetünk, aminek rendelkezünk a forráskódjával, és ami app adott esetben nem elérhető az App Store-ban, mert például az f.lux-hoz hasonlóan privát API-t használ, ami viszont ellentétes az Apple jóváhagyási elveivel.

Ügyeljünk azonban arra, hogy ha valahonnan letöltött forráskódot használunk, akkor az adott esetben kockázatot hordozhat magában. A módszer tört appok telepítésére nem alkalmas.

Legutóbbi frissítés: 2017.05.02.

Olvasd el a hozzászólásokat is

19 Comments

  1. Hmm, akkor esetlegesen lehet megoldható lenne pl. a popcorntime, vagy itransmission telepítése is?

  2. @vtechun: a popcorntime legjobb tudomásom szerint szerver oldalról megszűnt. ettől függetlenül bármely olyan app lefordítható, amihez megvan a forráskód.

  3. Ez most akkor egy cydia app telepítési módszer nem jailbreak-elt eszközökre? 😮

  4. @GorTen: nem. a Cydia olyan komponenseket is igényelne, mint mondjuk az APT, ami viszont nem része az iOS-nek, így noha magát a Cydia appot tudnád telepíteni, ha megvan a forráskódja, de több okból sem működne.

  5. Ez nekem egy kicsit magas……ha jól értelmezem ,akkor pl. ha nekem szükségem lenne az IGO Europa-ra de nem szeretnék érte annyit kiadni ,akkor ha netán megtudnám csinálni a fent írtakat akkor lenne egy ingyenes IGO Europa -m ?
    Nincs valahol erről egy Youtube -os ismertető…..vizuális típus vagyok !

  6. @cabrio01: Persze, ha az iGO odaadja a forrást, amit te magadnak lefordítasz akkor igen. Nyilván ezt sosem fogod megtalálni sehol.

  7. Nem jól értelmezed. Amit Te kérdezel az a lopás.
    Amúgy jobban jársz ha iGO helyett Waze-t használsz. Úgy legalább nem 2 éves térképeid vannak.

  8. @taky1974: LIKE

  9. @cabrio01: elolvastad a cikket?

    A módszer tört appok telepítésére nem alkalmas.

  10. @Jadeye: jó lenne egy olyan kodi verzió, amit így fel lehetne rakni… De a transmission sem lenne rossz

  11. @vtechun: írj a fejlesztőknek, hátha.

  12. Ha regisztrálok egy developer accountot, akkor nekem automatikusan létrejön egy olyan fiók, amivel nem vonnak le a kártyámról 99 usd-t és tudom csak az apple id használatával futtatni telefonjaimon általam lefordított appokat? Mert most éppen regisztrálok egy developer accountot, be is írtam a lakcímemet, be is jelöltem, hogy nem cég, hanem magánszemély vagyok, de nem merek a folytatásra kattintani, mert nem tudom, hogy fizetős vagy full-ingyenes accountot csinál-e nekem az apple és most nem hiányzik, hogy levonjon a csatolt bankártyámról pénzt. 🙂

  13. @MysteryKe: ki fogja írni, ha fizetni kellene, mert ki fogod választani, hogy a fizetős fiókot akarod-e. ha csak a cikkben leírt módon belépsz az Xcode-ban az Apple ID-ddal, akkor nem fog levonni semmit.

  14. Pedig ott volt a lap alján a “Purchase” gomb, csak azt már nem fényképeztem le. Meg ki is írta a konkrét összeget, amit levonna. Aztán Cancel-el megszakítottam a folyamatot és nem kattintottam a Purchase-re.
    http://kepfeltoltes.hu/view/151115/developer2_www.kepfeltoltes.hu_.png
    Elég konkrétan kéri, hogy vásároljak 🙂

    Az Xcode-ban pedig azt kéri, hogy regisztráljam a készüléket, a fiókomban, pedig a cikkben leírtak szerint bejelentkeztem az Apple ID-mal. Hiába kattintok a Fix Issue gombra.
    http://kepfeltoltes.hu/view/151115/developer2_www.kepfeltoltes.hu_.png
    Regisztrálni meg ugye működő account-tal lehet, nem?

  15. Ja, meg a telefon Általános beállításaiban sincs Profil.

  16. @MysteryKe: valamit nem jól csináltál, és emiatt erre a fiókra fizetős aktiválást akar, így valószínűleg ezért nem engedi a fix issue-t. a legkézenfekvőbb felvenni a kapcsolatot az Apple Supporttal, és töröltetni a fiókról a függőben lévő fizetős profil – vagy belépni az Xcode-ban egy másik Apple ID-val.

    profil csak akkor lesz a készüléken, ha sikeres volt az app lefordítása rá. nyilván lefordítás nélkül nem.

  17. Közben helyrejött, párszor újraindítottam az Xcode-ot, megcsinálta a Fix Issue-t, és telefonon is megjelent a Profilok 🙂


Add a Comment