jeudi 16 décembre 2010

Confidentialitatea terminalelor mobile cu Tor

Tor este un proiect ce ajuta la protejarea datelor personale din iPhone (si nu numai) in momentul navigarii in Internet. Se incearca evitarea sistemelor de analiza a traficului ce sunt o forma de supraveghere a retelei ce ameninta libertatea personala si confidentialitatea, confidentialitatea afacerilor si a relatiilor inter-umane si securitatea statelor. Tor are grija de starea sanatatii comunicaţiilor unui utilizator prin utilizarea unei reţele distribuite de relee conduse de voluntari din întreaga lume. El împiedică ca cineva strain sa "priveasca" conexiunea de Internet a utilizatorului astfel el sa nu poata vedea ce site-uri au fost vizitate şi in acelasi timp impiedica site-urile care au fost vizitate sa nu identifice locaţia fizica a clientului.

samedi 4 décembre 2010

iPhone va avea un radio incorporat si o harta interactiva a statiilor radio

Conform site-ului Patentlyapple.com urmatoarea generatie de iPhone va avea un tuner radio si o harta interactiva une se vor putea selectiona statiile de emise-radio. Vor fi frecvente FM, AM dar si radio satelit. Viitorul iPhone radio va capta statii din retelele satelitare Sirius sau XM.

mercredi 1 décembre 2010

iOS4.2 are in componenta tehnologia NCFD

Noul sistem de operare Apple iOS4.2 are in componenta tehnologia NCFD (Network Controlled Fast Dormancy) sau Hibernare Rapida Controlata de Retea. Aceasta tehnologie de hibernare rapida functioneaza cu echipamentele de retea produse de Nokia. Orice terminal iPhone sau iPad şi reţeaua de teleconunicatii formeaza un sistem care optimizeaza consumul de energie pe comunicatie. Deoarece smartphone-uri nu sunt încă suficient de inteligente pentru a prezice când utilizatorul va avea nevoie de o conexiune radio, ele trec într-o stare inactiva atunci când nu sunt utilizate şi apoi se "trezesc" si se reconecteaza in functie de cerinte. Acest procedeu de "trezire" are nevoie de timp, creează trame mici de biţi ce congestioneaza inutil reteaua şi uzeaza foarte mult bateria telefonului. Practic, avand o multitudine de aplicatii ce utilizeaza serviciile de retea, cum ar fi E-Mail, fluxuri RSS, MMS, un sistem iPhone/iPad lucreaza parctic "in continuu". Rapida hibernare ajuta, acţionând ca o stare intermediara: una cu mai puţine semnalizari şi reconectari mai rapide. Acest lucru înseamnă că software-ul iPhone-ului sau iPad-ului poate lucra cu echipamentele retelelor celulare pentru a găsi legatura de comunicatii cu cea mai mica congestie din punctul de vedere al semnalizarilor.
In final, aceasta tehnologie permite iPhone pentru a rula mai eficient in reteaua de telecomunicatii şi de a economisi energie pe tot parcursul zilei.

jeudi 25 novembre 2010

Zvonuri despre iOS4.3

Apple a lansat cateva zvonuri ca in luna Decembrie a acestui an se va lansa iOS versiunea 4.3. Cam repede fata de iOS4.2, care a intampinat o sumedenie de probleme. Aceasta noua versiune de iOS 4.3 va include mecanisme de accesare a ziarelor online dar pe bani. Adica, Rupert Murdoch si Steve Jobs vor lansa un model de afacere asemanator cu cel iTunes. Vom cumpara ziare prin intermediul iTunes.
Aceasta noua versiune de iOS se va focaliza in special pentru iPad-uri.

Video proiector pentru iPhone

AAXA Technologies lanseaza o noua versiune a unui video proiector laser, L1v2 Laser Pico Projector. Este compatibil cu perifericele iOS si este propus la un pret de 449 de dolari americani. Pentru un acest pret, destul de piparat, utilizatorul dispune de o imagine 800x600 pixeli satisfacator de clara.

Echipamentul are o baterie cu o autonomie de 1h30. Un port USB ii permite sa se conecteze si cu chei USB. Are 20 de lumeni intensitatesi poate afisa o imagine de 1,27 m diametru, intr-o semi obscuritate.
Pentru cei mai stransi la buzunar exista Pico-proiectorul Samsung SP-H03 care costa numai 249 de euro si are aceleasi performate.

vendredi 19 novembre 2010

iPhone 5 va putea utiliza tehnologia Mac NFC

Tehnologia NFC (Near Field Communication) permite schimbul de informatii intre doua echipamente la o distanta mai mica ce 10 centimetrii. Aceasta tehnologie nu inlocuieste Bluetooth ci vine ca o completare a lui.

Subventionarea iPhone in Europa poate lua sfarsit datorita noii tehnologii SIM integrat

Apple studiaza in momentul de fata posibilitatea integrarii in echipamentele sale de carduri SIM preinstalate. Aceste carduri SIM integrate vor permite utilizatorilor de iPhone sau iPad sa aleaga operatorul de date si voce dintr-un meniu special al iOS. Astfel se abandoneza metoda prin care operatorii blocau iPhone-ul in reteaua lor. Ziarul Financial Times dezvaluie ca unii operatori de telefoane ce distribuie iPhone sunt furiosi pe acest studiu a Apple si sunt determinati sa stopeze colaborarea cu Apple. Apple a inceput consultarile si cu fabricantul de carduri SIM, Gemalto.
Operatorii de telecomunicatii simt că Apple incearca sa-i elimine din schema, prin aceasta posibilitate de a oferi clientilor optiunea de a alege orice operator de telecomunicatii, dupa dorinta. Pentru cei nefamiliarizaţi, utilizatorii de iPhone sunt niste clienti ce au o experienţă unica in utilizarea unui telefon mobil. Apple are in principal controlul deplin asupra aparatului iPhone. Ei fac de hardware, software, şi ei sunt cei care depaneaza telefonul. Nu multe alte companii de smartphone-uri şi companii de servicii de telefonie au o relaţie similară cu clientii. Singurul lucru pe care operatorii il fac este să gestioneze şi sa configureze aparatul clientului.
Operatorii din Europa, cum ar fi Vodafone, France Telecom, TMobile, Telefonica, sunt ingrijorati de aceasta tehnologie de a integra SIM-ul in telefon. Tehnologie ce va lasa alegerea operatorilor la indemana utilizatorului.
Cardul SIM este un cip minuscul intalnit frecvent in dispozitivele GSM cu conexiune la o retea celulara. El păstrează informaţiile despre clienţi şi are rolul de a activa caracteristicile telefoanelor celulare şi de date. Un inalt oficial anonim de la un operator de telecomunicatii european trage un semnal de alarma despre un potenţial conflict cu Apple legat de aceasta optiune a lor de integrare de carduri SIM in viitoarele iPhone-uri.
Aceeasi idee vine si din partea lui Google pentru Nexus One. Totusi Goolge a abandonat rapid ideea datorita modelului economic cu Android.

