Cum se configurează smartphone-uri și PC-uri. Portal informativ

Programare iOS de la zero. Rapid

Stimați domni, cu acest articol deschid o nouă secțiune dedicată programării pentru iPhone, unde vom atinge probleme care sunt interesante atât pentru începători, cât și pentru neinițiați, precum și pentru guru ObjC, care, sperăm, nu vor da greș. să ne corectăm greșelile cu comentariile lor. Lecția de astăzi are doar scop informativ.

Obiectivele lecției

1.Unde să începeți programarea pentru iPhone.
2.Kit de dezvoltare gentleman.
3.Tema pentru acasă.

Introducere

Cu toții vedem succesul sălbatic al AppStore-ului; secțiunile de aplicații cresc ca ciupercile după ploaie. Editorii tuturor portalurilor de informații despre iPhone-uri și-au pierdut picioarele și, fără să doarmă cu ochiul, scriu, scriu și scriu recenzii. Și programele continuă să apară și să apară și să apară. Este timpul să ne implicăm în acest proces și să luăm bucata noastră din plăcinta festivă.

Unde sa încep? Întrebarea este mai degrabă retorică. Desigur, dacă tu, dragă cititor, ești avocat sau, să zicem, constructor, îți va fi foarte greu să începi și cel mai probabil nu ar trebui să o faci în serios, pentru că, după cum mi se pare, este mai bine să faceți un lucru bine decât să faceți mai multe lucruri prost. Cu toate acestea, să nu excludem faptul că vrei să programezi pentru suflet, că acesta este noul tău hobby. Bună seara atunci. Totuși, dacă tu, dragul meu prieten, ai deja experiență în dezvoltarea de aplicații, indiferent de limbaj - C, Pascal, Assembly, Delphi sau în cele din urmă BASIC sau chiar Logo (era unul în manualul meu de informatică la începutul anilor 90), atunci cu siguranță ar trebui să-mi încerc mâna la aplicațiile iPhone.

Aici ajungem la răspunsul la întrebarea principală, de unde să începem. Începeți cu elementele de bază, nu trebuie să mergeți departe, vă voi oferi doar câteva link-uri care vă vor duce în cele din urmă „la Kiev”:

1. Pentru persoanele care, în general, nu sunt familiarizate cu limbajul C - începeți cu aceasta

2. Când programați pentru iPhone, veți avea nevoie de cunoștințe de OOP (programare orientată pe obiect). Nu este atât de dificil pe cât ar putea sugera numele; de ​​fapt, POO se bazează pe mai multe principii fundamentale, pe care, odată ce le înțelegi, poți crea cu ușurință capodopere. Citiți despre OOP.

3.Dacă cunoașteți elementele de bază ale C și OOP nu vă provoacă dificultăți, vi se recomandă totuși să citiți diferența dintre Objective-C folosit în MacOS (și, respectiv, iPhone) de C și C++ tradițional. Acest lucru este descris foarte bine.

4. Veți găsi, de asemenea, răspunsuri la multe întrebări pe forumul nostru în.

Setul de programator iPhone al unui domn, precum geanta de călătorie a unui călător, este destul de rar și, în principiu, stadiul inițial nu necesită nimic în afară de natural și scump. Iată tot ce avem nevoie pentru a începe:

b) Sistem de operare MacOS Leopard versiunea 10.5.5.

c) Setul de instrumente de pe site-ul Apple, așa-numitul SDK, kit de dezvoltare. Acest pachet conține tot ce este necesar pentru dezvoltare. Îl poți descărca de aici: http://developer.apple.com/iphone, după înregistrare.
d) De asemenea, avem mare nevoie de răbdare și perseverență. Fără asta, din păcate, nu există nicio cale.

Mulți oameni pot renunța imediat după punctul A. Vă spun sincer, înainte de a întâlni iPhone-ul, nu am interacționat niciodată cu Apple și am scris primul meu program pentru iPhone fără să am măcar un MacBook. Sunt un utilizator pasionat de Windows, care și-a început viața de adult cu Windows 3.1 și a trăit până să văd Windows Vista. Am fost captivat de comoditatea MacOS și nu regret deloc această achiziție, deși încă îmi petrec partea leului din timpul meu pe computere cu OS de la Bill Gates.

Pentru cei care nu sunt convinși de aceste cuvinte, mai există o cale de ieșire. De la trecerea computerelor de la Apple la o platformă cu procesor Intel, a devenit posibil (desigur, nu fără dans și tamburine) să instalați MacOS pe un computer PC obișnuit, mărturisesc că am făcut asta chiar eu. În lume, un astfel de sistem de operare este cunoscut sub diferite nume: Kaliway, Hackint0sh etc. Pe toate serviciile de găzduire a fișierelor puteți găsi cu ușurință imaginea de care aveți nevoie și, descarcând-o, puteți instala Makos pe computer. Și chiar dacă doriți, lansați-l în fereastra VMWare. Nu vă voi descrie cum să faceți toate acestea, nu este potrivit să promovați metode de ocolire a licenței pe Mac-uri, dar îmi voi lua osteneala să vă avertizez împotriva unor greșeli, evitând care să nu vă pierdeți interesul pentru programare chiar și la etapa inițială de pregătire a instrumentelor:

1. Când instalați, utilizați ÎNTOTDEAUNA un hard disk separat conectat ca master la magistrala zero IDE sau SATA.
2. Nu încercați să instalați Leopard de sub VMWare - am verificat de multe ori - este imposibil, deși sunt oameni în rețea care susțin că au făcut asta.

3. După instalarea Makos, puteți încerca să-l rulați de pe Windows în WWW, dacă aveți suficiente resurse. De asemenea, o problemă separată sunt driverele. Cel de rețea cel mai probabil te va ajunge din urmă pe cont propriu, videoclipul va fi 800x600 - prostește VGA. Dar ce să faci cu cardul tău 8800GTX, adaptorul Wi-Fi și dinte albastru, apoi în funcție de norocul tău (de cele mai multe ori).

4. Indiferent de câte imagini am întâlnit - toate aveau versiunea 10.5.1 sau 10.5.2, dar vom avea nevoie de cel puțin 10.5.5 pentru a funcționa. Îmi actualizez Mac-ul prin Internet, dar cu Hackintosh, la actualizarea la 10.5.5, acest truc nu va funcționa - prinde mărul, a fost și el testat de multe ori. Există un algoritm pe Internet despre cum să actualizați hackin-ul la 10.5.5, menținând în același timp funcționalitatea sistemului - căutați-l, îl veți găsi.

Și așa, instrumentele sunt descrise, să trecem la teme.

Temele noastre vor fi simple, dar foarte importante; fără a le finaliza, toate celelalte lecții vor deveni inutile pentru tine. text HTML, iar munca mea nu va merita deloc. Și așa, dragi programatori iPhone, în timp ce scriu Lecția nr. 2, ar trebui să:

A) Obțineți un Mac sau instalați un Hackintosh (doar în scop informativ)

B) Actualizați-l la versiunea 10.5.5.

C) Descărcați și instalați SDK de la Apple. Descărcați o grămadă de exemple din rețea, încercați să le compilați pe toate. În general, începeți să studiați la întâmplare (cea mai comună metodă în țara noastră, uimitoare prin eficiență).

Scrie recenzii.
Rashid (alias rashn).

site-ul web Stimați domni, cu acest articol deschid o nouă secțiune dedicată programării pentru iPhone, unde vom atinge probleme care sunt interesante atât pentru începători, cât și pentru neinițiați, precum și pentru guru ObjC, care, sperăm, nu vor da greș. să ne corectăm greșelile cu comentariile lor. Lecția de astăzi are doar scop informativ. Obiectivele lecției 1. De unde să începeți programarea pentru iPhone. 2.Kit de dezvoltare gentleman. 3.Făcut în casă...

Profesia de programator este una dintre cele mai prestigioase și solicitate, acesta este un fapt. În industria de dezvoltare software au propriile lor nișe. Dintre acestea, cea cu cea mai rapidă creștere și, în același timp, cea mai bine plătită, este dezvoltarea de software pentru dispozitive mobile. După cum știți, s-a întâmplat ca, lăsându-și concurenții mult în urmă, trei rivali constante au luat conducerea. Trucul este că unul dintre acești trei este liderul de necontestat, în timp ce cineva întotdeauna ajunge din urmă.

Pe segmentul tehnologiei mobile, Apple este, fără îndoială, lider cu smartphone-ul său iPhone. La o prezentare desfășurată în septembrie, compania din Cupertino a demonstrat cea de-a 7-a versiune dispozitiv mobil. Odată cu acesta, Apple a introdus o nouă versiune a mobilului său sistem de operare iOS 10. Acum, acesta este cel mai important sistem de operare din lume, ca și predecesorii săi. De aici rezultă că învățarea dezvoltării iOS este cea mai mare investiție profitabilă timp si bani.

Ecosistemul mere

