Saját szolgáltatólogók készítése és felrakása – jailbreak nélkül

Ez a cikk legalább 1 éve frissült utoljára. A benne szereplő információk a megjelenés idején pontosak voltak, de mára elavultak lehetnek.

Kérünk mindenkit, hogy mielőtt bármit is tenne a készülékével, figyelmesen olvassa el az alábbi cikkben foglaltakat, és mérlegelje az esetleges lehetséges kockázatokat, valamint készítsen biztonsági mentést a készülékén található adatokról. Az itt leírtak el nem olvasásából vagy meg nem értéséből fakadó problémákért nem tudunk felelősséget vállalni.

Korábban már írtunk egy cikket arról, hogy hogyan lehet magyar T-mobile és Vodafone esetén grafikus logóra cserélni a szöveges kijelzést, még akár jailbreak nélkül is. Ebben a cikkben most azt írnánk le, hogyan lehet egyéni logót készíteni, és azt a saját, Apple-partner szolgáltatónk esetén telepíteni.

Elsőként a logó elkészítéséről lesz szó, aztán a szükséges carrier fájlokról, majd végül az IPCC fájl összeállításáról, és készülékre való telepítéséről.

Logófájlok

Az első és legfontosabb a megfelelő logók elkészítése. Ezeknél nem csak a méret, de a formátum, és a fájlnév is számít. A logókat bármilyen képszerkesztő alkalmazásban elkészíthetjük, amely tud PNG formátumba exportálni.

Kezdjük elsőként a fájlok méretével. Itt a következő méretekre lesz szükségünk:

  • nem-retina kijelzős készülékek esetén: 60×20 pixel
  • retina kijelzős készülékek esetén: 120×40 pixel

Mindezt normál, 72 DPI-s felbontással. A szélességi értékektől esetenként el lehet térni, de csak néhány pixelnyi hozzátoldás az ajánlott, és csak ha feltétlenül muszáj (rövidebb persze lehet). A magassági értékektől viszont ne térjünk el. Nem-retina kijelzős készülékek az iPhone 2G, 3G, 3GS, az első és második generációs iPad valamint az iPad mini, retina kijelzősek pedig az iPhone 4, 4S és 5, valamint a harmadik és negyedik generációs iPad.

A fájlokból két különbözőre lesz szükség. Egyik a normál nézethez, ami a SpringBoardon (főképernyőn) vagy az alkalmazásokban, a másik pedig a Notification Centert (Értesítési központot) lehúzva jelenik meg. Itt a fájlnevek is különbözőek, T-mobile esetén például:

  • az alkalmazásokhoz:
    FSO_CARRIER_T-Mobile HU_1only_.png (nem retina, 60x20px)
    FSO_CARRIER_T-Mobile HU_1only_@2x.png (retina, 120x40px)
  • az értesítési központhoz:
    TS_CARRIER_T-Mobile HU_1only_.png (nem retina, 60x20px)
    TS_CARRIER_T-Mobile HU_1only_@2x.png (retina, 120x40px)

Nagyon fontos, hogy a fájlnév pontos legyen, máskülönben a készülék nem fogja azt megjeleníteni. Elegendő csak a készülékünknek megfelelő típusú logófájlt elkészíteni, tehát ha retina kijelzős készülékkel rendelkezünk, nincs szükség a nem-retina logókra, és fordítva.

Természetesen használhatunk egyforma logókat mind az alkalmazások, mind az értesítési központ esetén, viszont ettől függetlenül a fájlokból mindkettő típusra szükség van (FSO_ és TS_ is!), mert ha csak az egyik hiányzik, akkor az a logó nem fog megjelenni.

Carrier fájlok

A következő lépés a carrier fájlok megszerzése. Ezeket vagy a készülékről tudjuk lemásolni (jailbreak szükséges), vagy a kész IPCC fájlt kell letöltenünk az Apple oldaláról. Ez utóbbi esetben elképzelhető, hogy az IPCC fájl régebbi verziós, mint az iOS-ben található verzió, mert az Apple csak akkor frissíti a szerveren a fájlokat, ha két iOS-verzió kiadása között kellett valamit sürgősen cserélni, például a szolgáltatónál változott a mobilnetes elérés APN-je.