iOS 4.2 GM se lasa asteptat

O noua versiune beta de iOS 4.2 GM a fost livrata ieri seara : 4.2.1 GM Seed. In timp ce 9To5Mac alimenta rumorile aparitiei lui iOS 4.2, cei de la Apple au pereferat o noua versiune beta, care corecteaza un bug ce afecteaza gestiunea multi-proces a VoIP. Daca utilizatorul raspunde la un apel VoIP primit de o aplicatie a carui proces este rezident in sistem, soneria telefonului continua sa functioneze pe durata apelului. Cei de la Line 2, o aplicatie care utilizeaza VoIP, au descoperit acet bug. Dar oare este singurul...?

samedi 13 novembre 2010

O a doua versiune iOS 4.2 GM

Apple propune programatorilor sai o a doua versiune de iOS4.2 seria 8C134b fata de cea precedenta 8C134. S-a corectat problema de conexiune WiFi de la unii utilizatori de iPad dar si initierea unor drepturi de acces pentru componentele aplicatiei AirPrint. Se observa ca iOS4.2 are 551MB.

lundi 8 novembre 2010

Greenpois0n

Greenpois0n este un program multi-platforma (adica ruleaza pe Windows, Mac si PC) care jailbreak aparate ca iPhone, iPod touch, si iPad. Exploateaza falia de securitate SHA din sistemul de operare. Este foarte simplu de manipulat si are o interfata grafica prietenoasa. Este dezvoltat de cativa entuziasti numiti Chronic Dev Team.

jeudi 4 novembre 2010

Un API pentru MIDI in iOS4.2

Un API de gestiune si control a MIDI, numit CoreMIDI este disponibil cu ocazia noului sistem de operare iOS4.2. Cu acest API cei din industria muzicala vor utiliza cu usurinta, in special, iPad-ul. De metionat ca framework-ul CoreAudio din sistemul MacOSX este utilizat in diverse aplicatii din lumea artistica. Utilizatorii cu noul API, vor putea conecta iPad-ul la instrumente muzicale ce au interfete MIDI. Un exemplu in acest caz este o interfata/adaptor produsa de Sonoma WireWorks.

In curand iOS4.2 Golden Master

O versiune noua de iOS 4.2 a fost livrata aceasta saptamana programatorilor Apple. Particularitatea acestei versiuni este ca a fost denumita GM (Golden Master). Numarul versiunii fiind 8C134. Ea poate rula pe iPad, iPhone4, iPhone3GS, iPhone3G, iPod touch generatiile 2,3 si 4.
AirPlay si AirPrint fac parte din pachet. In acelasi timp functiile de control din interfata au fost si ele inbunatatite. Spre exemplu, in bara multi-proces, un buton va permite de a controla luminozitatea ecranului, a intensitatii sunetului, de a porni AirPlay si de a bloca orientarea ecranului aparatului.
O alta schimbare este panoul MobileMe care permite utilizarea unui cont AppleID in plus fata de adresa utilizata pentru MobileMe. O optiune care poate fi utilizata ulterior pentru blocarea utilizarii unor aplicatii....?
Pentru iPad aduce ca noutate posibilitatea de Multi-tasking. Dupa cum se stie iPhone 4 cu iOS4.0 avea asa ceva, deja.
Apple informeaza programatorii ca pot sa compileze codurile si trimite spre validare aplicatiile pentru ca acestea sa fie disponibile incepand de duminica 7 Noiembrie 2010.
Pentru a instala iOS4.2GM beta este nevoie de iTunes 10.1.

Alarmele repetitive (periodice) afectate de schimbarea orei vara/iarna

Foarte multi utilizatori au avut surpriza de a constata un comportament ciudat al aplicatiei Clock.app datorat schimbarii orei vara/iarna. În unele regiuni, la scurt timp înainte sau după schimbarea orei de vară (DST), alarmele recurente (periodice), create in aplicatia Clock.app, nu functionau corect. Mai precis pentru cei cu sistemul de operare iOS4.1, alarmele recurente se declansau mai devreme sau mai tarziu decat erau programate.
Un corectiv pentru aceasta aplicatie a fost publicat pe 3 Noiembrie 2010, pe site-ul apple.com.

dimanche 5 septembre 2010

Pe piata americana Apple iPhone incepe sa piarda teren

Dupa ultimele analize ale companiei Quantcast, publicate vinerea trecuta, Apple iPhone ar avea 56% din piata celor care utilizeaza Internet mobil, fata de 70% cat era anul trecut.
Se pare ca Android a crescut in acest an. El a reusit sa castige din piata 10% fata de anul trecut, anul acesta avand 25% din piata, la sfarsitul lunii August 2010.
Research In Motion (RIM) a avut o evolutie constanta intre anul trecut si acest an. Apple iPhone pierde in continuare teren, ceea ce nu este deloc surprinzator. Foarte multi producatori de smartphone-uri sau inderptat catre Android. Numarul celor care produc echipamente cu Android este de ordinul a doi digiti fata de Apple. Deci este inimaginabil ca Apple sa-si pastreze o mare parte din piata celor ce utilizeaza Internet-ul mobil. Sa nu uitam, ca in aceasta perioada Windows Mobile lanseaza un nou OS pentru terminalele mobile.

mardi 11 mai 2010

Arhitectura iPhone OS