Astăzi vom dezvolta o aplicație mobilă simplă pentru iOS. Desigur, un Mac nativ este cel mai potrivit pentru asta. Dar dacă sunteți un susținător Windows sau pur și simplu nu aveți un Mac, puteți instala sistemul de operare macOS sub o mașină virtuală din Windows. În vastitatea internetului, nu vă va fi dificil să găsiți unul special conceput pentru computer. versiunea macOS, numită popular Hackintosh. Simțiți-vă liber să îl instalați pe o mașină virtuală VMware, VirtualBox - alegerea dvs. Permiteți-mi să vă avertizez imediat că tastatura PC-ului nu are unele dintre tastele care se află pe tastatura Mac și multe dintre combinațiile lor nu pot fi apăsate în Hackintosh. Acest lucru strică destul de mult starea de spirit. În caz contrar, toate operațiunile descrise mai jos pot fi efectuate cu succes pe Hackintosh.

Cunoștințe necesare

Pentru a programa în general și pentru iOS în special, trebuie să știi destul de multe. Matematica și logica pot să nu fie necesare la început, dar vor fi solicitate mai târziu. Tehnologia modernă a eliminat necesitatea ca un programator să aibă o cunoaștere aprofundată a arhitecturii computerelor, dar este necesară înțelegerea mecanismelor de bază precum sistemele numerice, conversia acestora, viteza subrutinelor sau eficiența algoritmilor (O mare).

Pentru mai mult nivel inalt Un dezvoltator iOS trebuie să aibă cunoștințe profunde despre sistemul de operare macOS și iOS însuși. De asemenea, trebuie să stăpâniți limbajul de programare Apple. Cunoștințele Delphi, C++, C# sau VB.NET nu vă vor ajuta prea mult. Apple are propriul ecosistem cu propriile sale limbaje: Objective-C și Swift. Desigur, cunoștințele despre C++ nu au făcut niciodată rău nimănui; programele și inserțiile bazate pe acesta se găsesc peste tot, chiar și la Apple. Dar cel mai folosit prin definiție este Objective-C, pur și simplu pentru că a apărut mult mai devreme (la mijlocul anilor optzeci ai secolului trecut), în timp ce Swift cu doar doi ani în urmă (în 2014). Apple atribuie mari sperante pe Limba noua; limbaj nouși investește foarte mult în el. Objective-C este folosit pentru a susține software-ul vechi, iar cel nou este scris în Swift. Așa că e bine să le cunoști pe amândouă.

Pentru a nu pierde timpul, toate aceste limbaje de programare pot fi învățate sub supravegherea strictă a profesorilor de pe site.

Instrumente de dezvoltare

După cum știți, principalul instrument de dezvoltare pentru macOS și odată cu acesta iOS este mediul de programare Xcode. Include instrumente pentru crearea de aplicații pentru Mac, iPhone, iPad, Apple TV, Apple Watch. Toate platformele Apple. Xcode conține Interface Builder, un editor de cod care acceptă totul mijloace moderne lucrul cu codul. În plus, fără a părăsi Xcode, poți testa aplicația; dacă este dezvoltat pentru un dispozitiv extern, atunci poate fi rulat într-un emulator.

Sistemul include emulatori pentru toate dispozitivele, ale căror versiuni noi pot fi descărcate. În plus, Xcode conține instrumente grafice pentru analiza performanței aplicației, inclusiv instrumente pentru diagnosticarea încărcării CPU, a utilizării stocării (HDD, SDD etc.), a încărcării pe adaptor grafic(din partea OpenGL).

Pe 13 septembrie, a fost lansată o nouă versiune, foarte anticipată, a mediului de dezvoltare 8.0. Versiuni stabile poate fi descărcat gratuit din App Store. Alpha și beta-urile sunt distribuite prin abonament pentru dezvoltatori. A opta versiune include: o nouă versiune a limbajului Swift 3, un instrument de învățare pentru Swift Playground pentru iPad, o nouă versiune a Interface Builder, care a devenit mai rapidă și vă permite să vizualizați aspectul aplicației pe diferite platforme, fără a fi nevoie să implementați aplicația în sine pe simulator.

Xcode 8 poate fi folosit pentru a dezvolta aplicații pentru macOS Sierra, iOS 10, watchOS 3 și tvOS 10. Toate SDK-urile sunt disponibile. Noile versiuni ale sistemelor de operare au început să apară în mod constant imediat după Prezentări Apple, a avut loc la începutul lunii septembrie.

Limbajul Objective-C

Să ne amintim pe scurt informațiile de bază despre limbă. Objective-C este un limbaj de programare compilat orientat pe obiecte utilizat pentru scrierea aplicațiilor pentru sistemele Apple. Este un superset sau, cu alte cuvinte, un add-on la C, moștenind din acesta din urmă sintaxă, tipuri de date, metode de monitorizare a progresului execuției programului și adăugând la acesta capacitățile de programare orientată pe obiecte - o descriere a claselor si metode.

Ca și în C++, în Objective-C rolul central este jucat de obiecte, care sunt asociate cu patru paradigme: abstractizare, încapsulare, moștenire, polimorfism. C++ este un limbaj puternic tipizat, în timp ce Objective-C este slab tipizat sau are un sistem de tip de date dinamic. La fel ca Smalltalk, Objective-C trimite mesaje către obiecte. Aceasta este o oportunitate excepțională limbaje dinamice, deoarece tipul de obiecte este verificat la runtime, nu la compilare.

Descrierea limbajului Objective-C ocupă mai mult de un volum voluminos. Prin urmare, pentru a dobândi cunoștințe obiective, este convenabil să urmați cursul „”. O întreagă secțiune a cursului este dedicată acestei limbi.

Dezvoltare de aplicații iOS

Ca exemplu, vom dezvolta o aplicație foarte simplă. Să nu ne abatem de la tradiția sacră, să salutăm lumea. Totuși, ținând cont de faptul că noi aplicație grafică, îl vom diversifica puțin: vom adăuga un buton, la apăsare, vom afișa sau ascunde inscripția „Hello, World”.

Lansați Xcode, în fereastra care apare, selectați Creare proiect nou sau în meniul principal Fișier -> Nou -> Proiect. Următoarea fereastră vă va cere să selectați platforma țintă și tipul de aplicație.


În acest caz, ne interesează platforma iOS. Există șapte tipuri de aplicații din care puteți alege. Șase dintre ele sunt șabloane pentru aplicații tipice ale sistemului de operare iOS, conținând implicit un set diferit de componente. Al șaptelea tip este jocul.

Tipuri de aplicații

  • Șablonul Aplicație cu vizualizare unică este destinat aplicare simplă cu un singur ecran. Presetarea include o componentă View Controller, care vă permite să personalizați aspectul aplicației folosind designerul de formulare Interface Builder.
  • Master Detail Application creează o aplicație în care vedere la masă este afișată o colecție de obiecte. După selectarea uneia dintre ele, acestea sunt afișate Detalii despre acest obiect. Prima vedere este principala, a doua este detalierea.
  • Aplicația bazată pe pagină creează aplicații care au mai multe ecrane, cum ar fi paginile dintr-o carte. În consecință, cititoarele electronice sunt create din acest gol.
  • Aplicația cu file vă permite să creați aplicații în care fiecare ecran poate fi comutat în orice moment, adică fiecare ecran are propriul buton de activare, pe care este afișat titlul. Un exemplu este iTunes.
  • Jocul este folosit pentru a crea un șablon de joc. Există patru cadre din care puteți alege pentru a crea un joc: SpriteKit, SceneKit, OpenGL ES, Metal. Să le privim pe scurt.
    SpriteKit este un sistem pentru randarea 2D și animarea dreptunghiurilor texturate - sprites. La afișarea cadrelor, se utilizează o buclă standard, cadrul este afișat după ce a fost procesat tot conținutul scenei.
    SceneKit este un cadru de nivel înalt pentru redarea graficelor 3D fără OpenGL. Acceptă încărcarea, manipularea obiectelor 3D. Include: un motor fizic, un generator de particule și calea ușoară scripting.
    OpenGL ES este standardul industriei grafica pe computer. Vă permite să vizualizați scene 2D și 3D. Vă permite să descrieți conducta pentru o placă video: vârfurile sunt supuse transformării, sunt asamblate în primitive, care sunt rasterizate într-o imagine bidimensională și afișate pe ecran. Shaderele programabile pot fi incluse în conductă.
    Metal este un API de nivel scăzut care vă va permite să profitați la maximum de adaptorul dvs. video. API-urile depanate, împreună cu shaderele precompilate și multi-threadingul permit jocului tău să se ridice la vârf. nou nivel productivitate și calitate.
  • Aplicație pachet de autocolante - noul fel aplicații introduse în iOS 10 și Xcode 8. Este un set de imagini simple sau animate utilizate în iMessage nou. Nu necesită codificare pentru ao crea.
  • Aplicația iMessage este un nou tip de aplicație care a apărut în iOS 10 și Xcode 8. Vă permite să creați suplimente pentru iMessage, de exemplu pentru a cumpăra și descărca pachetul de stickere. De asemenea, puteți utiliza API-ul iMessage pentru a vă crea propriul analog al acestei aplicații, inclusiv redarea audio, video, utilizarea autocolantelor și multe altele.

Crearea primului proiect

Ca șablon pentru aplicația noastră, vom selecta Aplicația cu vizualizare unică. Deoarece nu vom dezvolta un program mare, fondurile oferite de această prevedere ne vor fi suficiente. Faceți clic pe Următorul. Pe pagina următoare a expertului, trebuie să introduceți un nume de proiect, de exemplu ShowLab. În lista derulantă Limbă, lăsați selectată limba implicită - Objective-C. Apoi, în lista derulantă Dispozitive, părăsiți selecția Universală. Aici stabiliți pentru ce dispozitiv (iPhone sau iPad) se creează aplicația. Clauza universală înseamnă pentru amândoi. Să debifăm casetele Include Unit Tests și Include UI Tests; nu avem nevoie de niciun test. Următorul. Selectați un folder pentru a salva proiectul. Acum faceți clic pe butonul Creați.

