Az Apple mindig úgy reklámozza az iPhone-t, hogy az a legfejlettebb mobil operációs rendszer, ami gyakorlatilag igaz is. Még az Android is kb. 1 évre van lemaradva technikailag tőle. A rendszer a végletekig egyedivé tehető, módosítható. Lássunk most erre egy példát. Dátum a lockscreen-re majd később, azért egyszerre minden nem megy 🙂
Kedvcsinálónak, itt egy kép:
A többit a tovább gomb után. 🙂
Van nekünk a /System/Library/Frameworks/ könyvtárban egy UIKit.framework. Ez az iPhone megjelenítéséért, a felhasználói felületért felelős file-okat, azzal kapcsolatos beállításokat tartalmazza.
Érdekes, hogy megint fundamentális szintű változások voltak a firmware-ben, pl. eltűnt a UIKit binary-je. Ez csak azért ad aggodalomra okot, mert ezután saurik elég nehezen fogja tudni átírni a WinterBoardot az új rendszerverziókra, nem lesz “honnan” kinéznie az artwork file-ok szerkezetét. Szerencsére, itt még nem változott a 3.0-hoz képest a szerkezet, ezért volt elég egy sima MobileSubstrate frissítés a WinterBoard működéséhez. Megint más, hogy eltűnt a firmware-ből az összes videocodec is, hogy hová “épültek be” azt nem tudom, mindenesetre én visszamásoltam a UIKit binary-t, megadva neki a futási jogokat, és a videokodekeket is, legnagyobb meglepetésemre a youtube videók VÉGRE minden probléma nélkül működtek a Safariból a visszamásolás után. Na mind1, remélem azért tudja az Apple, mit miért csinál.
Kenny és a custom keyboard layout-ok
Van nekünk egy kedves Kenny nevű fejlesztőnk, aki elég sok fajta MobileSubstrate kiegészítést alkotott meg eddig, mind nagyon hasznos (QuickScroll, iKeyEx, hogy csak a fontosabbakat említsem meg). Az iKeyEx eléggé egyszerűen használható, konfigurálható, csak egy baj van vele: eléggé kis rendszererőforrás-zabagép. Nem is a memória itt a fő baj, inkább egy általános lassulás. Persze 3GS-nél ez a probléma nem valami nagy fontosságú, majdnem elhanyagolható mértékű, de ha nem szükséges, azért ne foglaljuk le a processzorunk ilyen dolgokkal.
Az iPhoneOS-ben, gyakorlatilag amióta van UIKit.framework, lehetőség van .keyboard kiterjesztésű file-ok használatára, melyekkel tetszőleges kiosztású, elrendezésű billentyűzet hozható létre, akár nyelvenként specifikusan is, és ez egy lényegesen “gazdaságosabb” megoldás, a top szerint mindössze kb. 300 KB-unkba kerül a dolog, és akkor lehet mondjuk ilyet csinálni (a dánoktól irigyeltem meg, láttam, az ő “szifon.com”-jukon iKeyEx nélkül is megoldható, hogy külön betűként látszódjon az Å,å betűk, meg a Æ,æ. Ez ugye nekünk is jól jönne, ráadásul úgy, hogy mondjuk van egy angol meg egy magyar billentyűzetünk, az angolnak teljesen megegyezik a kiosztása a magyaréval, csak nem lesz rajta külön gombként az a néhány ékezetes betű, míg a magyarra átváltva rajta lesz. Ez elég praktikus szerintem. Mondjuk egy sms-nél én nem szoktam ékezetes betűket használni, míg egy Mailnél, féőleg, hogy landscape módban még kényelmesen el is férnek az ékezetes betűk, igen praktikus – szerintem. És mindez hogyan lehetséges – egyszerűen?
Persze, merthogy a .keyboard file-ok binárisak, az SDK-n keresztül létre tudunk hozni ilyeneket, ObjectiveC-vel, de azért ez nem valami “hűde-szimpla” dolog.
Kenny viszont létrehozott egy layout-plist-to-keyboards nevű kis programot, amit közvetlen az iPhone-ról lehet futtatni. Kell hozzá egy iKeyEx-es layout.plist, és ezt konvertálja át a teljes .keyboard filecsoporttá, ami a landscape és normál módokhoz, külön-külön az emailhez, a többi progihoz, a numerikus billentyűrészhez tartalmazza a layout.plist által megszabott billentyákiosztást. Sajnos, a fentebb említett fundamentális változások miatt, a progi csak 3.0 és 3.0.1 alatt működik, 3.1 alatt még nem, remélem Kenny átírja, mert ez egy igen hasznos dolog. Szerencsére, a régebben, a .30-án létrehozott file-ok hiba nélkül működnek a 3.1-en is. Az egész annyira egyszerű lenne:
1. letölteni a http://networkpx.googlecode.com/files/layout-plist-to-keyboards URL-ről a bináris file-t. Bemásolni T-Pottal mondjuk a /private/var/root-ba, majd a telefonunkon Terminal-ban egy szokványos
su root (alpine a jelszó)
után
cd /var/root
majd
chmod a+x layout-plist-to-keyboards
ezután T-Pottal odamásolni, ugyanúgy a /private/var/root könyvtárba a létrehozott, és konvertálásra szánt layout.plistet, és kiadni a
2. /var/root/layout-plist-to-keyboards ./layout.plist parancsot.
3. a létrehozott, elvileg 8 darab .keyboard kiterjesztésű file-t egyszerűen, T-Pottal át kell helyezni a /System/Library/Frameworks/UIKit.framework könyvtárba.
4. Ha csak egy nyelv van engedélyezve a billentyűzeteknél, akkor valamiért nem igzán működik a dolog. A Settingsben menjünk a keyboards-okhoz, és engedélyezzük az angolt is a magyar mellé. Az egész akkor működik a legkönyebben és legjobban, ha telepítettük a magyar billentyűzetet a szifon repoból, és ezután tesszük ezt.
Nálam, az eredmény ez:
Ez az angol billentyűzet kiosztás – vagyis a “normális” szifon.com-os billentyűzet:
Ez pedig a magyar – a plussz gombokkal – szerintem, főleg emailnél, nagyon jól használható, bár ezt csak úgy “kitaláltam”, hogy épp ezeket az ékezetes betűket tegyem rá, sajnos azért “korlátlanul” nem lehet kitenni őket, mert nagyon kicsik lesznek – arányosan – a billentyűk:
Én ezeket raktam ki külön, mindenki eldöntheti, hogy mit szeretne, milyen sorrenddel. Íme a leírás a layout plistekhez, nem nehéz egyáltalán. Pl: a fentebbi billentyűzetnek ez a layout.plistje:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Alphabet</key>
<dict>
<key>arrangement</key>
<array>
<integer>11</integer>
<integer>11</integer>
<integer>8</integer>
<integer>0</integer>
</array>
<key>rowIndentation</key>
<string>Alt</string>
<key>texts</key>
<array>
<array>
<string>q</string>
<string>w</string>
<string>e</string>
<string>r</string>
<string>t</string>
<string>y</string>
<string>u</string>
<string>i</string>
<string>o</string>
<string>p</string>
<string>ó</string>
</array>
<array>
<string>a</string>
<string>s</string>
<string>d</string>
<string>f</string>
<string>g</string>
<string>h</string>
<string>j</string>
<string>k</string>
<string>l</string>
<string>é</string>
<string>á</string>
</array>
<array>
<string>í</string>
<string>z</string>
<string>x</string>
<string>c</string>
<string>v</string>
<string>b</string>
<string>n</string>
<string>m</string>
</array>
</array>
<key>usesKeyCharges</key>
<false/>
</dict>
<key>EmailAddress</key>
<dict>
<key>arrangement</key>
<array>
<integer>11</integer>
<integer>11</integer>
<integer>8</integer>
<integer>3</integer>
</array>
<key>hasSpaceKey</key>
<false/>
<key>rowIndentation</key>
<string>Alt</string>
<key>texts</key>
<array>
<string>=Alphabet</string>
<string>=Alphabet</string>
<string>=Alphabet</string>
<array>
<string> </string>
<string>@</string>
<string>.</string>
</array>
</array>
</dict>
<key>SMSAddressing</key>
<dict>
<key>arrangement</key>
<array>
<integer>11</integer>
<integer>11</integer>
<integer>8</integer>
<integer>0</integer>
</array>
<key>rowIndentation</key>
<string>Alt</string>
<key>shiftKeyEnabled</key>
<false/>
<key>texts</key>
<array>
<string>=Alphabet</string>
<string>=Alphabet</string>
<string>=Alphabet</string>
</array>
</dict>
<key>URL</key>
<dict>
<key>arrangement</key>
<array>
<integer>11</integer>
<integer>11</integer>
<integer>8</integer>
<integer>3</integer>
</array>
<key>hasSpaceKey</key>
<false/>
<key>rowIndentation</key>
<string>Alt</string>
<key>texts</key>
<array>
<string>=Alphabet</string>
<string>=Alphabet</string>
<string>=Alphabet</string>
<array>
<string>.</string>
<string>/</string>
<string>.com</string>
</array>
</array>
</dict>
</dict>
</plist>
Igazából csak logika kell a kitalálásához a dolgoknak a file-ban:
a betűk az egyes sorokat jelentik, ezek végére-vagy tetszőleges helyre <string></string> kulcsok közé magát a karaktert írhatjuk, a rendszer tudja a kicsi és a nagy betűt, azt nem kell külön megadni. Az egyes számok: a betűk számát jelölik az egyes sorokban, nyilván ez különbözik a mailnél és a normál-egyéb programoknál: a normál kiosztásnál a legutolsó <integer></integer> érték 0, a mailnél 3, ez azt jelenti, hogy ide kirakja a . / és a .com gombokat, persze ezekhez is lehet plusszt rakni, mint ahogy látszik, a file végére. Tényleg nem bonyolult, csak nézzük át a dolgokat, ha hozzá akarunk tenni egy betűt, tegyük, csak vigyázzunk a számokkal: ahány betű, annyi szerepeljen a kiosztásoknál – pl ha az enyémhez adunk még hozzá, akkor 11 helyett több/kevesebb.
Hát kb. ennyi, persze felrakom a saját file-jaimat, csak annyi a dolgunk, hogy T-Pottal bemásoljuk a /System/Library/Frameworks/UIKit.framework-be. Attól függően mit szeretnénk, tetszőlegesen törölhetjük a file-okat. Pl. ha csak az emailnél akarjuk a cuccot, akkor csak azokat a file-okat hagyjuk meg, melyek nevében benne van az Email. A NamePhonePad nevű file-ok a Phone-ban a billentyűzetet kódolnák, ez azonban szerintem felesleges, ha egyszer számokat akarunk beütni, akkor miért is írnánk azt át… Tehát a törlés után, praktikusan 6 darab file fog maradni.
Íme egy zipben feltéve:
Update: mielőtt elfelejteném: nem tettem fel az ehhez használt layout.plist-et, illetve a bináris file-t is.
layout.plist
Remélem, érthető és követhető volt a leírás, kellemes használatot, próbálgatást…
Kimaradva a JB-korán-vagy várjunk vitákból, és az effajta dolgokból, egy biztos – de mielőtt kommentek százai bizonygatnák az ellenkezőjét, ez csak egy laikus magánvéleménye, bár talán nem vagyok teljesen tudatlan iPhone-nal kapcsolatban – legalábbis szerintem, ha az Apple annyira, de annyira szeretné megakadályozni a Jailbreaket, megtehetné. De nem akarja. Az egy dolog, hogy az AppStore miatt azt kell mutatnia, hogy ellene van a crackelt programok letöltésének. Akkor mégis miért lehet kb. 1 nap alatt feltörni az aláírási rendszert? Akkor mégis, hogyan lehet néhány hét alatt találni újabb hibákat az iBootban, iBBS-ben? És akkor miért mondta maga a nagy Steve Jobs, még a 2.0 megjelenése előtt egy nyilatkozatban, hogy az Apple nem fogja végleg megakadályozni, hogy külső, általa nem engedélyezett 3rd party programok futtatása lehetővé váljék az iPhone-okon? És akkor miért is van, hogy a Dev-Team statisztikái szerint a Pwnage Tool és redsn0w seed-ek egy eléggé tekintélyes része az Apple belső IP-címjeiről jön? Az egy dolog, hogy szolgáltatóként én is elvárnám, hogy a pénzemért – mert hogy, aki még nem tudná, az exkluzív szolgáltatók minden eladott iPhone után havonta fizetnek egy bizonyos összeget az Applenek, a 2 év hűségnyilatkozat alatt – egy olyan telefont áruljak, amit nem 2 másodperc függetleníteni, feltörni, IP-telefonálásra végletekig alkalmassá tenni, ingyen smst küldeni rajta a világ bármely részére, PC-s internetezésre használni az egyébként korlátlan netcsomagot, ami a telefon mellé jár, és így olyannyira leterhelni a hálózatot, hogy a fejlesztések ellenére is az egyik legrosszabb legyen az országban (AT&T), stb, stb… Persze nem sajnálni akarom a cégeket, sőt, ellenkezőleg, rengeteg hasznot és új előfizetőt termel nekik ez a kütyü, csak arra akartam felhívni a figyelmet, hogy én is biztosan mérges lennék az AT&T elnöke helyében, ha egyszer nem erről volt eredetileg szó. És még a legújabb telefon is a megjelenése után nem sokkal függetleníthető, JB-elhető volt… Szóval szerintem persze, jelenjenek meg az új törések, JB-ek, greenp0ison – azt se tudom hol a nulla a nevében, ilyen-olyan sn0w, stb., stb. Persze, az Apple kijavítja őket. Mi meg nyálgcsorgatva és hálálkodva várjuk a Dev-Team, GeoHot, ChronicDev munkáját, hogy megtalálják az újabb rést… Úgyhogy jó JB-et, csak-csak megérkezik az a várva-várt 3.1 3GS törés.
39 Comments
Köszönjük a cikket!Gratulálok az írónak! 🙂
[OFF]
Irtam, hogy az uj iPhone-om eldobálja a hálózatot, na most beletettünk egy T-Mobilos SIM-et azt is ledobálta meg minden, de most visszatéve a vodást,csodák csodájára minden jól működik!Szerintetek merjem megtartani így?Mert 10nap gari van rá, és utána már nem adhatom visssza.
Bzoolka ha erre jársz…:
“@bzolkaa: Hát feladom…feltennéd valahova a UILCDBackground.png-t amit te használsz? Mert nekem nem lesz átlátszó, csak fehér, pedig transparent elvileg. Köszi előre is! (A slider már átlátszó, azzal nem volt gond.)”
z a magyar bill fasza
cydia csomagot belőle…
Hama hama, ez jó dolog
🙂
olyan nicsn ami bemondja ki hív mint nokia n95 től felfele? 🙂
ku*va jo koszi!!!! fel is raktam be is allitottam!
ja egy bajom van vele hogy a y-z a full kiosztasnal angol rend szerint van 🙁
@vjoe: Jaja az kéne 😀
nem lehetne ezt egty cydiás csomagba?
nem olyan ordongoseg a leirtak es a mellekelt fileok alapjan berakni, ne legyetek lustak 😛 nincs sultgalab, csak a siker orome 🙂
Sziasztok
valaki hozzáértő emeberke csinálhatna egy Becstelen Brigantyk os témát:)
jó film nekem speciel tetszett:D
am jo ez a leiras majd holnap megcsinalom de ugy kene h az osszes karakter rajta legyen marmint ekezetes meg sima:)
@Crazy: holnap megcsinálom őket, barátnőm telefonján még 3.0 van, azon menni fog a progi. Ok, csinálhatok olyat is, amin minden rajta van, legalábbis nagyrésze, meg pl. ez, meg akkor visszacserélem az y-z betűket. Ha tényleg van rá igény, küldöm adminnak csomagként, szerencsére, mivel csak arról van szó, hogy felrakja a csomag a UIKit könyvtárba a dolgokat, így nagyon gyorsan lehet csomagot csinálni belőle. Egyébként annyira jó a dolog, lehet “mixelt” dolgokat csinálni, pl. landscape módban elférne az összes bill., álló módban pedig maradhatna ez. Dehát ezért a leírás, nem nehéz, és ha kész, akkor olyan billentyűzetünk lehet, amilyet csak akarunk. Az, hogy meg lehet kapcsolgatni a billentyűzetek között, szerintem már csak ráadás.
@Ace: oksi, feltettem a rapidomra:
rapidshare. com/files/282797025/UILCDBackground.png
@telegdyd: Vidd gariba, veszteni nem vesztessz semmit sem…
Szuper!!!
A magyar bill.-t Cydia repoba pls 😀 Ez kb. olyan fontos mint a magyarosítás vagy még fontosabb, így aztán igazán megérdemelhetne egy “gyors” megoldást 🙂
Off!
Hello. Le vagyok sztem maradva egy picit. Nem túl régóta van iPhone-om, és most olvastam a cikk végén ezt az “ingyen sms” dolgot…. elárulná nekem valaki h ez h is van pontosan?:)
@daweed: Persze, van egy progi AppStore-ban, a neve:Global.aq sms a neve, ha nincs “kedved” kifizetni, rákereshetsz, appulous-on megtalálod, de linket is adhatok hozzá:
appscene. org/download/wkARvMIb1W5067b615c2
Frankó!Jó hogy ennyire vágja valaki a témát!Lehet csak én nem figyeltem eléggé!De az mitől függ hogy landscape módban mások legyenek a betűk mint állóban?
@telegdyd: Haverom első iPhone-ja csinálta ezt, és szerencsére még időben ki tudta cserélni, azaz visszakérte a pénzt, sok csinál ilyet, és nem lehet vele mit kezdeni, hol megy hol nem, de idegesítő, mert mindíg csak azt vettük észre hogy nem csörög ki a telefonja, azóta másik van neki, ami soha nem dobja el a hálózatot…
Hát én nagyon nem értem ezt a procedúrát:)!!!Jó lenne cydiában !!!
Az ilyen topáknak mint én :)))!!!Köszi!!4
@bzolkaa: Háh, ez megy, nagyon szépen köszönöm. Elárulhatnád, hogyan csináltad. 🙂
Grat a cikkhez bzolkaa mindig vmi újdonság 🙂
egy kérdés Global.aq sms ezzel lehet frankón ingyé küldeni smst? :-O
@bzolkaa: az fasza lenne ha össze tudnál dobni egy full magyar billt mondjuk fekvő módban egy fél magyart meg állóban::) vagy ahogy jónak látod
Üdv
@Sonik-29: jaja frankon lehet de net kapcsolat kell hozza min edge max wifi 🙂
@Crazy: és van limit ilyen napi 1 vagy annyit küldök amennyit nem szégyenlek ? 😀 akkor lekapom én is
@Sonik-29: sztem NO limit
@Sonik-29: csak még annyi h a számot így kell beírni: +36 30 vagy +36 20 vagy +36 70 😀
@Crazy: Thx akkor meglesem mit is tud 😀
@Crazy: Neked melyik verzió van meg, mert nekem az 1.0.2 nem indul. (másoknak sem)
Ha megvan a régi verzió feltöltenéd valahova?
@horsepower: installoussal kell letolteni és feltelepiteni és akkor menni fog!!!
@bzolkaa: de ugye ugy is megoldhato h nincs fent a telon a magyarosítás?!
@Crazy: UI.: a MewSeek Pro hoz tudna valaki adni egy cracket? fontos lenne
Köszi
@bzolkaa: Köszi a segítséget. de van egy kis gondom:S feltelepítem, belépek, de abban a pillanatban ki is lép…:S mi lehet a gond?
REMEK !!!
Nagyon köszi! Nagyon tetszik 😉
@bzolkaa: tudnál segíteni intelli screenben? kene crack meg valami link ami mukodik marmint nem fontos a legujabb intelli csak mukodjon!:D
Előre is köszi
Admin vagy bzolkaa megtaláltam az inteliscreent: de kene egy kis help a telepitessel kapcsolatban meg pedig az h hova masoljam a fileokat?:O
ntellicreen 2.95.4 crack
Instructions:
– Install Intellishared using the command below (Download Link: MediaFire)
Code:
dpkg -i intellishared.3.1.1.sg1.deb
– Install Intelliscreen using the command below (Download Link: MediaFire)
Code:
dpkg -i intelliscreen.2.95.4.cracked.sg1.deb
– Respring or Reboot
@Crazy: megcsinaltam:P thx xsellize majd sztem kene csinalni egy uj postot erről
üdv
Tudom nem fogtok érte szeretni, de az iPhone OS-t, hogy lehet a legfejlettebbnek nevezni? Bár nekem csak egy touch 2G-m van, én csak az jelenteném ki, hogy a legfürgébb, és legbarátibb kinézetű, és a legkönnyebben kezelhető rendszer.
De amíg korlátozva van a bluetooth, pl: a külsö GPS használatra is csak most nyílt lehetőség de ahhoz is hack-elni kell, gyárilag nem tudja, ugyan úgy ahogy sajnos a készülék témájának a megváltoztatása sem 2 kattintás, stb, stb.
Szép a rendszer, látványos, gyors és a legjobban kezelhető. De nem fejlett.
Na akkor lehet megkövezni…
bocsi egy kérdés hol van az a terminal a telomon?:D
cydia…