Acest sfat rapid vă va prezenta câteva dintre caracteristicile puternice disponibile pentru testarea și depanarea aplicațiilor cu Xcode și Simulatorul iOS.
De-a lungul anilor, dezvoltatorii s-au luptat cu depanarea aplicațiilor bazate pe CoreLocation în simulator din cauza lipsei suportului încorporat în Simulator pentru coordonatele personalizate. În timp ce proiectele precum FTLocationSimulator au fost un mare ajutor, mulți dintre noi au rămas în continuare invidiați de dezvoltatorii de Android care ar putea seta cu ușurință locația simulatorului Android utilizând instrumentele DDMS incluse.
Din fericire, acele zile de invidie liniștită au dispărut o vreme. Odată cu lansarea versiunii Xcode 4.2, iOS Developers au reușit să simuleze o locație implicită a dispozitivului pentru un număr de orașe din întreaga lume. Această abordare persistă și se poate face prin selectarea opțiunii "Editați schema":
Apoi navigați la fila "Opțiuni" a ferestrei pop-up:
Cu toate acestea, versiunile recente ale Simulatorului iOS au făcut chiar mai ușor schimbarea locației simulate, iar acum puteți realiza acest lucru la timpul de execuție.
După ce ați lansat Simulatorul, selectați Debug> Locație va produce următoarele opțiuni de meniu:
După cum puteți vedea, acum puteți seta cu ușurință coordonatele proprii utilizând opțiunea "Locație personalizată":
Desigur, acest lucru necesită cunoașterea exactă a coordonatelor exactă ale locației pe care doriți să o simulați, și nu doar adresa stradală. Procesul de generare a coordonatelor de latitudine și longitudine de la o adresă este denumit geocodificare și există o serie de site-uri web gratuite și aplicații iOS care vor genera coordonate de la o adresă stradală pentru dvs. Aplicația gratuită Geocode iOS App Ceva, precum și site-ul geocoder.us, merită menționate, iar acest mashup pentru geocoder este o modalitate rapidă și ușoară de a trage coordonatele direct din Hărți Google.
Simulatorul vine de asemenea cu un număr de locații și căi predefinite pe care le puteți utiliza pentru testarea propriilor aplicații. O scurtă descriere a fiecăruia este furnizată mai jos.
Selectarea "Apple" din meniul Locație va seta locația curentă la Apple HQ la 1 Buclă Infinită, Cupertino, CA. Pentru utilizatorii versiunilor anterioare de Xcode, veți recunoaște acest lucru ca singura locație inițial acceptată de Simulator.
Dacă selectați opțiunea "City Bicycle Ride", cadrul CoreLocation va începe să genereze coordonate care urmează o cale prestabilită aproape de Apple HQ. Opțiunea pentru biciclete va provoca actualizări cu o viteză de aproximativ 5 - 7 metri pe secundă.
Opțiunea "City Run" este la fel ca și setarea "City Bicycle Ride", cu excepția faptului că au loc actualizări cu o setare a vitezei de urmărire de aproximativ 3-4 metri pe secundă.
Opțiunea "Freeway Drive" diferă de cele două anterioare, atât pe calea urmată, cât și pe viteza în metri pe secundă. Calea se deplasează de-a lungul autostrăzii Junipero Serra chiar la nord de Apple HQ, iar viteza în general pare să fie între 20 - 35 de metri pe secundă.
Teoretic, această opțiune ar trebui să genereze coordonate legate de locațiile Apple Store. Cu toate acestea, cu iOS 6.0 Simulator și Xcode 4.5, această opțiune pare să fie defectuoasă. În experiența mea de testare a acestui lucru, coordonatele par a începe întotdeauna în jurul valorii de aproximativ 33.7718 N, 112.9031 W, și apoi să crească treptat atât în citirile de Nord și Vest, mutând locația curentă pe o cale diagoală spre nicăieri. Am prezentat acest lucru ca un raport de eroare la Apple, deci dacă alții se confruntă cu aceeași problemă, sperăm că va fi rezolvată în curând!
Deoarece aplicația Hărți Apple poate rula în simulator, testarea oricărora dintre opțiunile de mai sus este ușor. Doar lansați simulatorul iOS ca în mod normal, setați locația simulată și apoi lansați aplicația Hărți.
Cu kitul iOS 6 SDK puteți rula acum aplicații care utilizează Hărți direct în simulator!
O altă caracteristică excelentă a simulatorului iOS este capacitatea de a plasa animații în mișcare lentă cu Debug> Togglează animații lente opțiune de meniu.
Acest lucru poate fi extrem de util atunci când încercați să creați o animație personalizată UIKit și trebuie să vă asigurați că fiecare cadru arată exact.
Poate că o utilizare mai practică a acestei caracteristici este de a încetini animațiile care apar atunci când rotiți dispozitivul pentru a lustrui animațiile de schimbare a orientării (consultați Sesiunea 517 din WWDC 2012 pentru mai multe informații despre modul în care puteți polona animațiile de orientare).
debug opțiunea de meniu oferă, de asemenea, o abilitate incredibil de utilă de a vizualiza culorile în timp real:
Puteți utiliza aceste opțiuni pentru a identifica vizual straturile amestecate, imaginile copiate, imaginile nealiniate și afișările redate în afara ecranului.
Aceasta este o caracteristică utilă pentru depanarea propriilor aplicații și poate fi, de asemenea, vizibilă pentru examinarea aplicațiilor implicite de pe Simulator. În următoarea imagine se afișează aplicația Hărți și aplicația Passbook cu opțiunea "Color Blended Layers" selectată:
În timp ce nimic nu va înlocui experiența de testare a aplicațiilor pe hardware real, simulatorul a parcurs un drum lung în ultimii ani cu emulația evenimentului real. De fapt, unele evenimente, cum ar fi schimbarea unei bare de stare "în apel" sau generarea de avertismente de memorie, pot fi mai ușor de depanat în simulator decât cu un dispozitiv real.
O privire la Hardware meniul va dezvălui următoarele opțiuni de eveniment:
Cele mai multe dintre acestea sunt auto-explicative, dar câteva merită notă suplimentară.
Opțiunea "Simulare hardware tastatură" este în principal pentru depanarea aplicațiilor iPad în cazul în care utilizatorul este probabil să aibă o tastatură fizică conectat prin Bluetooth sau conectorul de andocare. Testarea cu opțiunea de tastatură hardware ar trebui să fie o parte importantă a testării beta a aplicațiilor iPad.
Opțiunea "TV out" vă permite să simulați conexiunile VGA / HDMI creând o fereastră nouă care poate avea o rezoluție de 640x480 sau chiar de 1920x1080 (adică 1080p).
Cea mai ușoară modalitate de a adăuga fotografii la Simulatorul iOS este pur și simplu să le trageți și să le aruncați individual din fereastra Finder OS X pe fereastra Simulator.
Cu toate acestea, dacă trebuie să adăugați multe fotografii pentru testare, acest proces devine rapid ineficient. Când trebuie să adăugați o mulțime de imagini dintr-o dată, vă recomandăm să scrieți o aplicație simplă iOS care să poată rula prin lista de fotografii și să adauge fiecare imagine în Biblioteca foto cu UIImageWriteToSavedPhotosAlbum
funcţie. Pentru a vedea cum se face acest lucru, aruncăm o privire la pasul 6 din aplicația Build a Photo with GPUImage tutorial.
O altă abordare ar fi adăugarea directă a fișierelor imagine la sistemul de fișiere Simulator, dar pașii pentru realizarea acestora par să se schimbe cu fiecare nouă versiune de iOS. Construirea propriului dvs. importator ar putea fi o abordare mai fiabilă pe termen lung (știți despre o modalitate mai bună de a realiza acest lucru? Lasă un comentariu mai jos!).
Pentru propriile mele aplicații iOS, întotdeauna încerc să implementez atât versiunea curentă a iOS, cât și o versiune anterioară. Cu toate acestea, în mod implicit, Xcode include doar un Simulator pentru versiunea curentă de iOS. Din fericire, există o metodă simplă pentru a obține Simulatorul pentru versiunea precedentă de iOS.
Cu Xcode deschis, selectați Xcode> Preferințe din meniu, apoi navigați la fila "Descărcări". De aici veți avea opțiunea de a instala simulatoarele iOS anterioare, precum și pachetul de instrumente pentru linia de comandă. Vă recomandăm să instalați toate cele trei opțiuni afișate:
După finalizarea instalării, veți putea selecta simulatoarele iOS 5.0 / 5.1 atunci când construiți și executați aplicațiile.
Ce sfaturi sau trucuri aveți pentru a lucra cu Simulatorul iOS? Lasă-ți părerea în secțiunea de comentarii de mai jos!