jan 13

Részletes összefoglaló: iOS 4.3 beta

By tothandras ipad, iphone, iphone fejlesztés Hozzászólások kikapcsolva

Tegnap késő este kiadta az Apple az iOS 4.3 beta 1 verzióját a fejlesztőknek, mely az iPhone 3Gs-t, iPhone 4-et, iPad-et és az iPod Touch 3. illetve 4. generációját, és az Apple TV 2G-t támogatja, ezzel kívül helyezve az iPhone 3G-t és az iPod Touch 2G-t a jövőben támogatandó készülékek listájáról. A beta verzió az adott eszköz iOS fejlesztői regisztrációja nélkül nem tehető fel sikeresen, viszont azt akár használhatatlanná is teheti, így aki nem rendelkezik ilyennel, semmiképpen ne próbálkozzon. Lényeges továbbá, hogy az ebben a posztban is kiemelten hangsúlyozott, iPad-en elérhető multi-touch gesztusok aktiválásához iOS fejlesztői SDK-val kell rendelkeznünk, ami csak Mac-re elérhető.

Az utóbbi idők talán leglátványosabb verzión (4.x) belüli frissítésével állunk szemben, amelyben nagyszerű újítások és életünket megkönnyítő apróságok kaptak helyet. Nézzük először az iPhone-t és iPad-et közösen érintő kisebb változásokat, sorjában: az AirPlay-t, mellyel videót lehet stream-elni Apple TV-re (vagy egy kis programmal Mac-re) ezentúl bármelyik fejlesztő beépítheti alkalmazásába, immár a teljes képernyőt is kitölthetik az iAd hirdetések, frissült a screenshot (képernyőkép) készítés hangja, a Notes alkalmazás egy új, kissé vicces betűtípust kapott – Noteworthy; és kiemelt helyre került a beállításokban a “Location Services” (helyzet alapú szolgáltatások) menüpont, melyben ki-be lehet kapcsolni az egyes appok helyzetünkhöz való hozzáférését. Ez számunkra arra utal, hogy az Apple komolyan gondolja a helyzetmegosztás felhasználó általi szabályozásának szükségességét. A kizárólag iPhone-t érintő változások a következők: új szöveges és multimédiás üzenetek érkezését jelző hangok, új FaceTime ikon (iPod Touch-ra is vonatkozik) és a legfontosabb újdonság, a WiFi hálózat létrehozásának lehetősége internet megosztás céljából. A Personal Hotspot lehetséges, hogy a 3G-s iPad-eken is elérhető lesz, de erről egyelőre nincs információ.

Tegnap előtt még csak találgattuk, kapnak-e a GSM iPhone-t használók WiFi-s internetmegosztást a készülékükbe, ma pedig ezt már tényként lehet kezelni (ugyanakkor már hallani pletykákat arról hogy pl. az AT&T letiltaná a funkciót). A funkció “Personal Hotspot” néven fut a “Settings” (beállítások) app-ban, egyszerűen bekapcsolható és jelszóval védhető. Emelett bluetooth és USB-alapú internet megosztás (tethering) továbbra is elérhető. Szerintünk ez elsősorban azon wifi-s iPad tulajdonosok számára kiváló, akik rendelkeznek egy iPhone 3Gs-sel vagy iPhone 4-gyel, hiszen így az előbbi eszközön tudják használni az iPhone által megosztott internetet. Handras tesztjei alapján akár 6 óráig is lehetséges ez, mely a jailbreakes készülékekre (ezen hiányosság pótlására született) elérhető MyWi működési idejét sokszorosan felülmúlja.