Ca rezultat, se va deschide o fereastră cu o listă cu toți parametrii aplicați proiectului. În această fereastră, puteți modifica parametrii setați anterior în asistent: orientare, dispozitiv țintă etc.


Mai întâi trebuie să creăm interfața aplicației. Pentru a face acest lucru, selectați fișierul Main.storyboard din lista din stânga cu un singur clic (dacă acest fișier nu este vizibil, extindeți conținutul folderului ShowLab). În partea dreaptă a listei, întreaga fereastră va fi ocupată de Interface Builder. Aspectul dispozitivului va fi afișat în centru. În colțul din dreapta jos al ferestrei există un panou de componente. Trageți componentele Etichetă și Buton de acolo pe aspect. Deasupra panoului de componente este o listă de proprietăți. Dacă nu îl aveți, faceți clic pe butonul Afișați inspectorul de atribute, situat sub titlul ferestrei din partea dreaptă a interfeței.

Selectați componenta Etichetă în aspect și configurați proprietatea Text: lăsați selecția Plain în lista derulantă, introduceți inscripția dorită în rândul de mai jos, în cazul nostru „Hello, World”. Dacă textul nu se încadrează în limitele etichetei, modificați-le trăgând mânerele de pe marginile componentei. Pentru a o centraliza pe orizontală, accesați pagina Size Inspector făcând clic pe butonul Show the Size Inspector (în partea dreaptă a Show the Attributes Inspector). Pe această pagină, din lista derulantă Aranjare, selectați Centrare orizontal în Container.

Acum alege Componenta butonului, schimbați proprietatea Text la eticheta dorită - Comutare. Îl puteți centra în același mod ca cel descris mai sus.

Crearea unei conexiuni între elementele grafice și cod

ÎN Studio vizual(sau Delphi) obiectul din cod este creat automat în momentul în care plasați o componentă vizuală pe formular. Acest lucru nu se întâmplă în Xcode, dar nu provoacă probleme.

Deschideți conținutul fișierului antet ViewController.h într-o fereastră separată făcând dublu clic pe acesta. Acest fișier conține o declarație a unei extensii a clasei UIViewController, marcată cu cuvântul cheie @interface. Această caracteristică a fost adăugată la cea de-a doua versiune a Objective-C. Acum faceți acest truc: mutați cursorul mouse-ului pe o componentă - o etichetă de text, țineți apăsat Tasta Ctrlși butonul stâng al mouse-ului. Mutați cursorul în fereastra cu codul (fișier ViewController.h), o linie albastră va urma cursorul. Eliberați mouse-ul și tasta în descrierea interfeței ViewController.

Va apărea fereastra de creare a Prizei.


Aceasta este o proprietate a unui obiect care se referă la un alt obiect (în acest caz, o componentă vizuală). Trebuie să introduceți numele obiectului Outlet, prin care veți accesa componenta vizuală, să fie lab. Apoi, se selectează tipul de obiect, acesta este selectat corect: UILabel.

Chiar mai jos în lista Stocare, selectați tipul de referință de obiect: slab sau puternic. Dacă alegeți puternic, atunci obiectul indicat de proprietate va exista atâta timp cât proprietatea indică spre el, caz în care nu va fi șters automat când nu mai este folosit. Pe de altă parte, atunci când o referință slabă este în vigoare, obiectul se poate autodistruge. Deci, selectați tipul de legătură slabă și faceți clic pe butonul Conectare. Ca rezultat, următoarea linie va fi adăugată la cod:

@proprietate (slab, neatomic) IBOutlet UILabel *lab;

Să ne asigurăm că Outlet este o proprietate.

Acum să creăm o priză pentru buton. Algoritmul rămâne același. Numai pentru proprietatea Nume trebuie să introduceți un alt nume, de exemplu, dar. Linia va fi adăugată la cod:

@proprietate (slab, neatomic) IBOutlet UIButton *dar;

Ca rezultat, avem două indicatoare către componente vizuale: laborator și, respectiv, o inscripție și un buton. Acum, folosind pointeri, putem manipula componentele din cod.

Apoi, trebuie să creați un handler de evenimente pentru clic pe buton. Pentru a face acest lucru, deschideți fișierul de implementare ViewController.m într-o fereastră separată. Exact în același mod în care ați tras linia în fișierul antet pentru a crea priza, de la buton, trageți linia în fișierul de implementare și plasați-o în paranteza de închidere a comenzii - @end. Va apărea o fereastră pentru crearea unui eveniment, similară cu fereastra pentru crearea unui priză. Vedeți diferența: o legătură către un obiect este creată în fișierul antet, o metodă este creată în fișierul de implementare.


Completați câmpul Nume, valoarea acestuia reprezintă numele proprietății - metodă. Lasă-l să fie onClick. Lăsați valoarea câmpului Tip ca implicită - id. În Objective-C, acest tip este strămoșul tuturor celorlalți. În lista derulantă Eveniment, este selectat implicit evenimentul Touch Up Inside, care apare atunci când indicatorul (mouse, deget...) este eliberat peste buton, adică etapa finală de apăsare a butonului. De asta avem nevoie. În lista Argumente vom lăsa valoarea implicită: Sender este obiectul care a trimis acest semnal, în cazul nostru va fi întotdeauna un buton. Faceți clic pe butonul Conectare. Ca urmare, următorul cod va fi adăugat:

- (IBAction)onClick:(id)sender ( )

Un minus la început înseamnă o metodă închisă (privată). Cuvânt cheie IBAction etichetează evenimentele (metodele) componentelor vizuale din Interface Builder.

Între parantezele comenzii vom scrie codul care se execută la apăsarea butonului:

Lab.hidden = !_lab.hidden;

În această linie de cod inversăm valoarea proprietății ascunse. Este de tip BOOL, care are două valori: YES - true și NO - false (oarecum neobișnuit pentru programatorii Windows, unde adevărat și fals).

Acordați atenție caracterului de subliniere dinaintea numelui obiectului - eticheta (_lab). Fără el, compilarea va eșua cu o eroare. Sublinierea este adăugată automat pentru obiectele conținute în alte obiecte; adică, în acest caz, obiectul de laborator este conținut în obiectul ViewController. Anterior, aceasta era o convenție folosită pentru a face distincția între obiectele declarate ca membri ai unei clase și obiectele locale. Și acum aceasta este o regulă strictă implementată în compilatorul de limbă.

Acum puteți compila aplicația și o puteți rula pe simulator. Am ales simulatorul pentru iPhone 7, inclus în Xcode 8. Butonul de compilare și rulare este un dreptunghi negru și se află în bara din partea de sus a interfeței.

După compilarea aplicației, lansarea simulatorului și încărcarea aplicației noastre, interfața acesteia va fi afișată pe ecranul simulatorului: inscripția „Hello, World” și butonul Switch. Dacă apăsați pe ultimul, inscripția va dispărea; dacă o apăsați din nou, va apărea din nou.

Am realizat o aplicație foarte simplă pentru a înțelege esența dezvoltării iOS. Puteți afla informații mai detaliate despre crearea aplicațiilor iOS în Objective-C din cursul prietenilor noștri de la GeekBrains „”. Cursul consacră două luni învățării acestei limbi. În prima lună - subiecte introductive, iar în a doua - codificare reală a aplicațiilor profesionale.

Limbă rapidă

În 2014, Apple a introdus un nou limbaj de programare - Swift. A devenit rapid cea mai discutată limbă și cea mai rapidă creștere din lume. Este fiabil, sigur, intuitiv limbaj clar pentru dezvoltarea de aplicații pentru sisteme de operare sisteme macOS, iOS, tvOS și watchOS pentru întreaga flotă de dispozitive Apple. Swift este un limbaj de programare eficient. Este mai ușor de învățat decât predecesorul său, Objective-C, iar Swift împrumută unele dintre cele mai bune idei ale sale. În același timp, dezvoltatorii au făcut limbile compatibile, adică un program poate conține cod atât în ​​Swift, cât și în Objective-C. Există miliarde de linii de cod și sute de mii de programe vechi scrise în Objective-C în lume, așa că suportul acestuia nu va fi cu siguranță abandonat.

La dezvoltarea Swift, scopul a fost de a crea cel mai convenabil limbaj de programare de sistem - rapid, sigur și expresiv.

Algoritmul din Swift este de 2,6 ori mai rapid decât același algoritm din Objective-C și de 8,4 ori mai rapid decât în ​​Python. Utilizarea Swift face ca procesul de dezvoltare a programului să fie mai flexibil și mai convenabil.

Datorită dezvoltării sale exponențiale, limbajul Swift a fost lansat comunității open source pe 3 decembrie 2015. În același timp, Apple își monitorizează cu strictețe dezvoltarea, organizând un comitet pentru dezvoltarea acesteia. Swift este acum disponibil nu numai pe sistemele Apple, ci și pe Linux. Toate instrumente suplimentare pentru lucrul cu limbajul, inclusiv un depanator, bibliotecă standard, manager de pachete, de asemenea gratuit și deschis.

