Gyakori kérdések: app lefordítása készülékre ingyenes fejlesztői fiókkal

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.

Xcode
  • Xcode
  • Méret: 5205.41 MB | Verzió: 9.0.1
  • Ár: Ingyenes | Értékelés:

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.

Ezek még érdekelhetnek:


Címkék:

  1. @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.

  2. 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 !

  3. 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.

  4. 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. 🙂

  5. 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?

  6. @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.

Írd le a véleményedet! (Moderációs elveinket ide kattintva olvashatod.)

Hozzászólás írásához be kell jelentkezned!