Sistemul de operare al echipamentului iPhone este construit pe o structura UNIX BSD. Nucleul/Kernel sistemului de operare Darwin iPhone este un micro nucleu/kernel bazat pe XNU (X is Not Unix). El este si un hibrid al micro-nucleului MACH cu componente din BSD. XNU este un nucleu/kernel de sistem de operare ce a fost achizitionat de Apple si dezvoltat pentru realizarea sistemului de operare Mac OS X. Astfel Apple se lansea în lumea softului liber, avand un sistem de operare Darwin.
XNU are in componenta cod dezvoltat pe arhitectura legendara MACH. Aceasta a fost creata in cadrul unui proiect de cercetare de la Universitatea Carnegie Mellon la mijlocul anilor 1980. Aceasta arhitectura provine la randul ei de la sistemul de operare Accent, de asemenea, dezvoltat la CMU. Primele versiuni de MACH au avut nuclee/kernel-e monolitice, cu o mare parte din codul nucleului/kernel-ului BSD. MACH 3.0 a fost prima implementare a unui micro-nucleu.
Nucleul/kerne-lul sistemului de operare Mac OS X, numit si XNU, este compus din trei elemente: MACH, BDS si I/O-Kit. Nucleul iPhone pastreaza cele trei componente dar nu este acelasi (ceea ce este si normal) cu un nucleu/kernel Mac OS X 10.x.x.

MACH

MACH numeste spatiul de adresse "tasks", si un task poate contine zero sau mai multe threads. La iPhone exista un singur task, cel principal, al aplicatiei si mai multe threads-uri.

BSD

Partea BSD a nucleului/kerne-lului XNU implementeaza procese UNIX peste task-urile MACH, semnalizari UNIX peste exceptiile MACH si IPC (Inter Process Communication) MACH. Sunt implementate aici si semanticile sistemului de fisiere UNIX cum ar fi cele legate de retea TCP/IP. Componenta VFS (Virtual File System) permite cuplarea sistemului de fisiere BSD. Infrastructura /dev se cupleaza direct in I/O Kit. BSD exporta toate tipurile de semantici prin interfata apelurilor system, "syscall". Spre exemplu acestea pot fi :"open()" si "fork(). Aceste semantici trebuie sa fie compatibile ca la orice sistem de operare UNIX/BSD/POSIX.
Fiind practic doua nuclee/kerne-luli in XNU (MACH cu mesajele sale ce trec prin API si BSD cu POSIX API) exista doua tipuri de apeluri sistem/syscalls. In timp ce ambele utilizeaza singurul punct de intrare int 0x80/sysenter/sc, apelurile sistem cu numere id negative vor fi rutate spre MACH, pe cand cele pozitive spre BSD.

lundi 10 mai 2010

Jailbreak si Unlock