Ha jailbreakelt a készülékünk, akkor egyszerűen csak másoljuk fel az elkészült logófájlokat a “/System/Library/Carrier Bundles/iPhone” mappa alatt a szolgáltatónk nevét viselő bundle alá, felülírva az ott található két képfájlt (előtte javasolt lementeni az eredeti fájlokat!). Ugyanitt ellenőrizhetjük, pontosan milyen fájlnevet kell használjunk a logókhoz.

Ha nem jailbreakelt a készülékünk, akkor kénytelenek vagyunk az Apple szervereit igénybe venni, ehhez a verzióellenőrzést lehetővé XML oldalát kell betöltenünk, és megkeresni a szolgáltatónkhoz tartozó IPCC fájlt:

  1. töltsük be az Apple version oldalát: version;
  2. keressünk rá a _hu szövegrészletre, ha magyar szolgáltatóról van szó;
  3. keressük meg a szolgáltatónkhoz tartozó legmagasabb verziószámú (BuildVersion) bundle-t, és másoljuk ki a linkjét;
  4. ezt illesszük be a böngészőnk címsorába, majd nyomjunk entert, mire az letölti az IPCC fájlt;
  5. mentsük el a fájlt az asztalra.

T-mobile esetén például az alábbi módon néz ki az összes elérhető bundle, és egy elég régi, 8.1-es verziójú tölthető le iPhone-hoz. Noha az iOS 6.0.1-ben már 13.0-s van, a korábbi verzió beállításai sem okozhatnak különösebb problémát:

Vodafone esetén pedig 9.1-es és 13.1-es verzió van az iPhone-hoz, és szintén 9.1-es az iPadhez. Ebből nekünk a 13.1-es verzióra van szükségünk, a 6.0.1-ben is ez van:

Az IPCC fájl összeállítása

Az IPCC fájl valójában egy megfelelően előkészített és megváltoztatott kiterjesztésű zip fájl. Tehát a letöltött fájlt egyszerűen csak nevezzük át, és a fájlnév végére írjuk oda, hogy .zip, és a legtöbb operációs rendszer esetén egy dupla kattintás után már látható is a fájl tartalma. Ez egy Payload nevű mappában tartalmazza a szolgáltató bundle-jét a szükséges fájlokkal. A Vodafone_hu.bundle esetén például a következőket:

  • carrier.plist
  • FSO_CARRIER_vodafone HU_1only_.png
  • Info.plist
  • TS_CARRIER_vodafone HU_1only_.png
  • version.plist

A T-mobile esetén is ugyanezek vannak, persze értelemszerűen más a logók fájlneve, de a többi megegyezik.

Másoljuk ki a Payload mappát például az asztalra, és nyissuk meg a bundle mappát. Ez esetenként tartalmazhat még több .lproj nevű mappát is, de ezek számunkra nem szükségesek. Lássuk, melyik fájl mire is jó pontosan.

A carrier.plist tartalmazza a szolgáltatóhoz tartozó beállításokat, így például a mobilinternethez és az MMS-hez szükséges APN-eket, és egyben aláírást is tartalmaz, így ha módosítjuk a fájlt, az aláírások érvénytelenek lesznek, így azt a rendszer nem tölti be. A logók lecseréléséhez ezt a fájlt egyébként is szükségtelen módosítani.

Az Info.plist a bundle általános információit tartalmazza, a version.plist pedig csak a különböző verziószámait. Nyissuk meg a fájlokat egy szövegszerkesztővel, vagy plist szerkesztővel, és módosítsuk benne az alábbi kulcsokat úgy, hogy azok értéke magasabb legyen, mint a készüléken alapból megtalálható verzió. Ez utóbbit a Settings (Beállítások) / General (Általános) / About (Infó) menüpont alatt a Carrier (Szolgáltató) mellett találjuk, az alábbi képeken 13.1 lesz:

 

Mivel a 6.0.1-ben T-mobile esetén eredetileg továbbra is 13.0 van, de a Vodafone esetén pedig már alapból 13.1, így a legegyszerűbb, ha mondjuk 14.0-t adunk meg, mert alacsonyabb vagy egyező verziószám esetén a rendszer azt nem tölti be. Módosítás után például így kell kinéznie:

<key>CFBundleShortVersionString</key>
<string>14.0.0</string>
<key>CFBundleVersion</key>
<string>14.0</string>