A legnagyobb koncepcionális változtatás az iPad-et érinti, mely az iOS 4 multitasking (háttérben futtatás) funkciójához multi-touch gesztusokat kapott, a Mac felhasználók számára már megszokott 4-5 ujjas mozdulatok formájában. Ha felfele toljuk a képernyő tartalmát 4 vagy 5 ujjunkkal, a multitasking sávot hívjuk elő (korábban dupla klikk a home gombra – mely funkció természetesen továbbra is használható), ha lefele húzzuk, bezárjuk. Egy nyitott alkalmazást szintén legalább 4 ujjunk egymás felé való összehúzásával – kicsinyítő gesztus – tudunk bezárni (ettől még a multitasking érvényben marad!), illetve 4 ujjunk jobbra-balra huzogatásával válthatunk az éppen háttérben futó appok közül. Elviekben nem kevesebbet tesznek ezek lehetővé, mint a felhasználó és a tablet közti interakció, kommunikáció szinte teljes egészének a kijelzőre helyezését, magyarul, innentől alig van szerepe az egyetlen rendszeresen használt hardveres beviteli lehetőségnek, a home gombnak. Nem véletlen, hogy megjelentek komoly pletykák arról, hogy egy ponton az Apple egyszerűen ki fogja hagyni a home gombot az iPad-ből, sőt, az iPhone-ból is (ez utóbbi állítás a kisebb kijelzőméretből eredő problémák miatt erősen megkérdőjelezhető), amely a cég filozófiájával könnyen összeegyeztethető lépés lenne, amennyiben ergonómiailag beválik.

Az elmúlt órákban hosszasan teszteltem a funkciókat, és teljes mértékben pozitív vélemény alakult ki bennem, ugyanakkor az alkalmazások közti váltás erőteljesen bugos, lassú, amelyet egyelőre betudok a korai beta verziónak.

Orvosolták továbbá rengeteg iPad felhasználó kérését, vagyis hogy váltani lehessen az eredetileg elforgatás-lock gomb funkciói között, melyek: elforgatás lock-unlock vagy hang némítás.

Az iOS 4.3 további beta verzióiban elképzelhető hogy felleljük a Macrumors által talált “Find My Friends” lehetséges közösségi-helymegosztós szolgáltatást, amelyről további részletek nyilvánosságra kerüléséig nem akarunk spekulálni.

aug 27

Már jó fél éve annak, hogy elhatároztam: szeretnék az iPhone-ra programozni. Viszont – mint tudjuk – ember tervez, Isten végez – így a kezdeti nagy lelkesedésem kissé lelohadt, amikor a Google több heti használatából csak annyira tudtam következtetni, hogy akkor kéne N*100000 forintot szerezni Macre (N>=4 valós szám). Ezért hát belekezdtem egy közel 4 hónapos “Canossa-járásba” — aminek így utólag örülök, hiszen minden egyes lépésre magamtól kellett rájönnöm. Próbálkoztam webalkalmazások készítésével — akkor hol marad a GPS, gyorsulásmérő, stb…? Megpróbáltam szeretett Linuxomon elkészíteni az iPhoneSDK fontosabb komponenseit — nem sikerült. Végül, több homályos linkelgetés, utalgatás után, különböző tutorialokból “fejben összevágva” a lényeget, sikerült az Open Toolchaint feltenni a szifonomra. (rájöttem, hogy a Cydiában nem véletlenül van fenn a GNU C Compiler: tavaly nyáron még C laikusként próbálgattam egy Hello World-öt, persze a header-ök nélkül nem ment, úgyhogy töröltem.)

Amikor ennyi – élvezetes, érdekes – “szenvedés” után végre lefutott az első, GUI-val is rendelkező programom, akkor nagyon boldog voltam. Viszont röviddel ez után jöttem rá, hogy mi bántott még egész idő alatt: nekem ez a nyelv nem tetszik. Sehogy sem tudtam kibékülni az Objective-C szintaxisával, az OOP implementálásával. Viszont eszembe jutott, hogy nagyon is szeretem a C- és C++ nyelveket. A C kiesett, mivel nem volt objektumorientált, de nagy örömömre az Apple developer oldalán találtam rá a fél megoldásra: a GCC engedi keverni az Objective-C és a C++ kódot! Ezek után már csak rajtam múlik a megoldás másik fele: írni kell egy C++ felületet az iPhone programozásához.