Această limbă este viitorul. Puteți afla informații mai detaliate despre acesta din cursul menționat de la GeekBrains „”, în care o lună întreagă este dedicată studiului a acestei limbi programare.

Magazin de aplicații

Mai simplu spus, App Store este un magazin de conținut pentru întreaga gamă de dispozitive Apple. Aici puteți cumpăra jocuri și aplicații atât de la companii mari, cât și de la dezvoltatori independenți. Fiecare dezvoltator, indiferent în ce țară locuiește, își poate vinde sau distribui gratuit programele pe această platformă de distribuție digitală. Pentru a începe să faceți acest lucru, trebuie să vă înregistrați ca dezvoltator și să cumpărați o licență pentru a vă vinde aplicațiile. Aceasta este o taxă pentru serviciul furnizat și dezvoltarea App Store.

Rezultate

Am dezvoltat o aplicație simplă pentru sistemul de operare mobil iOS folosind sistemul de programare Xcode împreună cu limbajul Objective-C. Testat aplicare gata pe simulatorul iPhone 7. Am învățat cum să construim o interfață cu utilizatorul folosind Interface Builder, cum să asociem elemente grafice cu codul aplicației și cum să creăm handlere de evenimente. Ne-am familiarizat cu elementele de bază ale Objective-C. În plus, am atras atenția asupra promițătorului limbaj Swift, folosit pentru a dezvolta aplicații puternice și sigure pentru ecosistemul Apple.

Cu toate acestea, materialul studiat este doar începutul. Pentru a vă actualiza intens în direcția codării mobile și a dezvoltării aplicațiilor care se vând efectiv, vă recomandăm să urmați cursul „” de pe site-ul prietenilor noștri.

Acesta este un curs demn: dacă îl urmezi, cu siguranță nu îți vei pierde timpul. Începe cu două cursuri detaliate despre limbajul Java, urmate de învățarea programării de bază pentru sistemul de operare mobil sistem Android. Curs suplimentar despre bazele de date în general și Limbajul SQLîn special. Apoi un curs aprofundat despre dezvoltarea aplicațiilor profesionale Android. După aceasta, vectorul de studiu se va îndrepta către sistemele Apple: două cursuri detaliate despre limbajul Objective-C și un curs util despre Swift.


Prelegerile cursului sunt susținute de profesori profesioniști cu o vastă experiență în dezvoltarea de software. Dacă ceva nu este clar, puteți pune o întrebare fără întârziere. În general, învățarea pe GeekBrains este un proces live, puteți comunica, pune întrebări și ajuta cu răspunsuri. Pentru a testa cunoștințele dobândite, profesorii emit teme pentru acasă, care apoi este verificat. După finalizarea instruirii, veți avea un stagiu garantat într-o companie IT. Și atunci totul depinde de tine, dacă te arăți ca un specialist competent, vei fi invitat să lucrezi.

Proiect special cu firma

Swift este limbajul de programare robust și intuitiv al Apple pe care îl puteți folosi pentru a crea aplicații pentru iOS, Mac, Apple TV și Apple Watch. Oferă dezvoltatorilor o libertate creativă fără precedent. Datorită acestui simplu și limbaj convenabil Cu sursa deschisa Tot ce ai nevoie este o idee interesantă pentru a crea ceva incredibil.

Dezvoltatorii folosesc deja
caracteristici uimitoare ale Swift.

Swift este un limbaj de programare rapid, eficient, în timp real, care poate fi inserat cu ușurință în codul Objective-C pre-construit. Acum dezvoltatorii pot nu numai să scrie cod mai fiabil și mai sigur, ci și să economisească timp și să creeze aplicații cu capabilități avansate.

Aplicație grozavă în Swift. Ușurința de utilizare și capacitatea de răspuns în timp real este motivul pentru care VSCO a ales Swift pentru a crea o nouă versiune a aplicației foto iOS.

Aplicații excelente,
dezvoltat în limbajul Swift.

Din ce în ce mai mulți dezvoltatori încorporează codul Swift în aplicațiile lor. Și unii chiar creează aplicații complet noi în Swift.

Duolingo Khan
Ghid pentru cerul senin al Academiei

Procreează Kickstarter Eventbrite Hipmunk

Productivitatea este mai mare. Aplicațiile sunt mai bune.

Aplicații Swift depășește așteptările. De exemplu, algoritmul de căutare obișnuit rulează mult mai rapid în Swift.

Până la 2.6 ori mai rapid decât Obiectivul-C

Până la 8.4 ori mai rapid decât Python 2.7

10.000 de numere întregi au fost găsite în grafic folosind algoritmul de căutare depth-first*

A fost adăugat un limbaj rapid
în curriculum.

Nu doar dezvoltatorii apreciază potențialul limbajului Swift. Universitățile și alte instituții de învățământ predau Swift la cursuri de programare și publică cursuri gratuite pe iTunes U, ceea ce înseamnă că chiar și începătorii pot trece cu ușurință de la codificare de bază la programare de nivel profesional.

Universități care au inclus Swift în curriculumul lor

  • Universitatea din California din Santa Cruz
  • Colegiul Foothill
  • Universitatea Regală de Tehnologie din Melbourne
  • Universitatea Tehnică din München
  • Colegiul Comunitar Lawson
  • Colegiul Comunitar din Manhattan
  • Colegiul Comunitar Mesa
  • Colegiul Comunitar din Houston
  • Colegiul Comunitar Central Piemont
  • Universitatea din Plymouth
  • Universitatea Politehnică de Stat din California
  • Universitatea Stanford
  • Colegiul Tehnic Northwest Kansas
  • Institutul Tehnologic din Monterrey
  • Universitatea Aberystwyth
  • Universitatea Full Sail
  • Scoala Ingesup
  • Universitatea Metodistă de Sud

Swift este peste tot.
Și acum este deschis tuturor.

Swift este disponibil gratuit pentru utilizare de către dezvoltatori, profesori și studenți sub o licență de software open source. cod sursa Apache 2.0. Oferim sisteme binare OS X și Linux care vă permit să compilați cod pentru iOS, OS X, watchOS, tvOS și Linux. Și pentru a accelera dezvoltarea și transformarea Swift în și mai mult limbaj puternic, am creat o nouă comunitate în care utilizatorii pot contribui direct la codul sursă Swift.

Faceți cunoștință cu Swift.

cartea principală

Descărcați tutorialul Limbajul de programare rapid din Apple Books Store gratuit. Aflați cum Swift face programarea mai convenabilă, mai flexibilă și mai distractivă.

Xcode

Xcode este o aplicație pentru Mac concepută pentru dezvoltarea altor aplicații pentru Mac și iOS. Xcode are toate instrumentele de care aveți nevoie pentru a crea aplicații uimitoare. Poate fi descărcat gratuit din Mac App Store.

Site-ul dezvoltatorului

Fii detaliat informații tehniceși verificați revizuire completă Limbă rapidă. Consultați blogul dezvoltatorului pentru a fi la curent. cele mai recente știri. Ai si tu acces liber la resurse excelente: tutoriale, videoclipuri și exemple de cod.

  1. Limbaj de programare. Ce trebuie să știți pentru a scrie aplicații pentru iOS.
  2. Ai nevoie de un designer, dezvoltator de interfețe sau altcineva?
  3. Partea oficială: certificat de dezvoltator.
  4. Echipament necesar pentru o dezvoltare confortabilă.
  5. Eterna întrebare: AndroidOS sau iOS?
  6. Ce trebuie făcut astăzi?
  7. Crearea unui nou proiect.
  8. Compilare. Ce este și de ce este nevoie?
  9. Rulați pe simulator.
  10. Tipărim „Bună, lume!”
  11. Ce vizualizări standard există în iOS?

Limbaj de programare. Ce trebuie să știți pentru a scrie aplicații pentru iOS

Limbaj de programare(wikipedia.org) - un sistem de semne formal conceput pentru a înregistra programe de calculator. Un limbaj de programare definește un set de reguli lexicale, sintactice și semantice care definesc aspectul programului și acțiunile pe care executantul (calculatorul) le va efectua sub controlul său.

Poate că întrebarea pe care am pus-o în titlul acestei părți este destul de complexă. Pot să răspund simplu - Obiectiv-C. Dacă m-aș opri acolo, m-aș înșela. Aș spune că Obiectivul-C este minimul strict. Recent, a avut loc o conferință de la Yandex - YET, la care unul dintre rapoarte a fost dedicat limbajelor de programare pe care trebuie să le cunoască un dezvoltator. Raspunsul a fost cam asa: „Trebuie să învețe noi și noi limbaje de programare în mod constant, fără să se oprească la cineva anume.”. Sunt complet de acord cu asta. Învățând noi limbaje de programare, înveți noi abordări și metode de programare. Prin urmare, pentru a scrie aplicații pentru iOS, trebuie să cunoașteți Objective-C, dar este indicat să cunoașteți și alte limbaje de programare, astfel încât codul dvs. să fie bun, eficient și flexibil.