Ezután mentsük el a fájlokat, és másoljuk be a kész logókat is a bundle mappába, felülírva velük az ott található fájlokat. Majd lépjünk vissza, és tömörítsük egy zipbe a Payload mappát. A kész zipet megnyitva egy Payload mappát kell lássunk, azon belül pedig a kívánt szolgáltató bundle-jét. Az elkészült fájlt nevezzük át, hogy .zip helyett .ipcc legyen a kiterjesztése, és már telepíthetjük is.

 

Telepítéséhez kövessük a korábbi cikkben leírtakat: Magyar T-mobile és Vodafone logók iPhone 5-re is, jailbreak nélkül!

Logók törlése

Ahogyan azt a korábbi cikkünkben már megírtuk, az IPCC-s módszer eredendően nem arra van kitalálva, hogy az így telepített beállításokat törölhessük, így jailbreak nélküli készülékeken ilyenkor nyomjunk egy restore-t. Mivel a backupba a frissített carrier nem kerül elmentésre, így abból nyugodtan visszaállítható a készülék.

Jailbreakelt készülékeken az IPCC-s módszer használata után a “/private/var/mobile/Library/Carrier Bundles/iPhone” mappa törlésével visszaáll a gyári alapbeállítás a logókat illetően. Ha pedig manuálisan írtuk felül a logókat, úgy egyszerűen másoljuk vissza a felülírás előtt lementett változatokat, majd indítsuk újra a készüléket. Ha esetleg nem készítettünk mentést a fájlokról, töltsük le az Apple-től a szolgáltatónkhoz tartozó IPCC-t, mert abban ott lesznek az eredeti, szöveges kijelzés logói.

Példák

Nekem jailbreakelt a készülékem, és szlovák T-mobile-t használok. Mit tegyek?
Keresd meg például DiskAid segítségével a készüléken a “/System/Library/Carrier Bundles/iPhone” mappában a TMobile_sk.bundle-t, mentsd le az ott található logókat, majd írd felül benne őket az előkészítettekkel, és indítsd újra a készüléket.

Nekem nem jailbreakelt a készülékem, és angol Orange-os vagyok. Mit tegyek?
Angol Orange esetén keresd meg a version fájlban a legmagasabb verziószámú, jelen esetben 13.1-es IPCC-t, ami az Orange_uk szolgáltatóhoz tartozik. Töltsd le a fájlt, nevezd át .zip-re, és bontsd ki belőle a Payload mappát az asztalra. Nyisd meg az Orange_uk.bundle mappában az Info.plist és version.plist fájlokat, és mindkettőben módosítsd a CFBundleShortVersionString és CFBundleVersion kulcsok alatti string értékeket 14.0-ra. Mentsd el a fájlokat, másold be a bundle mappa alá az előkészített logókat. Ezek után tömörítsd a Payload mappát egy zipbe, majd a .zip-et nevezd át .ipcc-re, amit már telepíthetsz is a készülékre a korábbi cikk alapján: Magyar T-mobile és Vodafone logók iPhone 5-re is, jailbreak nélkül!

Kivételek

Nagyon fontos megjegyezni, hogy az IPCC alapú megoldás kizárólag Apple-partner szolgáltatók esetén alkalmazható. Nem Apple-partner szolgáltatók (például magyar Telenor) esetén azért nem működik a dolog, mert ezekhez az iOS nem tartalmaz bundle-t. Ezekhez hivatalos aláírás hiányában egyéni bundle is csak CommCenter patch segítségével telepíthető, és kizárólag csak jailbreakelt készülékekre. iOS 6 esetén egyelőre nincs elérhető CommCenter patch.