Röviden ennyi a története az Objective-X frameworknek. (X: eXtension, tehát kiegészítés az ObjC nyelvhez) Remélem – és a munkám elsődleges célja ez lenne – , hogy sikerül ezzel pár lelkes és jó C++ fejlesztőt, akit csak az ObjC, vagy a Cocoa Touch vélt vagy valós furcsa mivolta riasztott el – az iPhone platform felé csábítanom.

A framework használata egyszerű: csupán a mellékelt csomagban található fájlokat kell hozzákompilálni a saját C++ kódodhoz, valamint a főprogramot tartalmazó fájlba be-#import-olni az ObjX.h header fájlt. Az Objective-C++ nyelv használata miatt minden implementációs fájl (.m és .cpp) kiterjesztését át kell írni .mm-re, és a GCC helyett a G++-t használni compilerként, egyébként linker errort dob!

A csomag még NAGYON ALPHA és v0.0.1! Egyelőre néhány GUI elem van implementálva, ezért még hasznosan nem igazán használható. Viszont folyamatosan dolgozom rajta, illetve GNU GPL 3 alatt van, tehát magatok is fejlesztgethetitek, a kritikákat örömmel fogadom (nem vagyok gyakorlott programozó, eddig főleg szkriptnyelvekkel dolgoztam, tehát ha valahol “pocsék” a kód, memory leak van, stb, szóljatok nyugodtan!). Viszont afféle proof-of-conceptnek jó lesz.

Mivel nekem nincs Macem, ezért a hivatalos SDK tulajoktól előre is elnézést kívánok ;-) de Makefile-ok csak iPhone-ra telepített Open Toolchainhez vannak.

Kicsit a használatról:

A programok megírásához mindössze az ObjX.h beimportálására van szükség. Ezután írni kell egy void GUIApplicationMain() függvényt, melyet a főprogram automatikusan meghív. Minden ebben e függvényben történik, így a GUI felépítése, saját függvények/osztályok felhasználása, osztályok példányosítása.

Példaképp: hogyan néz ki egy Hello World Objective-C-ben:

HW_ObjC.h
———
#import
#import
#import
#import

@interface HelloWorld: UIApplication {

}

@end

HW_ObjC.m
———
#import “HW_ObjC.h”

@implementation HelloWorld

- (void)applicationDidFinishLaunching: (id)sender {

UIWindow* mainWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIView* mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[mainWindow addSubview:mainView];
[mainWindow makeKeyAndVisible];

UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(60, 60, 200, 40)];
[label setText:@"Hello World!"];
[mainView addSubview:label];

}

main.m
——
#import “HW_ObjC.h”

int main(int argc, char* argv[]) {

int exitCode = UIApplicationMain(argc, argv, @”HelloWorld”, @”HelloWorld”);
rerurn(exitCode);

}

Ugyanez C++-ban:

HW_CPP.h
——–
#import “/var/include/ObjX.h”

HW_CPP.mm
———
#import “HW_CPP.h”

void GUIApplicationMain() {

GUIScreen MainScreen;
GUILabel label;
MainScreen.init();
label.init();

label.set_position(60, 60, 200, 40);
label.set_text(@”Hello World!”);

MainScreen.addGUIControl(label.object());

label.destroy();

}

Természetesen, egyelőre Objective-C-ben sokkal felxibilisebb a dolog, hiszen amíg pl. az ObjX-be nincs implementálva, addig az app csak álló helyzetű lehet. Viszont aki szívesebben dolgozik C++-szal, annak jól jöhet.