Odata cu iesirea pe piata a iPod touch si apoi a iPhone a inceput sa circule un nou cuvant Jailbreak. Jailbreaking este un proces care permite atat pentru utilizatorii iPod Touch cat si pentru utilizatorii iPhone de a rula coduri neoficiale pe dispozitivele lor ocolind mecanismul oficial de distribuţie Apple, App Store. Odată realizat procesul de jailbroken, utilizatorii iPhone pot descărca mai multe aplicaţii, ce nu erau disponibile anterior prin intermediul App Store, prin intermediul altor aplicatii de instalare neoficiale cum ar fi Cydia, App Rock, Ice şi Installer.
Jailbreaking este diferit de deblocarea cartelei SIM (Unlock), care este procesul prin care un dispozitiv mobil devine compatibil cu reţelele de telefonie pentru care nu avea licenţe speciale pentru a fi utilizat in interiorul lor.
La lansarea iPhone OS 2.0, un grup de hackeri numit iPhone Dev Team (http://blog.iphone-dev.org/) a creat un soft de jailbreaking numit Pwnage Tool, care utilizează o interfaţă grafică.
În ianuarie 2009, iPhone Dev Team a început activitatea lucrand la iPod Touch 2G Jailbreak. “redsn0w lite” a fost numele produsului care permitea operatia de Jailbreak pentru iPod Touch 2G. In aprilie 2009, a fost furnizata o versiune ameliorata redsn0w 0.1.
Dupa trei luni de la lansarea iPhone OS 3.0, Dev Team furnizeaza doua softuri PwnageTool 3.0 si redsn0w 0.7.2, cu care utilizatorii iPhone 3G si iPod Touch pot realiza operatia de Jailbreake utilizand Windows dar si Mac OS X.
La data de 9 septembrie 2009, Apple a lansat iPhone OS 3.1. Noul OS dezactiva capacitatea ca aparatul iPhone sa fie jailbreak. Dev Team a lansat un jailbreak pentru toate dispozitivele (cu excepţia iPod Touch 3-a generaţie), numit Pwnage Tool 3.1-3.
La data de 11-10-2009, George Hotz, cunoscut sub pseudonimul "geohot", a lansat utilitarul "blackra1n", care permite tuturor sa faca procedura de jailbreaking pentru iPhone si iPod touch ce au OS 3.1.2.
La data de 02 noiembrie 2009 Hotz lansat o versiune si mai nouă a utilitarului blackra1n "RC3". Este o actualizare care poate să realizeze procedurade tip jailbreak pentru iPhone 3G şi iPhone 3GS. Aceasta este realizata pentru versiunile dispozitivelor iPhone cel mai recent fabricate. Acestea au ROM-ul de boot actualizat. Apple corectat falia de securitate "24kpwn" exploatata de jailbreaks-urile anterioare. Hotz a lansat, de asemenea, "blacksn0w", un utlitar pentru deblocarea iPhone, (Base Band 5.11.07). Pentru OS 3.1.3 cu Base Band ICE2-05.12.01 nu exista inca utilitar care sa deblocheze iPhone-ul. Exista un utilitar Fuzzyband care reuseste sa retrogradeze versiunile 3.1.3 cu Base Band 05.12.01 dar cu bootloader 05.08.

Utilizarea iPhone ca o cheie USB de memorie

Phone Disk este o aplicatie Mac ce permite utilizarea unui iPhone ca un hdd extern. Aplicatia poate fi gasita la http://www.macroplant.com/phonedisk/ . Din pacate nu este disponibila si pentru Windows.Editorul programului,Macroplant, propune aceasta aplicatie gratuit pana in Septembrie 2010. Se observa mai jos structura de fisiere iPhone. Spre exemplu, daca dorim sa transportam poze, ca sa nu cream un nou director, poutem utiliza cel din /private/var/mobile/Media/ .Pentru fisiere .mp3 putem utilza /private/var/mobile/Media/iTunes_Control/ . In final, pentru alte documente se poate utiliza /private/var/mobile/Media/Downloads. Nu este recomandabil sa creati noi directoare decat in home directory a utilizatorilor "mobile" si "root".

Instalarea aplicatiilor pe iPhone

Exista doua tipuri de moduri de a instala o aplicatie pe telefonul iPhone. Primul mod este cel prin Apple Store. Mai intai cei care dezvolta aplicatii iPhone trebuie sa se inregistreze pe site-ul: http://developer.apple.com Exista mai multe tipuri de conturi pentru dezvoltatorii de aplicatii iPhone.Se plateste o suma de bani pe an in functie de tipul contului. Spre exemplu, pentru un cont personal de dezvoltator de aplicatii se plateste $99 pe an iar pentru un cont de dezvoltator de aplicatii pentru firme $299 pe an. Exista si conturi gratis pentru dezvoltatori/programatori de aplicatii si pentru studenti. Apple propune mai multe "iPhone Developer Program" programe ce pot fi accesate din diferitele tipuri de conturi mentionate mai sus. In figura de mai jos se observa serviciile care sunt furnizate dezvoltatorilor/programatorilor de aplicatii iPhone prin diferitele programe de lucru.Se observa ca pentru contul de $99 exista doua programe "iPhone Developer Program". Chiar si pentru conturile gratis, toata lumea are posibilitatea recuperarii SDK-ului pentru iPhone si Mac. Serviciul Pre-Release Software&Tools creeaza o facilitate de a permite dezvoltatorilor/programatorilor de a include in procesul lor de lucru ultimele tehnologii Apple si de a testa compatibilitatea acestora cu mediul lor de dezvoltare. Cei de la Apple sunt interesati de bug-uri si de rapoartele de functionare.
Exista o optiune de a creea de echipe de dezvoltatori/programatori ce este inclusa numai pentru University, Enterprise si Company iPhone Developer Program. Forumurile pentru programatorii Apple sunt accesibile pentru toate profilurile de conturi, cu o exceptie cel de baza-gratuit, care nu are aceasta optiune. Pentru cei ce dau bani, Apple le ofera cate doua interventii tehnice pe an din partea Apple Support. In rest, se poate face cerere si se factureaza.Aplicatiile pot fi distribuite in trei moduri: Ad Hoc, In-House si App Store. Aplicatiile distribuite de App Store sunt pentru publicul larg si pot fi accesate si instalate cu aplicatia App Store de pe iPhone. Poti fi gratuite, (Shareware/Freeware) sau contra-cost. Toata lumea poate avea acces la distributia lor. Pentru a trimite spre publicare o aplicatie catre App Store, programatorul utilizeaza un web-tool numit iTunes Connect. Dezvoltatorul/programatorul va folosi profilul sau (app Store Distribution Provisioning Profile). Cum arata si figura de mai jos, fiecare propunere de aplicatie are un formular care trebuie completat. Trebuie inscrise, numele companiei persoana ce l-a creat, URL-ul companiei, URL-ul unde poate fi upload-ata aplicatia, tipul de licenta, categoria unde va fi catalogata aplicatia, descierea aplicatiei, un abstract al descrierii aplicatiei. Dupa ce se completeaza toate aceste informatii se apasa pe Submit. Mai nou, programatorul va primi un tichet de confirmare. Dupa o saptamana, cand aplicatia a fost validata de Apple, se va introduce si pretul plus datele comerciale (cont bancar creditor, adresa firma, etc). In figura de mai jos este afisat exemplul unei cereri pentru a deveni membru in cele doua tipuri de conturi.Aplicatiile distribuite Ad Hoc sunt pentru un public restrans, pentru asa numitii beta-testeri selectionati de catre producatorul aplicatiei. Aplicatiile sunt instalate individual pe iPhone, utilizandu-se UDI (Unique Device Identifier) iPhone-ului. Pentru a afla si trimite UID-ul pe email la cel care vrea sa va lase sa testati aplicatia dvs., se poate folosi UDID Ad Hoc Helper a Erica Sadun ce este free si gratis pe App Store. Programatorul navigheaza in sectiunea "Provisioning" din Program Portal de la Apple si selectioneaza butonul radio 'Ad Hoc'. Se introduce numele profilului versiunii de distributie AdHoc (AdHoc Distribution Provisionong Profile). Se confirma creearea unui certificat iPhone de distributie si afisarea lui. Apoi se selectioneaza App ID pentru aplicatie sau o suita de ID-uril pentru a fi distribuite. Se selecteaza pana la 100 de UDID-uri unde aplicatia poate functiona. Si se apasa pe butonul Submit. Se descarca fisierul .mobileprovisioning click-and pe numele profilului versiunii de distributie. Se incarca in Xcode sau iTunes pentru a-l instala.
Aplicatiile distribuite In-House sunt pentru companiile ce vor sa dezvolte aplicatii pentru angajatii lor. Pentru a beneficia un astfel de program de distributie a aplicatiilor iPhone sunt necesare multe date despre firma. Aplicatiile nu mai trebuie sa fie validate de Apple Store. Ca si la AdHoc Distribution procesul este de a obtine certificatele de dezvoltare/programare si de a atribui echipamentele la o echipa de dezvoltare/programare (development team). Apoi, crearea profilurilor de distributie a versiunii dezvoltate si instalarea lor in Xcode sau iTunes. Aceste 'Enterprise Distribution Provisioning Profile' sunt create via Developer Program portal (sunt fisiere .mobileprovision).In concluzie, respectand modelul de instalare Apple al aplicatiilor, exista doua moduri de a instala in iPhone acestea : utilizand App Store din iPhone (cumparand sau incercand aplicatiile) si utilizand iTunes cu Xcode (aplicatii legate de firme).Al doilea tip de mod de a instala o aplicatie in iPhone este legat de necesitatea de a "introduce" si alte modele de a "procura" aplicatii. Acest lucru poarta numele de Jailbreake. Deci, pentru discutia urmatoare consideram ca echipamentul iPhone este jailbreake-at. In acest caz folosim Cydia, instalam openSSH si Installous. Aplicatiile sunt fisiere cu extensia .ipa. Installous il gasim la adresa http://cydia.hackulo.us Aceasta adresa poate fi introdusa din meniul Manage->Edit->Add. A se vedea figura urmatoare.In meniul Search se cauta aplicatia Installuos si se instaleaza. Sa presupunem ca avem pe PC sau Mac un fisier aplicatie xyz.ipa. Acesta va putea fi transferat prin SFTP, gratie openSSH care l-am instalat cu ajutorul Cydia.Fisierele cu extensia .ipa se vor instala in directorul /private/var/mobile/Documents/Installous/Downloads . Se va executa de pe iPhone Installous si se va apasa pe meniul Downloads.Dupa cum se vede in figura de mai sus aplicatiile ce au fost transferate ai aparut pe ecran. Se va apasa pe aplicatia dorita si Installous va face instalarea aplicatiei dorite.
In concluzie, exista si alte modalitati de a instala aplicatiile .ipa, dar aceasta este foarte simpla. Pentru cei ce sunt Unix, pot observa ca iPhone este o masina Linux FreeBSD modificata. In acest caz sa se controleze drepturile de acces ale aplicatiei. In general un chmod -775 este necesar.
In acest articol am prezentat doua tipuri de instalare a aplicatiilor pe iPhone. Cele doua instalari provin din cele doua lumi ale iPhone: lumea iTunes si lumea Cydia.

lundi 3 mai 2010

Butoane de alunecare, campuri de texte si buton simplu

In acest exercitiu se va arata cum se poate folosi clasa UISlider. Scopul lui este de a intelege cum se citeste o valoare ce variaza in functie de un buton de alunecare si de a introduce o noua valoare dintr-un camp de text(UITextField) apasand un buton (UIButton).
Mai intai se va crea un nou proiect in XCode cu numele butonalun si va vi de tipul View-Based Application.

dimanche 2 mai 2010

Prima aplicatie iPhone (de incalzire)

Desigur, pentru cei ce vor sa invete pentru prima oara sa programeze pentru iPhone,se recomanda traditionala aplicatie "Hello World!". Acest exercitiu are ca obiectiv familiarizarea cu cateva instructiuni din libmajul C-Object. Se presupune ca mediul de dezvoltare XCode cu SDK este deja instalat pe Mac.
Mai intai si intai, trebuie creat un proiect nou. Pentru aceasta, lansam XCode. Apoi, Select File > New Project sau Apple Key + Shift + N pentru a lansa fereastra NewProject. Aceasta fereastra, cum apare in figura de mai jos, are doua zone.In partea stanga se selecteaza zona de Applications pentru iPhone OS. Se observa ca in partea dreapta vor aparea o serie de iconite. Se va selecta cea cu View-based Application (Aplicatie cu afisaj de baza). Apoi se va introduce numele proiectului si zona unde va fi inregistrat pe harddisk.Numele proiectului va fi helloworld. Dupa crearea lui, o fereastra se va afisa ca cea de mai jos.
Se observa ca au aparut patru fisiere in pachetul Classes. Este tipic C-Oject care imbina limbajul C cu notiunile de POO.

helloworldAppDelegate.h
helloworldAppDelegate.m
helloworldViewController.h
helloworldViewController.m

Fisierul antetului delegat contine o referinta la obiectul UIWindow (linia 14) ce controleaza toate interactiunile utilizatorului cu aceasta aplicatie si gestioneaza toate componentele unei interfete. Deasemenea contine o referinta la helloworldViewController (lina 15) care gestioneaza afisarea programului nostru.
In fisierul sursa aplicatiei delegate (helloworldAppDelegate.m) se afla o metoda auto-generata: applicationDidFinishLaunching. Aceasta este invocata cand aplicatia este incarcata/lansata. In aceasta metoda se adauga obiectele helloworldViewController la UIWindows si se vor face vizibile;

linia 22 [window addSubview:viewController.view];
linia 23 [window makeKeyAndVisible];

Interfata utilizatorului iPhone SDK respecta arhitectura modelului de proiectare MVC (Model View Controller). Astfel fiecarui afisaj (view) ii corespunde un obiect View Controller Object. XCode a creat un afisaj (view) automat legat la helloworldViewController. Este definit in fisierul helloworldViewCotroller.xib.Pentru a utiliza evenimentele generate de afisaj trebuie sa se creeze as numitele controloare (controls)/interpretoare. De notat ca aceste controloare se pot realiza utilizand aplicatia Interface Bulider.
Ca sa adaugam controloarele si interpretoarele de evenimente deschidem fisierul helloworldViewController.h si intre acoladele definitiei iterfetei helloworldViewController se vor adauga urmatoarele linii:

IBOutlet UIButton *button;
IBOutlet UILabel *label;
IBOutlet UIView *myView;
In acest fel s-a definit un afisaj, un buton si o eticheta-text pentru a fi vizualizate pe ecranul iPhone-ului. Dupa ce s-au definit aceste variabile, trebuie adaugat cum se vor interpreta actiunile diferitelor evenimente pentru buton, afisaj sau eticheta-text. Deci, dupa acolade se vor adauga urmatoarele linii:

linia 11 -(IBAction)handleEvent:(id)sender;
linia 12 @property (nonatomic,retain) UIButton *button;
linia 13 @property (nonatomic,retain) UILabel *label;
linia 14 @property (nonatomic,retain) UIView *myView;

Mai intai se adauga o sinteza a celor trei elemente UI pentru a crea metode de tip getter si setter (a se vedea programarea orientata pe obiecte). Urmatoarele linii vor fi introduse dupa linia 11 @implementation helloworldViewController in fisierul helloworldViewController.m .

@synthesize button;
@synthesize label;
@synthesize myView;

In acest moment se va cauta in fisier "Implement loadView if you want to create a view hierarchy programmatically." si se va de-comenta metoda loadView ce urmeaza acestei linii. Se va adauga urmatoarele linii ale metodei pentru a crea butonul si eticheta-text.
linia 1 - (void)loadViewlinia 2 {
linia 3 // creaza si configureaza afisajul
linia 4 CGRect cgRct = CGRectMake(0.0, 0.0, 480, 320); //defineste marimea si pozitia afisajului
linia 5 myView = [[UIView alloc] initWithFrame:cgRct]; //initializeaza afisajul
linia 6 myView.autoresizesSubviews = YES; //permite sa adapteze marimea elementelor in afisaj
linia 7 self.view = myView;

linia 8 // creaza un UIButton (UIButtonTypeRoundedRect) si setarile de rigoare
linia 9 button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
linia 10 button.frame = CGRectMake(100, 100, 100, 50); // marimea si pozitia butonului
linia 11 [button setTitle:@"Add" forState:UIControlStateNormal];
linia 12 button.backgroundColor = [UIColor clearColor];
linia 13 button.adjustsImageWhenHighlighted = YES;

linia 14 //adauga descriptorul actiunii si seteaza clasa curenta - tinta
linia 15 [button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];

linia 16 //Afisare buton
linia 17 [self.view addSubview:button];

linia 18 //crearea etichetei
linia 19 cgRct = CGRectMake(100, 170, 100, 50); //define size and position of label
linia 20 label = [[UILabel alloc] initWithFrame:cgRct];linia 21 label.text = @"Hello World";

linia 22 //afisarea etichetei
linia 23 [self.view addSubview:label];
linia 24 }

Se compileaza si se ruleaza click-and pe Build and Go.

samedi 10 avril 2010

iPhone vs Android

Astazi, piata SmartPhone-urilor este dominata de RIM(Research In Motion) Blackberry, Apple iPhone, Google Android si ceilalti producatori de terminale (Nokia, LG, Samsung, etc.) mobile ce contin Symbian.
Conform analizelor facute pe ultimii doi ani, desi Android se afla pe locul 5 in utilizare, cei de la Google isi propun sa urce in clasament (Figura 2). Se observa ca piata Smartphone-urilor este inca dominata de Symbian si RIM. Mai mult de 90% din companii ce au publicat aplicatiile lor au fost pe Apple App Store. Deci, modelul economic iPhone este mult mai interesant pentru editorii de programe Smartphone. Inconvenientul este ca se utilizeaza in acest caz o singura platforma ce ruleaza aceste aplicatii. In schimb Android si cei de la RIM pregatesc strategii pentru modelele lor economice de tip multi-platforme. Pentru a intra pe piata si a supravietui este necesar sa se selecteze bine modelul de magazin de aplicatii si tipul de tehnologie pentru platforme. Android are un avantaj, ca si Linux, de a fi OpenSource. Sunt publicate pe Internet sursele sistemului de operare, a middleware-ului si ale aplicatiilor cheie. Chiar daca SO care merge pe iPhone este un SO proprietar Apple, daca ne uitam amanuntit in interiorul lui, acesta este un Linux pentru sisteme imbarcate. Pentru a dezvolta si accede la o parte din cod, Apple propune iPhone Developer Program ce costa intre $99 si $299 pe an. Cei care adera la acest program pot vinde sau/si furniza liber aplicatii utilizand App Store. Aplicatiile sunt validate de Apple inainte de a fi disponibile in App Store. In schimb pentru editorii de programe in Android pot publica pe Android Market, aplicatiile lor. Pentru a publica aplicatiile pe Android Market este necesara o inregistrare si o taxa de $25. In momentul de fata numai editorii de aplicatii din sapte tari pot vinde aplicatii.In ambele cazuri, utilizatorii isi pot alege aplicatiile utilizand App Store respectiv Android Market. Spre deosebire de Android, iPhone poate descarca aplicatiile direct de pe App Store sau utilizand iTunes de pe un PC/Mac si apoi sicronizandu-l cu echipamentul.

Arhitectura celor doua platforme


Ambele platforme se bazeaza pe Linux. Filozofia celor de la Android este "full multitasking", pe cand cea a celor de la Apple este"single 3rd party application running". Din aceasta cauza nivelele arhitecturale difera. Imaginea urmatoare afiseaza majoritatea componentelor unui sistem de operare de tip Android.


Android este livrat cu un set de aplicatii standard cum ar fi clientul de email, SMS, calendar, harti, navigator, contacte si altele. Toate aplicatiile sunt scrise utilizand limbajul de programare Java.
Programatorii au acces la schema API-urilor utilizate de aplicatiile standard. Arhitectura aplicatiilor este conceputa in a simplifica reutilizarea componentelor de cod.
Android include un set de librarii C/C++ utilizate de diferite componente ale sistemului. Mai exista si un set de librarii ce sunt utilizate de masina virtuala Dalvik.
Kernel-ul este specific fiecarui echipament, deoarece contine drivere care difera de la un contructor la altul. Kernel-ul furnizeaza servicii cum ar fi gestiunea memoriei, gestiunea proceselor, stiva de retea, servicii de securitate si gestiunea perifericelor prin drivere. Kernel-ul se comporta ca un nivel abstract intre hardware si restul stivei de software.
La iPhone arhitectura software este tributara Cocoa. Cocoa este structurata in librarii, API-uri si software-uri ce formeaza un nivel de programare pentru toate aplicatiile Mac OS X.
Pentru iPhone exista o varianta Cocoa numita Cocoa Touch. In cazul iPhone multe functii cum ar fi gestionarea de ferestre, drag and drop, gestiunea mouse-ului, nu pot fi utilizate. Astfel versiunea Cocoa Touch este mult mai legera decat cea utilizata in Mac OS X. Nivelul Cocoa Touch se ocupa de tratarea si controlul evenimentelor tip multi-touch, creeaza alerte, utilizeaza selectorul de contacte/imagini (People/Image Picker), gestioneaza controlere de obiecte, afiseaza continuturile web (prin navigatorul Safari), utilizeaza/lucreaza cu senzorii iPhone (accelerometru, GPS, magnetometru).Nivelul Media contine interfete aplicative de programare (API) de tip C (limbajul C) cum ar fi Open GL ES, Core Audio, Quartz(2D), PDF, JPG, PNG, TIFF, Video Playback, Audio Mixing, Audio Recording, Core Animation.
Sistemul fundamental de servicii al SO este furnizat pentru toate aplicatiile de niv elul Core Services. Chiar daca nu sunt utilizate in mod direct foarte multe parti din aplicatii se bazeaza pe aceste servicii.Core OS este chiar kernel-ul. La acest nivel sunt interfete C ce furnizeaza obiecte abstracte pentru a lucra cu protocoale de retea, de a comunica cu accesoriile hardware ale iPhone-ului, de a garanta securitatea datelor.

Arhitectura unei aplicatii


Arhitectura unei aplicatii difera intre iPhone si Android. Aplicatiile in Android sunt scrise in Java iar cele in iPhone sunt scrise in Object-C. La sistemul Android fiecare aplicatie ruleaza propriul ei proces Linux. Fiecare proces are propria lui masina virtuala, astfel incat codul poate rula izolat fata de celelalte coduri ale altor aplicatii. Daca privim aplicatia ca o cutie neagra, in Android nu exista o singura intrare (nu exista functia main() spre exemplu). Mai curand, aplicatiile de tip Android au componente esentiale ce sistemul le poate instantia si rula la cerere. Exista patru componente ce pot fi instantiate de catre aplicatii: cele legate de activitatea aplicatiei (activity), serviciile oferite (service), furnizarea continutului de date (content providers) si difuzarea de informatii receptorilor (broadcast receivers).
Spre exemplu, daca una din aplicatii are nevoie pentru a afisa o lista de imagini de un meniu de defilare si o alta aplicatie contine un tip de meniu de defilare si il furnizeaza pentru celelalte aplicatii, atunci, se poate prelua acesta fara a crea un altul nou. Aplicatia nu include codul celeilalte aplicatii cau o legatura spre el. Mai degraba aplicatia lanseaza acea parte de cod a celeilalte aplicatii cand va avea nevoie. Putem spune ca v-a "imprumuta" pentru o perioada scurta de timp si spatiu memorie meniul de defilare, de fiecare data cand este nevoie.
Android este mult mai flexibil cand este vorba de modelele de proiectare. Modele de proiectare cum ar fi MVC (Model-View-Controller) sau Null pot fi aplicate in creearea de aplicatii.

La sistemul iPhone aplicatiile ruleaza secvential. Nu exista aplicatii multi-proces si nu pot rula mai multe aplicatii in paralel ca in Android. Daca aplicatia este in curs de derulare ea poate fi intrerupta de primirea unui apel telefonic, SMS sau eveniment din calendar. Aceste aplicatii care pot intrerupe o alta aplicatie in curs de derulare sunt aplicatii critice. Cand utilizatorul basculeaza spre o alta aplicatie cea din urma inceteaza sa mai ruleze (nu ruleaza in background). La iPhone, aplicatiile au functia main(). Cand o aplicatie este pornita de catre un utilizator, pe toata perioada sa de functionare pana la exit, este gestionata prin cadrul UIKit ce contine toate functiile cheie ale unei aplicatii. UIKit furnizeaza obiectele cheie pentru a rula o aplicatie si a coordona interactiunile dintre intrarile utilizatorului si afisarea continuturilor pe ecran. Proiectarea cadrului UIKit include cateva "design patterns"-uri care le gasim si la aplicatiile Cocoa traditionale. Cel mai utilizat model de proiectare (design pattern) este cel de tip MVC (Model-View-Controller). Portiunea model gestioneaza datele aplicatiei si starea lor. Portiunea "view" prezinta modelul utilizatorului printr-o interfata apropriata. Portiunea "controller" se comporta ca o legatura intre model si "view si facilizeaza "updates"-urile intre cele doua portiuni. Mai exista un model de proiectare prin delegare. Acest mod de proiectare modifica obiectele complexe fara a fi sub-clasate.

Ciclul de viata al unei aplicatii

Ciclul de viata al unei aplicatii este constituit din secvente de evenimente ce apar pe durata intre lansarii aplicatiei si terminarea ei. La iPhone, utilizatorul lanseaza aplicatia prin apasarea cu degetul a icoanei aflate pe ecran (Home screen). La foarte putin timp dupa aceea, sistemul afiseaza imagini de tranzitie si procedeaza la lansarea aplicatiei apeland functia main(). Din acest moment, cea mai mare parte a procedurii de initializare este preluata de UIKit, care incarca interfata aplicatiei utilizatorului si pregateste bu cla de evenimente. In timpul rularii buclei de evenimente, UIKit coordoneaza evenimentele furnizate te obiectele personalizate si raspunde comenzilor emise de aplicatie.


Această diagramă din figura de mai sus, arată succesiunea de evenimente care au loc din momentul în care începe aplicatia si până la momentul în care se închide. La initializare si terminare a aplicatiei, UIKit emite mesaje specifice obiectelor delegate aplicatiei pentru a se informa despre starea lor. In timpul buclei de evenimente, UIKit distribuie evenimente catre operatorii personalizati de evenimente ai aplicatiei.
Cum am vazut deja, in Android, aplicatiile ruleaza ca procese Linux separate. Astfel ciclul de viata al unei aplicatii este raportat la ciclul de viata a procesului. Ciclul de viat a al unui proces-aplicatie este gestionat de sistem in functie de starea memoriei aparatului. In cazul unei congestii de memorie, sistemul Android elimina procesele mai putin importante. Gradul de importanta a unui proces este decis in functie de starea proceselor componente. Exista mai multe tipuri de procese: procese de prim-plan, procese vizi bile, procese de servicii, procese de fundal si procese goale. In figura de mai jos sunt infatisate cateva metode apelate in timpul ciclului de viata de o activitate. Acestea sunt: onCreate, onStart, Process-specific events, onStop, onDestroy.
Urmand aceeasi logica pentru alte cicluri de viata ale aplicatiilor, o aplicatie Android este creata, procesele sunt pornite, evenimentele sunt eliminate, procesele sunt oprite si aplicatia este distrusa. Totusi sunt cateva diferente de la aplicatie la aplicatie.

Interfata grafica a utilizatorului


Interfata grafica a lui iPhone este compusa dintr-un set de ecrane proiectate pentru tehnologia touch. Elementele GUI a iPhone include vederi si mecanisme de control. Vederile furnizeaza practic intrerfata grafica, culorile, formele. Mecanismele de control au grija sa raspunda la actiunile utilzatorilor (adica la apasarea ecranului spre exemplu). Anatomia unui mecanism de control a interfetei grafice este prezentat in figura de mai jos.


Interfata grafica a Android este compusa si ea din mai multe ecrane. Aceste ecrane sunt dispuse intr-o ierarhie, ca de altfel si obectele ce le contin. Fata de interfata iPhone, cea Android are o multime de widgets-uri, obiecte grafice ce pot construi un ecran/fereastra.

Utilitare pentru dezvoltare de aplicatii


Pentru dezvoltare de aplicatii pe iPhone, Apple furnizeaza un utilitar numit Xcode. Xcode este un mediu de dezvoltare integrat (IDE), care oferă toate instrumentele de care este nevoie pentru a crea şi de a gestiona proiectele de aplicatii iPhone şi fişierele sursă. Xcode poate construi codul într-un executabil, şi a-l rula şi depana, fie în simulatorul de iPhone, fie direct pe un dispozitiv.


Pentru a crea o noua aplicatie iPhone, trebuie sa se inceapa mai intai prin crearea unui nou proiect în Xcode. Un proiect gestionează toate informaţiile asociate cu aplicaţia iPhone, adica, fişierele sursă, construirea de setări, regulile necesare pentru a asambla toate informatiile legate de aplicatie. Centrul fiecarui proiect Xcode este fereastra proiectului, se arată în figura 1. Această fereastră oferă acces rapid la toate elementele cheie ale candidaturii dumneavoastră. Grupuri şi lista Fişiere este locul unde să vă gestionaţi fişiere în proiectul dumneavoastră, inclusiv fişierele sursă şi construi obiective pe care sunt create din aceste fişiere sursă. Bara de instrumente oferă acces la instrumente şi comenzi utilizate în mod obişnuit, în timp ce panoul de detalii oferă un spaţiu de configurabil pentru a lucra la proiectul dumneavoastra. Alte aspecte ale fereastra proiectului va oferi informaţii contextuale despre proiect.

mercredi 13 janvier 2010

Arhitectura hardware iPhone

Arhitectura unui SmartPhone iPhone contine urmatoarele module: modulul de aplicatii, modulul de telecommunicatii, modulul video, modulul pentru economie energie/baterie, modulul audio.
Pentru a invata sa dezvoltam aplicatii pentru acest terminal mobil, mai intai aruncam o privire in interiorul modulului de aplicatii. Procesorul de aplicatii utilizat frecvent pentru modelele 3Gs este ARM 1176jzf-s. Acest procesor integreaza tehnologii ca TrustZone, Thumb sau Jazelle. Pentru modelele mai vechi, 3G ,Apple a utilizat si un alt tip de procesor ARM, Samsung S5L8900B02.
Tehnologia TrustZone furnizeaza o serie de elemente de securitate ce sunt caracterisitici esentiale ale sistemului iPhone OS : gestiunea cheilor de securitate si/sau mecanisme de autentificare. Aceste elemente de securitate sunt necesare utilizatorului iPhone pentru a proteja serviciile utilizate de el cum ar fi tranzactiile bancare, servicii on-line multimedia, etc. Sa nu uitam caci acest iPhone este un predecesor al iPod. El este strans legat de modelul economic multimedia iTunes.
Tehnologia Jazelle
ARM accelereaza si executa o masina Java Virtual Machine (JVM) utilizand arhitectura ARM. Aceasta solutie tehnologica ofera performante mari pentru coduri Java si ofera o combinatie optima intre economie de baterie si realizarea de aplicatii cu costuri mici. Codul Java de octeti este convertit in instructiuni ale procesorului ARM. Procesorul poate exdecuta aproximativ 120 de instructiuni Java de octeti si generaza o exceptie pentru restul codului. Astfel executia codului de octeti poate fi emulata. Din pacate, ARM nu face publice specificatiile acestei tehnologii. Numai cei cu licente pot avea informatii suplimentare despre Jazelle.
Tehnologia Thumb permite cresterea densitatii de cod instructiuni program cu circa 30% fata de un cod de instructiuni ARM clasic. Crearea de coduri-instructiuni cu dimensiuni mici si optimizate minimizeaza consumul bateriei si utilizarea de capacitati mari de memorie.
Arhitectura acestui procesor include un set de instructiuni ARM pe 32 de biti, un set de instructiuni Thumb pe 16 biti si un set de instructiuni Java pe 8 biti. Procesorul ARM 1176jzf-s are in total 40 de registre. 33 de registre de uz general de cate 32 de biti si 7 registre dedicate pe 32 de biti.
Memoria de stocare a datelor este diferita de la un model la altul. Primele iPhone 3G aveau memorie de 8GB NAND Flash Memory Toshiba TH58NVG6D1D. Urmatoarele modele 3G si 3Gs aveau memorie 16GB MLC NAND Flash Samsung K9MDG08U5M. Modelele cu 32 GB utilizeaza memorii Toshiba.
Acest terminal mobil este dotat cu cativa senzori: un sezor ce detecteaza miscarea/acceleratia pe cele trei axe (accelerometru - LIS331DL STMicroelectronics), un senzor magnetometru (compas digital) ce detecteaza campul magnetic (Asahi Kasei AKM8973), camera de 3.1 megapixeli (Micron2020), un senzor ce detecteaza proximitatea (senzor IR Aviso IS-3GS015), un senzor ce detecteaza intensitatea luminii ambientale, sistemul GPS (PMB2525 Infineon). Exista un senzor ce detecteaza umiditatea dar care nu poate fi accesat de catre aplicatii.
Pentru interfata grafica, iPhone 3Gs utilizeaza trei circuite: controlerul pentru ecranul tactil (Broadcom BCM5974), driverul de linii al ecranului tactil (TI CD3239) si interfata de afisare (National Semiconductor LM2512). Procesorul ce gestioneaza interfata grafica cu toate aceste circuite este
PowerVR MBX Lite 3D. In functie de versiuni Apple poate schimba acest procesor.
Mai exista o serie de procesoare utilizate in partea de telecomunicatii. Pentru transmisiile GSM/EDGE, W-CDMA se utilizeaza ca procesor PMB8878 sau S-GOLD3 de la Infineon. Acest procesor impreuna cu memoria multichip Intel (Intel, NOR Flash Memory 16MB) formeaza un sistem independent de calcul ce ruleaza in interiorul iPhone-ului. Este separat de sistemul de calcul principal (procesorul ARM) care gestioneaza aplicatii (cum ar fi email-ul sau hartile google). Cele doua sisteme de calcul interactioneaza intre ele prin mai multe bus-uri de communicatii.
Partea de transmisiuni RF este preluata de transceiver-ul RF PMB695 Infineon si de amplificatorul pentru cele patru benzi de transmisie, SKY77340 Skyworks. Mai exista si trei circuite TriQuint (TQM616035, TQM666032, TQM67031) care sunt amplificatoare de putere pentru W-CDMA.
Modulul audio este gestionat de catre
Wolfson Microelectronics WM6180C. Acesta are o tehnologie de eliminare totala a zgomotului ce filtreaza sunetele scoase aproape de urechea ascultatorului. Pana acum producatorii de terminale mobile sunt capabili de minimizeze zgomotul caii de transmisie pentru un telefon mobil. Astfel zgomotul de fond nu este transmis la apelat. Totusi nu se putea rezolva problema nivelului de zgomot la apelat. Circuitul WM6180C rezolva si aceasta problema, astfel cel apelat daca este in masina, discoteca, poate auzi clar vocea apelantului.
Modulul de economie energie/baterie este format din mai multe circuite. Aici includem si circuitele care controleaza alimentarea cu energie a iPhone. LTC4088-2 Linear Technology este un circuit ce controleaza incarcarea bateriei prin legatura USB. Procesorul SMP3i (Infineon) gestioneaza cantitatea de enregie consumata de etajul de telecommunicatii. Procesorul NXP Semiconductor PCF50633 controleaza energia consumata pentru etajul aplicatif (audio, video, senzori, procesor ARM).

samedi 9 janvier 2010

Mac4Ever

Pentru cine doreste noutati in timp real despre lumea Mac poate sa se aboneze la acest site : http://www.mac4ever.com sau sa recupereze aplicatia de pe App Store. Din pacate este in limba franceza si nu in engleza. Deci, pentru cititorii francofoni.