Dacă nu sunteți încă programator, atunci vă sfătuiesc să începeți cu limbajul C. Descărcați cartea lui Kernighan și Ritchie ( sau mai bine, cumpără-l) despre limbajul C, citiți-l, faceți tot ce vi se sugerează, iar după aceea v-aș sfătui să treceți la Objective-C. Dacă înțelegeți deja cum să scrieți programe, sunteți gata să răspundeți cu ușurință la întrebări - „Ce sunt tipurile de date? Ce este o variabilă? Ce este o funcție sau o metodă? Ce este un link și un pointer? Ce s-a întâmplat "include”?” , știi C sau C++ sau Java sau C#, atunci ești gata să scrii prima ta aplicație pentru iOS.

De asemenea, trebuie să cunoașteți elementele de bază ale OOP și modelele de design. Probabil că lista poate fi continuată, dar nu sunt pregătit să pretind o explicație calitativă a acestor concepte. Da, din păcate, Objective-C nu este limbajul cu care vă puteți începe călătoria programatorului. Dar dacă vă place și doriți să creați, atunci este timpul să alergați la magazin, să cumpărați cărți și să începeți călătoria dvs. de dezvoltator.

Ai nevoie de un designer, dezvoltator de interfețe sau altcineva?

O altă întrebare, nu mai puțin simplă. Dacă ești programator și știi să scrii programe de consolă și vrei să începi să scrii aplicații pentru iOS, atunci la etapa inițială nu ai nevoie de o astfel de persoană. Dacă aveți un iPhone || iPad || iPod Touch Dacă sunteți familiarizat cu iOS, atunci nu aveți nevoie de un dezvoltator front-end. În general, Apple are un astfel de document - UmanInterfațăInstrucțiuni. Acest document descrie unde și ce element de interfață trebuie utilizat. Prin urmare, în stadiul inițial, puteți face fără terți. În general, SDK-ul iOS oferă suficiente oportunități pentru a picta interfața aplicației, astfel încât nu trebuie să desenați butoane sau texte multicolore, umpleri cu gradient etc. în PS. Mai târziu, vom crea primul proiect, în care ne vom familiariza cu toate etapele creării aplicației „Hello, World!”.

Cu toate acestea, trebuie să înțelegeți că atunci când încep proiecte serioase, aplicații pe care doriți să le publicați în AppStore, vă va fi mai dificil fără un designer și dezvoltator. Dificultatea se poate manifesta în diferite etape - fie în timpul dezvoltării aplicației, când petreci ore întregi căutând imaginea necesară sau stând și creând în PS, fie după ce publici aplicația și începi să primești comentarii de la iubiții noștri utilizatori care se vor plânge de săracii tăi. proiecta aplicație gratuită. Am întâmpinat probleme similare în ambele etape. După ce am primit comentarii proaste pe AppStore, am vrut să renunț la aplicația mea, care apropo este gratuită, și să uit de utilizatorii nerecunoscători. Cu toate acestea, utilitatea aplicației în sine pentru mine, precum și pentru mulți alți utilizatori, m-a făcut să înghit acele comentarii supărate și să continui dezvoltarea aplicației. Acum vreo trei luni am inceput sa dezvolt o aplicatie impreuna cu un designer care imi spune ce sa inserez si unde, ce culoare sa aleg, unde si ce poza sa desenez, iar asta, vreau sa spun, este destul de convenabil. Prin urmare, vă sfătuiesc în continuare să începeți să utilizați serviciile designerilor la un moment dat pentru a primi feedback bun de la utilizatori. Și amintiți-vă - utilizatorii de dispozitive iOS vor să vadă bun designul aplicației, chiar dacă funcționalitatea acesteia are de suferit.

Partea oficială: certificat de dezvoltator

Probabil ați auzit deja multe despre un fel de certificat de dezvoltator. Acum voi încerca să vă aduc la curent - de ce este și dacă aveți nevoie de el chiar acum. Un certificat de dezvoltator este un fișier, la fel ca orice alt certificat. Acest fișier vă este oferit de Apple după ce parcurgeți toate etapele de înregistrare în sistem iOS (MacOS) Dezvoltator (Afacere) Program.

Ce îți va oferi să-l ai? acest fișierși înregistrarea la unul dintre programele de mai sus? Răspunsurile la această întrebare sunt copleșitoare. Prin urmare, voi spune doar despre cele mai importante lucruri (tot ce este descris mai jos vă este dat pentru exact un an):

  • testarea aplicațiilor pe dispozitivele dvs. (deși acest lucru pare a fi hackabil și poate fi făcut fără un certificat)
  • acces la forumul pentru dezvoltatori de pe portalul Apple (deși există o comunitate pe StackOverflow.com, unde poți găsi un răspuns la întrebarea ta mult mai rapid)
  • posibilitatea de a descărca versiuni beta (și bineînțeles pe cele actuale) ale iOS și Xcode
  • posibilitate de instalare versiuni beta iOS pe dispozitivul dvs
  • posibilitatea de a publica o aplicație în AppStore
  • posibilitatea de a conecta până la 100 de dispozitive la contul dvs., permițând astfel acestor dispozitive să instaleze versiuni beta de iOS, să vă testeze aplicațiile (nepublicate încă în AppStore) și multe alte lucruri ilegale
  • oportunitatea de a arăta prietenilor tăi că ești un dezvoltator oficial de aplicații iOS

Dacă decideți că aveți nevoie de un astfel de certificat, atunci fiți pregătit să vă despărțiți de 100 USD (300 USD pentru Enterprise), trimiteți un fax în SUA, introduceți card bancar(atenție! Al tău, exact al tău), ei bine, termină de citit acest capitol.

Deci să mergem.

  1. Urmați acest link http://developer.apple.com/programs/ios/
  2. Faceți clic pe Înregistrați-vă acum
  3. Citim cu atenție inundația și mergem mai departe – Continuăm
  4. Aici avem 4 puncte:?a. Vrei să creezi măr nou ID pentru Apple Developer Program?b. Doriți să utilizați un ID Apple existent?c. Ești deja înregistrat ca dezvoltator simplu și acum vrei să devii dezvoltator oficial cu toate beneficiile descrise mai sus? d. Sunteți deja membru al programului pentru dezvoltatori iOS sau Mac și doriți să conectați un alt program la contul dvs
  5. Prieteni, în continuare trebuie să parcurgeți câțiva pași pentru a vă completa informațiile personale. Nu-mi mai amintesc exact ce este acolo. Dacă aveți întrebări, adresați-le în acest subiect, voi răspunde la toate cât pot de bine.
  6. Vi s-a oferit un link către un fișier .pdf pe care trebuie să îl completați și să îl trimiteți prin fax către Apple.
  7. O tipărim și o completăm (foarte atent și atent).
  8. Trimitem un fax la biroul Apple din SUA. (Ai grijă ca faxul tău să nu cadă pe mâini greșite, pentru că acolo indici numărul cardului bancar și CVV).
  9. Așteptăm N zile (săptămâni) pentru ca Apple să vă proceseze cererea.
  10. Primim o scrisoare prin care te felicită pentru că te-ai înscris la program și ai pierdut o sută de dolari. Ura!

După finalizarea cu succes a misiunii, veți avea acces la http://developer.apple.com/membercenter/. Poate că o revizuire a acelei pagini necesită fie un articol separat, fie o căutare Google/Yandex.

Ei bine, prieteni, să trecem la chestiunile rămase pe ordinea de zi.

Echipament necesar pentru o dezvoltare confortabilă

Dacă ați decis serios să începeți să dezvoltați aplicații pentru iOS, atunci vă recomand cu căldură să cumpărați imediat un computer/laptop cu MacOs. Cel mai varianta ieftinaMac Mini, sau orice folosit. Dacă ești student și vei purta echipament cu tine - Macbook Air. Dacă aveți mulți bani și doriți un laptop puternic, universal - pentru jocuri, sarcini complexe de calcul și programare - MacBook Pro. Dacă doriți să obțineți un computer desktop, un iMac sau Mac Mini. Pentru dezvoltare, orice computer în orice configurație existentă vi se va potrivi. Dimensiunea ecranului este la discreția dvs. Eu personal stau acum în fața unui Macbook 13” și a unui Mac Mini 17”. Sunt mulțumit de ambele afișaje. În orice caz, puteți conecta oricând un monitor extern la laptop.

Nu uita că mai devreme sau mai târziu vei avea nevoie de un iPhone, iPod sau iPad. Nu trebuie să vă bazați doar pe simulatorul iOS, care este distribuit în același pachet cu Xcode. Testați întotdeauna versiunile de lansare pe dispozitive. Sau - căutați testeri (responsabili și conștiincioși).

Dacă nu sunteți pregătit să cheltuiți atât de mulți bani pe echipamente noi, atunci puteți încerca să instalați un Hackintosh pe computer.

Eterna întrebare: Android sau iOS?

Este posibil ca această întrebare să fi fost pusă chiar de la început, dar se află încă la sfârșitul acestui articol. Sunteți sigur că doriți să vă încercați mâna la dezvoltarea mobilă, dar nu știți ce platformă mobilă să alegeți? Nu pot să vă răspund la această întrebare. Dar știu un lucru - dacă vrei să dezvolți aplicații pentru iOS, atunci trebuie să iubești produsele Apple și sistemul de operare sistem iOSși MacOs. Puteți întreba - de ce este asta? Răspunsul este simplu - trebuie să iubești ceea ce faci, trebuie să creezi. Abia atunci vei putea dezvolta un produs cu adevărat cool și util. Numai în acest caz vă veți bucura să învățați Objective-C și iOS. Cred că acest lucru este foarte important. Dacă aveți sentimente similare față de produsele Apple, atunci nu ezitați să intrați în domeniul dezvoltării iOS. Dacă crezi că - știu Java, dar nu știu Objective-C, dar îmi place iOS mai mult decât AndroidO - atunci alege iOS. Nu, dar ce te așteptai să încep să laud sistemul de operare Android?