Ezek még érdekelhetnek:


  1. Ezt az előző cikketek alapján már megcsináltam, nemes egyszerűséggel készítettem egy másolatot az általatok elkészített ipcc-ből, és az abban lévő png-t kicseréltem a sajátomra. Csakhogy jelen esetben a ti png-tek áttetsző, míg az enyém csúnya fekete. Ebben az esetben hibátlan: http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/546879_502855166405494_1095443072_n.jpg, azonban így http://sphotos-e.ak.fbcdn.net/hphotos-ak-prn1/63324_509322155758795_974331664_n.jpg már kevésbé mutatós. Mit és hogy kéne csinálnom, hogy jó legyen? Tudom ez inkább már grafikai kérdés, de mégiscsak ide kapcsolódik.

  2. Sziasztok, jó az írás, hasonlót követve szereztem magamnak giffgaff logót, ami nem apple szerződött partner, de az angol O2 networköt használja így az O2 IPCC szépen működik, utanna csak at kellet irnom a mobilnet meg mms adatokat.

    Továbbá az angol Orange és T-Mobile UK egyesült Everything Everywher (EE) néven, szóval majd ott valszeg változás várható.

    Észrevétel: esetemben a logó mindenhol látszik, kivéve a Maps alkalmazást, ott visszavált O2-UK-re. Amit nem teljesen értek miért. Tudnátok magyar szolgáltatós iPhone 5-ön iOS 601 alatt tesztelni?

  3. @Jadeye:
    PL PAINTben hogy tudom megoldani h átlátszó legyen a háttér,nekem is ez a gond! amugy frankó!!
    Meg felmerült egy kérdésem a “vodafone” szöveg helyett nem lehet oda kreállni saját szöveget!! 🙂

  4. @Leki: használj normális funkciókkal rendelkező, valódi képszerkesztőt, a Paint nem ilyen. Photoshop vagy azzal egyenértékű más szoftver a javasolt. a logód olyan lehet, amilyet csak akarsz, saját szöveg vagy ábra.

  5. @Neo78: Nem sikerul sajna… Annyi a gond, hogy 6.0-tól nem T-Mobile SK hanem Telekom SK a hivatalos neve a szolgáltatónak, ezért nem tudom pontosan mire írjam át, a régi ipcc fájl még a 8.1-es, ott még TMobile_SK a neve, nem tudja valaki jailbrakelt telóbol kiolvasni, hogy van beírva az iOS 6-ba?

  6. @Jadeye: Hidd el próbáltam már vagy 10 féle képpen, viszont azért nem jó szerinte, mivel a carrier.plist is régi, ott még a T-mobile szerepel és a logók nevében sincs benne 1only sem, úgyhogy ez még szerintem nagyon régi, ezért kellene egy jailbrakelt telobol egy relatíve friss ipcc fájl… 🙁

  7. nem megy, nem tudom beallitani 🙁
    3gs 5.1.1 hacktivated, telenorosan hasznalom
    valami otlet? az osszes telenoros bundle-ban kicsereltem a kepeket, persze a nevet mindegyiknel arra modositottam, amire kell. a telenor_hu bundle-ban benne van minden, ami kell, verzio 14.0.0, kepek meretei stimmelnek (60×20). lovesem sincs.

  8. @bolive15: pedig a cikkben külön le van írva (utolsó alcím, Kivételek): magyar Telenorra nincs bundle a rendszerben, mert a magyar Telenor nem Apple-partner szolgáltató, így azzal nem fog menni.

    @totyo100: használj mondjuk TotalCommandert, Windows alatt néha mókás a fájlok nevében kiterjesztés módosítása.

  9. Megvaaaaan! Sikerult találnom iOS6-ból az osszes Carrier Bundles-t a neten, innen kivettem a legújabb adatokat, kicseréltem a logókat, fontos, hogy plist editorban legyenek az adatok módosítva az info és a version fájlban! Koszi a segítséget srácok!

  10. Hi!

    Én meg leszedtem a zeppelin alkalmazást a cydiából, bemásoltam
    a saját képemet az egyik logo-s mappájába (átirva a file nevet) és kész.
    Szvsz kb 2 perc alatt megvolt. Ha nem kell, akkor kikapcsolom a progit és
    kész.

  11. Sziasztok!

    Nem tartom magam bénának IT téren, de nekem nem sikerült…
    Most frissült a 6.1.3, átírtam a 14.2-es verziót a Ti fájlotokban, de többszöri nekifutásra sem jött össze.
    Másodszorra eldobott 1-2 alap beállítást és visszaállt default módba… (Csengőhang, akku százalék, hangok, stb..)

    Mit javasoltok??
    Köszi Barni

  12. Sziasztok!
    Abban esetleg tudna valaki nekem segíteni, hogy honnan tudnám beszerezni a three szolgáltatójának ios 7.0.2höz tartozó ipcc fájlt? ami jelen esetben 15.0 Mert bárhol kerestem nem bukkantam rá és így nem tudom használni a telóm mert olyan helyen lakom ahol nem nagyon van 3g szolgáltatás, telefonból esetleg kitudom valamein úton módon nyerni esetleg?

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

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