A mellékletben megtaláljátok az ObjX-framework forráskódját, egy példaprogramot (Hello World-jellegű, nagyon egyszerű, ne várjatok sokat…), valamint két PNG-képet (IMG_0275 és IMG_0276) az elkészült példaprogramról, ha esetleg nem sikerülne lekompilálni (márpedig olyan nincs… ;D). JB iPhone felhasználók előnyben: nekik csak a megfelelő helyre kell másolni a fájlokat, majd SSH-ból a Sample könyvtárban egy make-make install kombót nyomni. A fordítás viszonylag sokáig tart, mert a szifon prociját nem C++ kompilálásra tervezték (kb. 30s alatt van kész), de a make install után (ha root vagy), a /Applicationsban lesz a tesztapp.

Üdv: H2CO3 (Árpi)

Csatolt fájlok:

ObjX_v0.0.1-alpha

márc 06
Magyar fejlesztő még nem ért el ekkora sikert, mint a 3D Magic Kft. Az amerikai App Store fizetős alkalmazásainak listáján a második helyet foglalja el az Alpine Crawler World nevű játék, amely tulajdonképpen egy off-road szimuláció, terepjáróval kell a versenyezni.

3 játékmód, 4 autó, 3 különböző terepviszony közül lehet választani, de a vezetést befolyásolja az időjárás is. A játék kiváló fizikával rendelkezik, az App Store-os vélemények szerint elég addiktív játék. Mivel magyar fejlesztés, a program magyar nyelvet is tartalmazza. Kedvcsinálónak jöjjön egy videó, megpróbálok még a hétvégén egy tesztet összedobni róla.
Az alkalmazás 0.79 euróét vásárolható meg az AppStore-ban, de létezik egy ingyenes változata is. Magyar fejlesztő megérdemel annyit, hogy ne warezolja le senki az alkalmazást.

jan 20

Nem AppStore!

By admin iphone fejlesztés Hozzászólások kikapcsolva

Fejlesztünk, fejlesztünk, mármint nem mi, hanem ők. Újdonságok jönnek, volt pár nap az elmúlt héten amikor jóformán semmi sem jelent meg a szifonra, persze mi tudtuk ez csak ideiglenes állapot. Első körben megemlíteném a Nike+ Projectet.

A Nike+ Project tulajdonképpen egy futáshoz való segítség, ami a 3GS-ben alapból benne van, illetve az újabb itouchokban is, de a régi 2G/3G/1gtouch-ot egyáltalán nem támogatja.

Olyan szinten nem támogatja, hogy ha veszek egy Nike Sensor-t és egy chip-et, az megy a régi iPoddal, de 3G-vel nem. Nem igazán értem ennek mi értelme, hogy az Apple nem engedélyezi. Ha megveszed hozzá az összes felszerelést, akkor is ki írja a telefon, hogy nem megy. Nos erre lassan megoldás születik, SŐT már van megoldás.

Mymojo kolléga nem kis dolgot vitt véghez, sikerült használhatóvá tenni a Nike+ Sensort egy iPhone 3G-n!

Nos, ez még nem egy Cydia csomag, de aki kedvet érez hozzáfoghat és tesztelheti a megoldást, remélem ezek után az Apple is elgondolkozik, hogy egy firmware-be belerakja, és nem kell majd hackelni hozzá.

http://mymojo.ca/index.php/2009/12/31/weekend-project-nike-and-iphone-3g-part-1/

A másik dolog ami nem rég jelent meg az iRemix.

Az iremix a cydiából telepíthető, és jelenleg egy 5 napos próbaverzió van, ezután $5. Az iRemix egyfajta ipod kiegészítés, ami az alap ipod-ba épül bele.

Kedvenceket hozhatunk létre, kereshetünk az ipodban, akár információkat is kérhetünk a dalról vagy a szerzőéről. Úgy gondolom ezek alap tulajdonságok, ha ezt tovább fejleszti mindenféle extra funkcióval, akkor egy kiváló kiegészítés lehet az iPodunkhoz.

preload preload preload