Îmi place și sfera iOS pentru magazinul său de aplicații. Totul acolo este frumos, corect și există o moderare foarte strictă a aplicațiilor. Depozitul de aplicații care se află acum în sistemul de operare Android este pur și simplu groaznic, atât pentru utilizatori, cât și pentru dezvoltatori demni.

Ce trebuie făcut astăzi?

Astăzi trebuie să decideți: când începeți să dezvoltați aplicații, experiența dvs. actuală va fi suficientă pentru a învățaObiectiv- C, aveți echipamentul necesar, și cea mai importantă dorință?

Salut Lume.

Verificarea pregătirii

Să trecem de la teorie la practică. Pentru lecția practică, veți avea nevoie de Xcode 4.2 cu iOS SDK, de preferință un certificat de dezvoltator, cunoștințe de C, C++, Java sau Objective-C (ei bine, poate că vor fi potrivite cunoștințele altor limbi) și, în sfârșit, o dorință pentru a începe să scrieți aplicații pentru iOS. Dacă îți lipsește ceva, de exemplu, un certificat de dezvoltator, atunci articolul va fi în continuare relevant pentru tine. În orice caz, mi se pare că fiecare utilizator de dispozitiv iOS ar trebui să fie interesat să arunce o privire asupra funcționării interioare a dezvoltării aplicațiilor.

Crearea unui nou proiect

Merge. Faceți clic pe pictograma Xcode. Se va deschide o fereastră similară cu aceasta:

Selectați elementul „Creați un nou proiect Xcode”. În fereastra următoare, selectați tipul de proiect. Avem nevoie de: „iOS – Application – Single View Application”.

Faceți clic pe Următorul. Vom vedea o fereastră cu următorul conținut:

Permiteți-mi să explic câmpurile de intrare:

  1. Product Name – Numele noului proiect – puteți introduce orice nume, dar vă sfătuiesc să folosiți nume identice cu ale mele, pentru că o să mă refer periodic la ele.
  2. Identificator companie - Identificatorul companiei dvs. - îl puteți completa după cum doriți.
  3. Bundle Identifier – un identificator unic pentru aplicația dvs. Acest câmp poate fi editat ulterior.
  4. Prefix de clasă – un prefix care va fi atribuit numelor tuturor claselor pe care le creați în proiect. Am lăsat câmpul gol ( "XYZ"– acesta este doar un indiciu).
  5. Familie de dispozitive – pe ce tipuri de dispozitive poate fi instalat proiectul. Puteți alege una dintre cele trei opțiuni: iPad/ iPhone/ universal. Scopul lor este evident. Dacă nu puteți decide chiar acum dacă trebuie să creați aplicație universală, apoi puteți alege oricare dintre celelalte opțiuni. Acest lucru poate fi corectat în orice etapă a ciclului de viață al software-ului.
  6. Utilizați Storyboard - Acest lucru este legat de crearea unui model de interfață cu utilizatorul. Adăugat cu iOS5, astfel încât, atunci când utilizați această horror, aplicația dvs. să poată fi instalată numai pe dispozitive cu iOS5 sau o versiune ulterioară.
  7. Utilizați contorizarea automată a referințelor este optiune noua Compilatorul Apple LLVM 3.0 – gestionează automat (aproape) memoria (monitorizează scurgerile, zombii și alte orori). Aș spune că pentru un începător - varianta perfecta. DAR – 1) nu totul este atât de automat, 2) ai încredere în compilator mai mult decât în ​​tine?, 3) Recomand gestionarea manuală a memoriei.
  8. Include Unit Tests – conectați testul unitar la proiect.

Veți vedea o fereastră pentru selectarea unei categorii în care va fi plasat proiectul. Vreau doar să vă avertizez că un folder cu numele proiectului dumneavoastră va fi creat automat în folderul pe care l-ați selectat, adică nu este nevoie să creați un folder suplimentar pentru un anumit proiect.

Nu bifam caseta de selectare „Creați un depozit git local pentru acest proiect”. Este mai bine să ne conectăm proiectul la depozitul de coduri mai târziu, dacă este necesar.

Faceți clic pe „Creați” și vedeți o nouă fereastră, fereastra spațiului nostru de lucru:

Și așa, am creat un proiect, unele fișiere au fost generate, unele ferestre sunt deschise.

Să aruncăm o privire la fișierele din meniu de navigatie:

  • fișierele cu sufixul „.h” sunt antete, unde vom oferi descrieri ale claselor
  • fișierele cu sufixul „.m” sunt fișiere de implementare, unde vom implementa clasele descrise anterior
  • fișierele cu sufixul „.xib” sunt fișiere care descriu interfața unei singure ferestre de aplicație

Compilarea proiectului

Compilare -

  1. traducerea unui program într-un limbaj apropiat de limbajul mașină și asamblarea ulterioară a acestuia.
  2. traducerea unui program scris în limba sursă într-un modul obiect (realizat de compilator) și asamblarea ulterioară a acestuia într-un modul de program gata de utilizare.
  3. traducerea unui program scris într-o limbă sursă și asamblarea lui ulterioară într-un program într-un cod interpretat de nivel scăzut independent de mașină (cum ar fi, de exemplu, în cazul limbajului Java).

Procesul de compilare constă din următoarele etape:

  1. Analiza lexicală. În această fază, succesiunea de caractere fișier sursă este convertit într-o secvență de jetoane.
  2. Analiza sintactică (gramaticală). Secvența de jetoane este convertită într-un arbore de analiză.
  3. Analiza semantică. Arborele de analiză este procesat pentru a-și stabili semantica (sensul) - de exemplu, legarea identificatorilor la definițiile lor, tipurile de date, verificarea compatibilității tipurilor de date, determinarea tipurilor de date rezultate ale expresiilor etc. Rezultatul este de obicei numit „reprezentare intermediară/cod ", și poate fi completat de un arbore de analiză, un arbore nou, un set abstract de comenzi sau altceva convenabil pentru procesarea ulterioară.
  4. Optimizare. Comenzile redundante sunt eliminate și codul este simplificat (acolo unde este posibil) păstrându-și în același timp sensul, adică algoritmul pe care îl implementează (inclusiv expresii precalculate (adică calculate în faza de traducere), ale căror rezultate sunt practic constante) . Optimizarea poate fi diferite niveluriși etape - de exemplu, pe codul intermediar sau pe codul final al mașinii.
  5. Generarea codului. Din reprezentarea intermediară se generează cod în limba țintă (inclusiv linking program).

Mai mult într-un limbaj simplu de la mine. Etapa de analiză lexicală verifică dacă toate caracterele din codul sursă sunt în ordinea corectă și personaje înruditeîn etapele următoare vor fi considerate ca o singură entitate – un lexem. În etapa de analiză, se verifică ca toate lexemele să fie localizate în ordinea corectă, în locurile potrivite, în ordinea corectă. În cele din urmă, în etapa de analiză semantică, se verifică potrivirile tipurilor de date.

Și astfel, când faceți clic pe „Construiți proiect”, mai întâi se efectuează o analiză lexicală a codului dvs., dacă are succes, atunci analizare, iar apoi analiza semantică. În Xcode, se execută întotdeauna un anumit proces ușor care îndeplinește această funcție, solicitând astfel dezvoltatorului "pe fuga". De exemplu, dacă nu ați pus „;” sau dintr-o dată echivalați cu int cu un anumit șir de caractere, apoi Xcode va sublinia șirul cu o linie ondulată roșie.

Alergarea pe un simulator

Și așa, să încercăm să lansăm proiectul nostru, pentru care nu am scris încă o singură linie de cod personal.

Pentru a face acest lucru, să ne uităm la meniu: Schema de compilare(i se atribuie culoarea verde în captura mea de ecran). O diagramă este o anumită configurație a unui proiect. Xcode îl generează automat. Faceți clic pe linia din dreapta numelui proiectului (numele dispozitivului); dacă dispozitivul nu este conectat, va spune „Dispozitiv iOS”. Veți vedea o listă derulantă cu următorul conținut:

În această listă selectăm unde va fi instalat proiectul nostru: poate fi fie dispozitivul dvs., fie un simulator. Dacă ați selectat tipul de aplicație universală, veți putea selecta tipul de simulator: iPhone sau iPad. De asemenea, puteți selecta versiunea sistemului de operare pentru simulatoare (este important să testați proiectul pe toate versiunile de iOS pe care poate fi instalată aplicația). Întrucât vorbim despre versiunea minimă de iOS, ar trebui să menționăm și cum să-i determinăm versiunea minimă? Este simplu - dacă utilizați metode (funcții) care au fost adăugate în versiunea iOS, de exemplu, 4.0 , apoi bara pentru sistemul de operare minim necesar se ridică la 4.0 . Să coborâm bara la 4.0 Cu 5.0 . Pentru a face acest lucru, accesați meniul: „Țintă de implementare” (evidențiat cu albastru în imaginea mea). Selectați din lista derulantă 4.0 . Acum să revenim la meniu: Schema de compilare. Lista noastră arată acum astfel:

Selectați „Simulator iPhone 4.0”. Și, în sfârșit, faceți clic pe săgeata sub care scrie „Run”. ÎN „Tablou informativ” vom vedea procesul de compilare. După ce totul se reunește cu succes, se va deschide fereastra simulatorului iPhone:

Acum să trecem rapid peste capacitățile simulatorului.

  • Puteți simula iPhone, iPhone Retina, iPad.
  • Simulați diferite versiuni de iOS.
  • Faceți capturi de ecran.
  • Rotiți ecranele (modurile portret și peisaj)
  • Scutura
  • Simulați memoria scăzută.
  • Simulați un server de imprimare
  • Locație de geolocalizare
  • Gesturi multi-touch (maximum 2 degete)
  • Alte

Toate acestea pot fi accesate din meniul programului simulator:

Câteva cuvinte despre simulator. Aplicațiile pot fi instalate pe simulator numai prin Xcode; ele pot fi eliminate direct din simulator (ca pe dispozitiv real), acceptă multitasking. Dar are și multe limitări, de exemplu, nu puteți instala un certificat în depozitul local de certificate de aplicație. Dar principalul dezavantaj este că SIMULATOR, dar nu EMULATOR. Adică doar pretinde că este un dispozitiv iOS, pur și simplu desenând o interfață similară (nivel de software). Dar emulatorul face exact ceea ce va face dispozitivul (la nivel fizic). Ce concluzie ar trebui trasă? Asigurați-vă că testați pe un dispozitiv real. Am avut cazuri când funcționează pe dispozitiv, dar nu pe simulator și invers.

Tipărim „Bună, lume!”

Sper că totul este mai mult sau mai puțin clar până în acest stadiu. Dacă nu, atunci în timpul procesului de dezvoltare veți începe să înțelegeți mai profund.

Acest capitol a fost scris în memoria lui Dennis Ritchie creatorul limbajului de programareCși dezvoltator cheie de sistem de operareUNIX, și, de asemenea, ca co-autor al cărții „Limbajul de programareC» .

Scopul capitolului este de a ne decora golul ecran gri. Minunat, hai să mergem. Revenim la Xcode, selectăm „ViewController_iPhone.xib” în meniul de navigare. Apoi, selectați „Vizualizare” din lista care apare. În dreapta, selectați „Inspector atribute”. Iată cum arată fereastra pentru mine plus comentarii suplimentare:

Acum să adăugăm o UILabel. UILabel este numele unei clase din SDK-ul iOS care vă permite să afișați text needitabil pe ecran. În general, toate clasele care vă permit să afișați ceva au prefixul UI: UIView, UITableView, UITextView, UIButton,…. În fereastra „Obiecte disponibile pentru afișare”, căutați o linie numită Etichetă. Odată ce îl găsim, facem clic pe el și îl tragem în vizualizarea actuală a ecranului.

Liniile punctate albastre vă vor ajuta să centrați/calibrați poziția relativă a marcajului. Și așa, selectați Etichetă în lista de obiecte afișate, dacă nu este deja selectat, și vedeți elementul în proprietăți: Text. Să scriem acolo „Bună, lume!”. și apăsați introduce. Aici avem textul etichetei schimbat și micșorat. Să reparăm asta. ÎN categorii de proprietate hai sa alegem "rigla"„Inspector de mărime”. Există câmpuri:

  • x și y sunt coordonatele colțului din stânga sus al etichetei în raport cu vizualizarea părinte, adică vizualizarea în care am plasat eticheta - aceasta este View-ul în cazul nostru.
  • lățime și înălțime – lățimea și, respectiv, înălțimea obiectului editat.

Puteți încerca să editați aceste valori și să observați modificările. De asemenea, puteți edita direct poziția și dimensiunea prin mișcarea etichetei (textul) și trăgând cadrul acesteia în diferite moduri „puncte”.

Petreceți încă 15-25 de minute jucându-vă cu diferitele proprietăți din diferitele categorii:

  1. Alinierea textului
  2. Marimea fontului
  3. Culoare, umbră text
  4. si etc.

Ulterior, vom reveni asupra lor și voi explica scopul anumitor domenii.

Ce vizualizări standard există în iOS?

ÎN paragraful anterior Am atins numele unor clase responsabile de interfață. Consola în sine UIși reprezintă interfața cu utilizatorul. Aici voi da, poate nu o listă completă tipurile disponibile vedere. În primul rând, toate clasele descrise mai jos moștenesc de la UIView, adică. au aceleași proprietăți și metode. În al doilea rând, vă puteți crea oricând propria vizualizare personalizată. Lista de mai jos:

1) UILabel – etichetă – scop principal: afișarea uneia sau mai multor linii de text needitabile.

2) UIButton – buton – scop principal: un buton obișnuit, trimite semnale obiectelor, notificând că a fost apăsat

3) UISegmentedControl – un buton cu segmente – scop principal: un buton cu mai multe părți active, puteți determina pe care dintre ele s-a făcut clic

4) UITextField – câmp de introducere a textului – scop principal: câmp pentru introducerea textului de către utilizator

5) UISlider – glisor – scop principal: un glisor obișnuit, ajută la modificarea oricăror setări mai intuitiv

6) UISwitch – Comutator On/Off – scop principal: are două stări – pornit sau oprit, scopul este evident

7) UIActivityIndicatorView - indicator de activitate - scop principal: utilizat de obicei pentru a informa utilizatorul că aplicația fie descarcă date, fie pur și simplu efectuează unele calcule

8) UIProgressView – indicator de stare (progres) – scop principal: pentru a afișa starea de finalizare a ceva

9) UIPageControl – comutare între pagini – scop principal: afișarea numărului de pagini, afișarea paginii curente

10) UIStepper (>= iOS 5) - +/- controler pas - scop principal: de asemenea, evident

11) UITableView – tabel – scop principal: afișarea unui tabel este poate cel mai popular element

12) UITableViewCell – celula tabelului – scop principal: afișarea unui rând într-un tabel, de obicei personalizabil

13) UIImageView – imagine – scop principal: afișarea unei imagini sau imagini

14) UITextView – câmp de text (defilabil) – scop principal: afișarea unei cantități mari de text care poate fi derulată.

15) UIWebView – web – scop principal: afișarea unei pagini web

16) UIMapView – hărți – scop principal: afișarea hărții

17) UIScrollView – vizualizare derulabilă – scop principal: afișarea mai multor vizualizări care nu se potrivesc pe un singur ecran

18) UIDatePicker – tip selector de date – scop principal: ideal pentru introducerea unei date

19) UIPickerView – tip selecție tambur – scop principal: o alternativă la tabel atunci când selectați o opțiune

20) UIView – doar o vedere – scop principal: evident

21) UINavigationBar – bară de navigare– scop principal: un panou în care sunt afișate titlul ecranului și butoanele de control suplimentare

22) UINavigationItem – elemente UINavigationBar – scop principal: evident

23) UIToolbar – bara de instrumente – scop principal: afișarea unui panou pe care sunt plasate butoane pentru a controla aplicația

24) UIBarButtonItem – elemente din bara de instrumente – scop principal: evident

25) UIBarButtonItem (spațiu fix și flexibil) – elemente speciale ale barei de instrumente – scop principal: modificarea distanței dintre butoanele din bara de instrumente

26) UITabBar – tabbar – scop principal: ajută la comutarea între diferite ecrane care nu au legătură

27) UITabBarItem – element tabbar – scop principal: evident

Acest articol începe o serie destinată începătorilor. Îndrăznesc să sper că nivelul de prezentare a materialului va permite chiar și persoanelor nefamiliare cu programarea să-l înțeleagă. Să începem povestea noastră cu o mică digresiune lirică. Aplicațiile pentru iPhone și iPad sunt scrise în Objective-C. Acest limbaj a fost folosit pe scară largă la NeXT și a venit la Apple după revenirea lui Steve Jobs. În prezent, Objective-C este limbajul principal pentru dezvoltarea aplicațiilor OS X și iOS.

Pentru a începe programarea pentru iOS, veți avea nevoie computer Mac bazat pe procesorul Intel și mediul de dezvoltare XCode. Dacă nu ai un Mac, nu contează. Poate că una dintre metodele descrise pentru a rezolva această problemă vă va potrivi. Ne vom concentra pe XCode 4 și iOS5.

Instalarea XCode

În primul rând, va trebui să ne înregistrăm pe site-ul de dezvoltare al Apple. Urmați linkul și faceți clic pe înregistrare. Faceți clic pe butonul Începeți și finalizați procesul de înregistrare. Totul este destul de simplu acolo, așa că nu mă voi opri asupra acestui punct. După înregistrare, vi se va trimite un e-mail cu ID-ul dvs. Apple. Reveniți la pagina Apple Developers și utilizați-o pentru a intra în zona securizată. În secțiunea DevCenters, faceți clic pe linkul iOS. După cum puteți vedea, Apple vă oferă o mulțime de documentație, surse și tutoriale. Această pagină are tot ce aveți nevoie pentru a începe dezvoltarea iOS. În partea de jos există un buton Descărcare Xcode pe care trebuie să faceți clic. Odată descărcat, instalați Xcode pe Mac.

Cunoașterea interfeței XCode 4

Pentru a lansa Xcode, accesați unitatea principală și faceți clic pe dezvoltator> Aplicații.

Odată ce Xcode s-a lansat, selectați Fișier>Proiect nou, apoi Aplicație cu vizualizare unică și introduceți HelloWorld ca Nume produs. Ca rezultat, ar trebui să vedeți așa ceva

Tot codul și resursele dvs. sunt organizate în foldere speciale, care sunt situate în partea stângă a ferestrei Xcode. Panoul se numește „Project Navigator” și conține toate elementele programului tău. Fișierele de cod sursă au extensia „.h” și „.m”. Dacă faceți clic pe un astfel de fișier, se va deschide un editor cu codul în partea dreaptă a Xcode.

Să nu ne oprim asupra codului deocamdată. Vom reveni la această problemă puțin mai târziu. Dacă te uiți în partea de sus a ecranului, vei vedea mai multe butoane legate de proiectul tău. Să studiem acest panou mai detaliat.

Butonul „Run” pornește proiectul. Vă puteți testa aplicația și vă puteți asigura că se comportă de fapt așa cum vă așteptați. Butonul „Sarcini” oprește aplicația care rulează.

Folosind butonul Schemr, puteți selecta platforma țintă pe care va rula aplicația dvs. Aici puteți alege un simulator și puteți depana programul pe computer sau îl puteți rula pe iPhone (dispozitiv iOS) dacă ați plătit taxa de 99 USD. Singurul avantaj pe care îl oferă această plată este capacitatea de a rula programul pe un dispozitiv real și de a-l publica în App Store. Nu aș recomanda să cheltuiți bani până când nu aveți un program normal pregătit.

Punctele de întrerupere sunt un lucru foarte util. Folosind acest buton, puteți marca linii în codul sursă, iar când programul ajunge la linia marcată în timpul execuției, programul se va întrerupe și puteți vizualiza starea variabilelor. Acesta este un instrument foarte puternic și utilizat pe scară largă.

Faceți clic pe butonul „Run”. Veți vedea o fereastră de emulator cu proiectul dvs. După cum puteți vedea, deși nu strălucește cu funcționalitate, este doar un gol.

Programare pentru iPhone - Primul pas

Destul de bătăi în jurul tufișului, hai să codificăm ceva. Fereastra Project Navigator conține fișiere de cod sursă. Faceți clic pe un fișier .m. Vă rugăm să rețineți că unele linii sunt colorate în verde - acestea sunt comentarii care acționează ca foi de cheat. Pentru a nu se confunda în cod, programatorul poate lăsa indicii și explicații pentru el însuși. Pentru a desemna comentarii în limbajul C, se folosește combinația de bare oblice //. Tot ceea ce este pe linia din dreapta acestor caractere este considerat un comentariu. Dacă doriți să scrieți un comentariu pe mai multe linii, puteți utiliza combinațiile /* și */ pentru a indica începutul și sfârșitul unui comentariu pe mai multe linii.

Înainte de a începe să codificăm aplicația, trebuie să vă explic câteva concepte cu degetele: OOP (Object Oriented Programming), MVC (Modal View Controller), fișiere „.h” și „.m”. Deci... programarea orientată pe obiect presupune împărțirea întregului cod în așa-numitele obiecte, în cadrul cărora sunt stocate datele și comenzile care îl procesează. Un obiect din Objective-C este format din două fișiere.h și .m. Fișierul.h se numește antet; conține o „schiță” a obiectului - sunt listate toate datele și numele blocurilor de comandă (metode) conținute în obiect. Fișierul .m se numește fișier de implementare și descrie în detaliu tot ceea ce este indicat în antet, aici este programată toată logica programului.

MVC( Vedere model Controller) este ceva care separă codul și interfața pe care o vede utilizatorul. Modelul sunt datele utilizatorului și datele pe care le afișați utilizatorului. View este interfața de utilizator și codul care asigură comunicarea între View și Model. Conceptul de MVC ți se poate părea acum prea abstrus, dar în timp vei vedea că această abordare simplifică cu adevărat viața unui programator. Acest concept implică următoarea ordine de lucru: programatorul creează separat un șablon de proiectare a aplicației, unde plasează toate butoanele, câmpuri de textși alte prostii importante și scrie programe separat. Apoi arată XCode ce metodă (bloc de cod) ar trebui apelată ca răspuns la o anumită acțiune a utilizatorului și ce nume are acest sau acel element de control în textul programului.

Dezvoltam un design de program pentru iPhone

Să începem să creăm aplicația noastră prin dezvoltarea designului. În fereastra Project Navigator, faceți clic pe MainStoryboard_iPhone.storyboard. Ca rezultat, XCode va lansa editorul de interfață.

În colțul din dreapta jos vedeți o listă de obiecte (Bibliotecă) care pot fi utilizate în interfața dvs.; în partea centrală este afișată fereastra View, care reprezintă aspectul interfeței programului dumneavoastră. Dreapta fereastra de sus are mai multe moduri care sunt comutate folosind pictogramele situate deasupra ferestrei. Figura arată modul Attribute Inspector. Aici puteți schimba diferite atribute ale obiectelor care alcătuiesc interfața dvs.

Să glisăm un obiect Label din fereastra Bibliotecă în aspectul ferestrei noastre. Folosind mouse-ul, vom schimba dimensiunea obiectului, așa cum se arată în ecranul de mai jos. Inspectorul afișează proprietățile obiectului Label. Să centrem textul făcând clic pe pictograma corespunzătoare din linia Aspect.

Să ștergem textul din câmpul Text (cuvântul Label a fost scris acolo) și să introducem „Some String” acolo.

În mod similar, adăugați un buton la aspect (obiect Button)

Deci, am dezvoltat designul aplicației noastre. Nimic complicat, poți să dai clic pe butonul Run și să te uiți la lucrul programului tău în fereastra emulatorului.

Să începem să codificăm

Deci, avem două componente vizuale plasate pe aspect. Dorim ca textul din linie să se schimbe atunci când se face clic pe butonul. Pentru a implementa această idee, va trebui să accesăm un rând (obiect Label) din codul programului și să apelăm o metodă (bloc de cod) atunci când butonul este apăsat.

Faceți clic pe fișierul „ViewController.h” din panoul din stânga. Vom descrie IBOutlet. IBOutlet conectează codul nostru la un obiect vizual, cum ar fi o etichetă sau un buton. Schimbați codul din fișierul ViewController.h pentru a arăta ca

#import @ interfață ViewController: UIViewController( etichetă IBOutlet UILabel*; //dați șirului nostru numele Etichetă } //acesta este antetul metodei care va fi //a apelat ca răspuns la un clic pe buton- Buton (IBAction)Click: (id) expeditor; @Sfârşit

Acesta este tot ce trebuie să scriem în fișierul antet. IBAction vă permite să conectați o metodă la un element de interfață cu utilizatorul, de exemplu, ca răspuns la un clic pe buton, codul programului pe care l-am scris va fi apelat.

Deci, am spus că vom apela șirul cu eticheta text și că metoda buttonClick va fi apelată ca răspuns la acțiunea utilizatorului. Să scriem codul pentru această metodă. Să comutăm la fișierul ViewController.m din arborele proiectului. După linie @implementare... adauga codul

- Buton (IBAction)Click: (id) sender( label. text= @ ”Salut de la Mobilab. ru”; )

Rețineți, dacă ați copiat acest cod, probabil că veți primi o eroare când rulați programul, cel mai probabil problema este între ghilimele. Ștergeți-le și introduceți-le de la tastatură.

Să ne dăm seama ce vedem aici. Accesăm obiectul etichetă - o linie de text pe ecran. Deoarece acesta este un obiect, are diverse date în interior (care în POO sunt numite și proprietăți ale obiectului) și metode care pot fi accesate prin plasarea unui punct după numele obiectului. Proprietate text este responsabil pentru textul conținut în interiorul rândului..

Am finalizat codarea, tot ce mai rămâne este să asociați eticheta și butonul Click cu elementele din interiorul aspectului de design. Faceți clic pe linia MainStoryboard_iPhone.storyboard din fereastra Project Navigator pentru a comuta la designerul de interfață. Apoi faceți clic pe pictograma „Vizualizare controler”. Treceți la modul conexiuni în inspector (ultima pictogramă). Uite, linia de etichetă a apărut în zona Outlets a inspectorului. Acesta este numele pe care l-am specificat în fișierul ViewController.h. Faceți clic pe cercul din partea dreaptă a liniei de etichetă și trageți-l pe linia Some Text din aspectul designului.

Faceți o operație similară cu butonul. Faceți clic pe butonul cu un cerc din grupul „Acțiuni primite”, apoi faceți clic pe butonul Faceți clic și trageți-l pe butonul din aspect. Ca urmare, se va deschide meniul contextual, cu care puteți selecta când să apelați metoda. Puteți, de exemplu, să apelați codul atunci când utilizatorul apasă butonul sau când îl eliberează. Există multe opțiuni. Selectați „Retușați în interior”.

Asta e tot! Salvați proiectul și faceți clic pe butonul „Run” din panoul de sus. Dacă ați făcut totul corect, emulatorul cu programul dvs. ar trebui să pornească. Faceți clic pe butonul. Textul din rând ar trebui să se schimbe. Asta e tot. Prima lectie s-a terminat

Cele mai bune articole pe această temă