Cum să-ți faci propria aplicație iOS. etapele creării unei aplicații pentru iOS. Lucrul cu text și butoane

Ei bine, este timpul să scriem primul nostru program pentru iPhone. Dacă nu ați instalat încă XCode + iPhone SDK, atunci ar trebui. Deci, avem XCode instalat și configurat, începem?

În primul rând, să învățăm cele mai simple lucruri. Să creăm un program în care va exista un câmp de text în care ne vom scrie numele și un buton, făcând clic pe care va fi scris numele nostru în salut. Primul nostru program va arăta astfel:

Creăm primul și sperăm că nu ultimul proiect:

În continuare vom fi întrebați ce tip de aplicație să creăm. În partea stângă a panoului selectați iPhone OS -> Aplicație iar în fereastra centrală selectați tipul de proiect Aplicație bazată pe vizualizare. Să numim primul nostru program, să zicem, FirstApp

Ca rezultat, creăm un proiect cu un controler deja creat (prima fereastră a programului nostru)

Fereastra principală a proiectului arată astfel:

Xcode a creat primul controler pentru noi, acestea sunt două fișiere numite FirstAppViewController.h și FirstAppViewController.m

Fișierul FirstAppViewController.h acționează ca antet (de unde și extensia de fișier .h din headerul cuvântului În el vom anunța variabilele și metodele pe care le vom folosi în fișierul principal FirstAppViewController.m).

Și așa, deschideți fișierul FirstAppViewController.h și creați doi pointeri:

IBOutlet UILabel *nume utilizator;

Prima variabilă, username, este o etichetă text în care ne vom scrie numele. nikField este un câmp text de unde ne vom citi numele.

Trebuie să scrieți acest lucru într-un bloc @interfață firstAppViewController: UIViewController ( )

De asemenea, vom crea o metodă pe care o vom apela atunci când se apasă butonul pentru a ne prezenta. Să numim metoda setNik:

- (IBAction)setNik;

Ca rezultat, fișierul nostru FirstAppViewController.h ar trebui să arate astfel:

#import @interfață firstAppViewController: UIViewController ( IBOutlet UILabel *nume utilizator; IBOutlet UITextField *nikField;) - (IBAction)setNik; @Sfârşit

Acum, să mergem la fișierul FirstAppViewController.m

Să adăugăm aici metoda noastră setNik. Trebuie să scrieți după rând @implementation firstAppViewController

- (IBAction)setNik( username.text = nikField.text; }

Aici precizăm că atunci când această metodă este executată, textul din câmpul nikField va fi scris în eticheta de text nume de utilizator

De asemenea, trebuie să eliberăm memoria de aceste indicatoare după ce le folosim. Acest lucru se face printr-o metodă numită dealoc

- (void)dealloc ( ; ; ; )

Pur și simplu adăugăm toate indicatoarele pe care le-am folosit în acest format:;

Acum, deschideți fișierul de interfață FirstAppViewController.xib. Acesta este lansat în editorul de interfață Interface Builder.


Din biblioteca de componente, tragem componentele de care avem nevoie în fereastra programului nostru și le aranjam cât mai comod posibil. Apoi, în fereastra mică, selectați File’s Owner și apăsați Command+2, ceea ce ne duce la meniul inspector Connections. Vedem acolo o listă a semnelor noastre pe care le-am notat deja, iar în dreapta lor sunt cercuri goale. Faceți clic pe cercul gol de lângă indicatorul nikField și, fără să-l dați drumul, trageți-l în câmpul de text. Când mutam indicatorul mouse-ului spre ele, acesta este conturat într-un dreptunghi și eliberat. Astfel, am legat acest câmp la pointerul nikField. Acum vom face același lucru cu indicatorul numelui de utilizator și îl vom trage în textul unde vrem să vedem porecla noastră (în imaginea mea este textul %username%). Puțin mai jos vedem metoda noastră setNik și o asociam cu butonul nostru. Dar când îl mutați pe buton și îl eliberați, va apărea un meniu contextual din care selectați Touch Up Inside. Aceasta înseamnă că această metodă va funcționa atunci când apăsăm și eliberăm butonul. Exact ce ne trebuie :)

Ei bine, salvați, reveniți la Xcode și faceți clic pe Build & Run. Ura, s-a lansat primul nostru program :) Faceți clic în câmpul de text, apare tastatura, scrieți numele. Dar programului nostru încă îi lipsește o mică atingere. Aceasta este pentru a elimina tastatura apăsând butonul Efectuat când am terminat de introdus numele nostru.

Pentru a face acest lucru, să pornim din nou designerul de interfață și să facem clic pe butonul nostru. Apăsați Command+1 și găsiți acolo blocul Trăsături de introducere a textului. Are mai multe liste derulante, dar ne interesează doar cea de jos: Cheia de retur. Selectați Terminat din listă și în partea de jos a blocului puneți o bifă lângă Activare automată cheie de retur. Apoi mergem la Command+2 Connections Inspector și vedem cuvântul acolo delega. Faceți clic pe cana de lângă ea și trageți-o în blocul Proprietar al fișierului

Acum revenim la fișierul nostru FirstAppViewController.m După metoda setNik, adăugăm următorul cod:

- (BOOL)textFieldShouldReturn:(UITextField *)TextField ( ; returnează DA; )

Salvăm și încercăm să rulăm (puteți folosi combinația Command+R) Încercăm să ne scriem numele în câmpul de text. Când scrieți, apare un buton Terminat, făcând clic pe acesta, se închide tastatura. Acum facem clic pe butonul nostru și voilà, programul ne întâmpină :)

Ar părea un lucru atât de mic, doar gândește-te că au scris un lucru atât de mic. Și când învățam Delphi acum mulți ani, după ce am învățat un astfel de exemplu, astfel încât apăsând un buton să scrie ceva pe ecran, făceam deja diverse jucării. Îți amintești unul dintre primele jocuri de browser, Fight Club? Așa că am făcut ceva similar pentru distracție și totul s-a bazat exact pe același principiu pe care tocmai l-am făcut noi. Așa că joacă-te și experimentează!

Iată un link către arhiva proiectului. Puteți să o descărcați, să o porniți și să vedeți dacă nu a funcționat pentru cineva. Ei bine, dacă aveți întrebări, scrieți în comentarii.

La sfârșitul lunii trecute, dezvoltatorul Richard Felix a publicat un articol distractiv în care încerca să explice cât mai clar și concis cum se poate crea o aplicație de succes pentru iOS. În special, a împărtășit sfaturi utile pentru dezvoltatorii începători, propriile sale observații în ceea ce privește proiectarea programelor și cele mai recente tendințe din App Store.

Richard cunoaște toate complexitățile dezvoltării din experiența personală, deoarece în ultimii ani a creat o serie de aplicații populare pentru platformele mobile moderne și web (Are My Sites Up, Stunning, Dispatch și altele).

Deci, la un moment dat în viața ta, ai decis să devii dezvoltator și să încerci să-ți creezi propria aplicație iOS. Ți-e teamă că vei cheltui mult timp (și bani) dezvoltând un program pe care nimeni nu-l va folosi. Visezi să creezi o aplicație care se va vinde activ la un an de la lansare, dar nu ai idee cum să o faci. Sfaturile descrise mai jos vă vor ajuta să vă atingeți obiectivele.

Găsiți o idee originală

La fiecare prezentare, Apple anunță milioane de vânzări de dispozitive iOS și înregistrări fantastice din App Store. Ghidați de acest fapt, mulți dezvoltatori începători presupun în mod eronat că crearea unui alt client de e-mail banal sau a unui editor foto le va permite să câștige milioane de dolari (în opinia lor, acest lucru nu necesită neapărat urcarea în topul topurilor Apple App Store).

Cu toate acestea, în ciuda prevalenței platformei iOS, aceasta este o mare concepție greșită. Desigur, în acest caz veți câștiga niște bani și veți recupera procesul de dezvoltare, dar pentru a realiza cu adevărat semnificativ succes, programul tău nu trebuie să îndeplinească doar funcțiile menționate, ci și să aibă un fel de caracteristică originală, un fel de poftă care l-ar distinge de sute de concurenți și ar atrage atenția pe fundalul general.

Cercetează-ți publicul țintă

Magazinul de aplicații oferă oricui o adevărată comoară sub formă de diagrame cu aplicații populare, pe baza cărora poți decide categoria programului, poți observa câteva puncte și poți găsi acea idee foarte originală.

În prezent, putem distinge următoarele trei categorii de cele mai populare programe din App Store:


  • Aplicații alternative pentru programele sistemului iOS (calculatoare îmbunătățite, calendare, clienți de e-mail, editori foto, liste de activități etc.). Sunt populare deoarece mulți oameni se confruntă cu limitările instrumentelor standard pentru iPhone/iPad și doresc să extindă funcționalitatea dispozitivelor lor. Apple creează programe pentru mase (sunt ușor de folosit și intuitive), motiv pentru care utilizatorii mai avansați au de suferit (dacă aveți nevoie de mai multe funcții, va trebui să utilizați o aplicație terță parte - și acest lucru este în avantajul nostru).

  • Jocuri și o varietate de ele. Mai ales cele care te obligă să partajezi aplicația prietenilor și colegilor, ceea ce este mult mai valoros decât orice banner publicitar.

  • Aplicații cu un număr minim de funcții care la prima vedere par asa de elementar că mulți dezvoltatori resping astfel de idei chiar și în stadiul de gândire la proiect. Un exemplu tipic este un program numit Over, care vă permite să adăugați subtitrări elegante la fotografiile dvs. Pentru un utilizator avansat, Over poate părea un instrument destul de limitat, dar mulți începători sunt complet mulțumiți de acest „editor foto”, care este confirmat de vânzări bune. Este uimitor cum implementarea corectă a unei singure funcții declarate poate duce la un program complet de succes.


Nu reinventați roata și actualizați des

Multe aplicații populare iOS și-au atins succesul datorită următoarei caracteristici - ele permit utilizatorului să efectueze rapid o anumită acțiune (editarea unei fotografii, de exemplu), dar nu-l împovărează cu funcții și butoane inutile. Nu este nevoie să reinventați roata și să creați un editor foto cu funcție de redare a muzicii.

Pune-te în pielea utilizatorului, încearcă să te concentrezi pe caracteristicile care vor într-adevăr util. Nu este deloc necesar să implementați toate ideile dvs. în prima versiune lăsați idei minore pentru actualizările viitoare ale aplicației. După ce programul este lansat în App Store, veți avea o mulțime de recenzii ale utilizatorilor, pe baza cărora puteți trage concluzii despre necesitatea implementării cutare sau cutare funcție.

În plus, actualizările regulate ale aplicației permit ca produsul dvs. să fie auzit în mod constant, „flash” în fața ochilor potențialilor cumpărători din blogosferă.

Desenați o pictogramă colorată

O pictogramă frumoasă este cheia succesului oricărei aplicații ( deci cineva? - nota editorului). Ținând un iPhone sau iPad în mâini, utilizatorul dorește întotdeauna să vadă grafică de înaltă calitate și un design „delicios” pe ecran, care, după cum se spune, este plăcut ochiului. Oamenii vor fi mai susceptibili să acorde atenție programului dacă departamentul de design alocă suficient timp și efort creând o pictogramă atractivă a mărcii. În cele din urmă, acest lucru ar trebui să vă ajute aplicația să ajungă în partea de sus a topurilor din App Store.

Pe site-uri specializate precum

9 februarie 2015 la 17:54

Crearea unei aplicații iOS. De la idee la rezultat

  • Dezvoltare iOS
Totul a început când m-am uitat în jur și, nevăzând mașina visurilor mele, am decis să o proiectez eu.
Ferdinand Porsche

Bună, Habr. Vreau să vă spun cum am creat prima mea aplicație iOS și ce a rezultat din ea.

Idee

Ideea aplicației a apărut în mod natural: creați ceva pe care ați fi bucuros să îl utilizați. Scriu note tot timpul. La urma urmei, fiecare persoană ocupată are un anumit set de fapte pe care le primește în timpul zilei și care merită amintite. Și din moment ce toată lumea uită (și asta e normal!), nu există o soluție mai bună decât să o notezi. Am simțit întotdeauna un fel de inconvenient când lucram cu aplicațiile de luare de note prezentate în AppStore. Complexitatea excesivă în management, prezența unor categorii inutile, o mulțime de informații suplimentare - toate acestea împiedică aplicația să își îndeplinească funcția principală. În plus, multe dintre aceste lucruri pur și simplu arată urât.

Prin urmare, punând toate pariurile pe simplitate și comoditate, am început să creez un concept. Model de aplicație cu o singură listă de note. Totul într-un singur loc, ce poate fi mai simplu? Dacă ceva este de mare valoare sau relevanță, nu trebuie neapărat să-l etichetați, puteți pur și simplu să mutați elementul mai important în partea de sus a listei. Intrările vechi și inutile se vor muta treptat în jos și în cele din urmă vor fi șterse de utilizator.

Funcţional

După ce conceptul a fost gândit, am notat funcționalitatea principală - acele lucruri pe care aș dori să mă concentrez în management:

Funcționalitate destul de standard pentru acest tip de aplicație, veți fi de acord. Dar acesta este doar vârful aisbergului, diavolul este în detalii.

Instrumente

Înainte de a scrie codul în Xcode, am recreat complet aspectul aplicației în editorul vectorial Sketch. Acest program este excelent pentru a crea rapid machete. Există o mulțime de plugin-uri disponibile pentru această aplicație, printre care se numără Sketch Preview - vizualizarea graficului direct pe dispozitiv prin programul Skala Preview. Trebuie doar să descărcați programele gratuite Skala Preview pe computer și pe dispozitivul dvs. mobil și să instalați pluginul. După aceea, selectați graficul dorit, apăsați combinația Command+P și într-o secundă aspectul aplicației este transmis către dispozitiv.

În plus, aplicația este foarte convenabilă pentru crearea de capturi de ecran pentru publicare în AppStore. Pentru fiecare dimensiune a ecranului, a fost creat un set diferit de planșe, împreună cu utilizarea stilurilor, timpul petrecut la formatare a fost minim. Dar despre publicarea ceva mai târziu.

Dezvoltare

În aplicație, am folosit doar două controlere - unul direct pentru toate, toate, toate notele, celălalt pentru a afișa un mic tutorial la prima lansare. Am organizat lucrul cu baza de date folosind framework-ul CoreData.

După ce am creat funcționalitatea de bază (crearea, ștergerea, editarea notelor), am decis să îmbunătățesc fiecare dintre aceste funcții.

De acord, editarea textului în iOS este implementată destul de incomod. Dacă faci o greșeală într-un cuvânt, pentru a muta cursorul în poziția dorită, trebuie să atingi și, fără să scoți degetul de pe ecran, să încerci să intri în zona selectată. În plus, după corectarea erorii, trebuie să întoarceți cursorul înapoi la sfârșitul liniei. În aplicația mea, am decis să reprocesez mecanismul de mutare a cursorului: pentru a face o modificare a unui cuvânt, trebuie doar să glisați în zona dintre tastatură și expresia care se tastează fără a bloca vizualizarea textului.

Am decis să implementez eu însumi animațiile de ștergere și deplasare în partea de sus și să aduc acompaniamentul vizual cât mai aproape de viața reală. Ceva a dobândit o prioritate mai mare - glisați spre dreapta și nota se mută în partea de sus a listei. Pentru a șterge, glisați spre stânga și animația barată va arăta cât timp trebuie să extindeți glisarea pentru a finaliza ștergerea. Dacă îl ștergeți accidental, trebuie doar să scuturați dispozitivul („Shake”), iar nota va reveni la locul inițial.

Pentru a evidenția nota, am folosit LongTapGesture și cele trei culori principale ale aplicației - alb, albastru și roșu, care au format paleta principală de culori.

Am decis să fac automată trecerea între temele de zi și de noapte - de ce nimeni nu s-a gândit încă să schimbe aspectul în funcție de poziția soarelui pe cer? Este foarte simplu - după întuneric și după răsăritul soarelui, tema se schimbă, iar utilizatorul nu trebuie să fie distras de la a lua notițe, deoarece aplicația se va adapta întotdeauna automat la condițiile din jur.

Denumire

Numele aplicației este cea mai importantă parte în timpul dezvoltării; este primul lucru pe care utilizatorul îl vede în magazin. Există informații despre asta pe Habré. Am decis să abordez cu atenție selecția numelui: mai întâi, am trecut prin lista celor 1000 de cuvinte cele mai populare în limba engleză și am notat tot felul de combinații care ar fi potrivite pentru numele unei aplicații mobile de luare de note; în plus, am vrut să-l păstrez în 8-10 caractere. Dar, în același timp, nu am vrut să aleg numele SuperNotes sau NotesPlus etc., am vrut ceva nou. Mi-a placut combinatia notă nebună, pe care am dat din greșeală în dicționarul urban:
notă nebună - excelent, distractiv, surprinzător, neașteptat sau minunat

Imediat a apărut sloganul: MadNotes - Notează-ți pasiunea. Deoarece aveam deja pregătită o paletă de culori primare (alb, albastru, roșu), am decis să vin imediat cu o pictogramă potrivită. Situația cu logo-urile pentru aplicații de acest fel este deplorabilă:

Deoarece notele pe hârtie sunt scrise cu un creion sau un stilou, am decis să afișez acest lucru pe pictogramă - un creion rotit la un unghi de 45 de grade. A ieșit așa:

Rezultat

Deoarece proiectul a fost conceput inițial ca un proiect de design, am decis să particip cu aplicația mea la competiția ucraineană Ukrainian Design Awards: The Very Best Of la categoria Digital Design. Au mai rămas câteva săptămâni până la competiție, timp în care am reușit să fac o publicație pe Behance, unde am arătat vizual toate funcțiile principale ale aplicației și am înregistrat și o previzualizare video.
Deoarece câștigătorii concursului nu sunt anunțați până în ultimul moment, a fost incredibil de plăcut să văd munca mea la expoziția lucrărilor câștigătorilor - juriul a văzut și apreciat conceptul principal - un minimalist și, în același timp, aplicație funcțională pentru luarea de note.


Aplicația se află în AppStore de câteva luni, timp în care am făcut șase actualizări și am rescris codul în Swift. Cea mai recentă versiune (1.2) a adăugat sincronizarea cu iCloud, astfel încât notele au fost deja mutate în cloud.

Vă mulțumim pentru atenție.
Notează-ți pasiunea

Profesia de programator este una dintre cele mai prestigioase și solicitate, acesta este un fapt. Industria de dezvoltare software are nișele sale. 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 incontestabil, în timp ce cineva ajunge mereu 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 a dispozitivului mobil. Odată cu acesta, Apple a introdus o nouă versiune a sistemului de operare mobil iOS 10. Acum este cel mai important sistem de operare din lume, ca și predecesorii săi. Rezultă că învățarea dezvoltării iOS este cea mai bună investiție de timp și 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. Pe Internet, nu vă va fi dificil să găsiți o versiune de macOS special adaptată pentru PC, 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).

La un nivel superior, 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 afectat niciodată 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 are mari speranțe în noua limbă și investește mult în ea. Objective-C este folosit pentru a susține vechiul software, 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ă toate instrumentele moderne de cod. Î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 și altele), a încărcării adaptorului grafic (din partea OpenGL).

Pe 13 septembrie, a fost lansată o nouă versiune, foarte anticipată, a mediului de dezvoltare 8.0. Versiunile stabile pot fi descărcate gratuit din App Store. Alpha și beta 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. Noi versiuni de sisteme de operare au început să apară în mod constant imediat după prezentarea Apple, care 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: abstracție, î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 caracteristică excepțională a limbajelor dinamice, deoarece tipul de obiecte este verificat în timpul execuției, mai degrabă decât în ​​timpul compilării.

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ă avem o aplicație grafică, o 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 conceput pentru o aplicație 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.
  • Aplicația Master Detail creează o aplicație care afișează o colecție de obiecte într-o vizualizare de tabel. După selectarea unuia dintre ele, sunt afișate informații detaliate despre acel 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 de fizică, un generator de particule și o metodă ușoară de scripting.
    OpenGL ES este un standard în grafica computerizată. 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 optimizate, împreună cu shaderele precompilate și multi-threadingul, vă duc jocul la noi niveluri de performanță și calitate.
  • Sticker Pack Application este un nou tip de aplicație introdus în iOS 10 și Xcode 8. Este un set de imagini simple sau animate folosite în noul iMessage. Nu necesită codificare pentru a-l 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ă debifați casetele Include Unit Tests și Include UI Tests; nu avem nevoie de teste. 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 selectați componenta Button, 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 Visual Studio (sau Delphi), un obiect 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 efectuați acest truc: mutați cursorul mouse-ului pe o componentă - o etichetă 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, obiectul indicat de proprietate va exista atâta timp cât proprietatea indică către 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ântul cheie IBAction marchează evenimente (metode) ale 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 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. Acesta este un limbaj de încredere, sigur și intuitiv pentru dezvoltarea aplicațiilor pentru sistemele de operare 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 instrumentele suplimentare pentru lucrul cu limbajul, inclusiv un depanator, o bibliotecă standard, un manager de pachete, sunt, de asemenea, gratuite și deschise.

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ă învățării acestui limbaj de 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. Am testat aplicația finalizată pe un simulator 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 Android. Urmează un curs 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 dau teme, care apoi sunt verificate. 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

Aplicațiile mobile sunt ceea ce folosește în prezent fiecare proprietar de smartphone. În orice moment, puteți căuta drumul către locul dorit, puteți traduce un cuvânt străin necunoscut, puteți citi o carte nouă, asculta muzica preferată. Despre asta sunt smartphone-urile: posibilități nelimitate chiar aici și acum. Acum puteți nu numai să utilizați aplicații populare, ci și să vă creați propriile aplicații. Vom descoperi împreună în articol cum să facem acest lucru.

Să scrii un program pe cont propriu astăzi este o afacere prestigioasă și profitabilă. Un potențial dezvoltator are șansa de a câștiga bani frumoși, cu condiția ca aplicația sa să fie solicitată.

Prin urmare, va fi păcat dacă îți pierzi timpul creând un program care nu va fi folosit. Pentru a preveni acest lucru, un dezvoltator începător trebuie să studieze acest proces fascinant în detaliu. Cererea pentru o aplicație depinde nu numai de nevoile consumatorilor, ci și de priceperea autorului acesteia.

Există o altă latură a monedei: omul obișnuit vrea pur și simplu să vină cu un program care este mai convenabil decât alții propuse deja astăzi. Un program pe care îl va folosi el însuși. De exemplu, un calculator, organizator sau dicționar îmbunătățit.

Dacă vrei să faci bani din programul tău, nu uita că acesta trebuie să fie original. Editorii de fotografii banali sau un nou client de e-mail nu vă vor ajuta să vă îmbogățiți. Gândește-te la idee în avans și stabilește cum creația ta se va compara favorabil cu altele similare.

Cum să creați o aplicație pentru iOS și să o publicați în App Store

Dacă aveți deja o idee pentru o aplicație, ar trebui să vă aprovizionați cu instrumente de lucru. Acestea vor fi: un computer și mediul de dezvoltare Xcode.

Cum se creează o aplicație în Xcode

Xcode poate fi găsit în AppStore. Descărcați-l și instalați-l pe dispozitivul dvs.

Descărcați mediul de dezvoltare Xcode din AppStore

Pentru a vă crea aplicația în Xcode, urmați acești pași:

  • Lansați mediul de dezvoltare pe computer. Selectați: Fișier - Nou - Proiect.

    Deschideți Xcode și alegeți să creați un nou proiect

  • Determinați platforma aplicației și selectați tipul acesteia.

    Selectați tipul de program și platforma

  • Selectați informații despre aplicație.

    Selectați informații despre program

  • Definiți un folder pentru a stoca produsul finit (New Folder).

    Selectați dosar nou

  • Debifați Creare depozit Git. Selectați Creare. După aceasta, se va deschide ecranul de pornire pentru lucrul în aplicație.

    Selectați Creare

  • Deschideți Main.storyboard. Avem nevoie de elementul Etichetă. Scrieți text în el (de exemplu, Hello_word).

    Adăugați text în aplicația dvs

  • Selectați o imagine pentru pictograma aplicației. Ar trebui postat pe http://makeappicon.com/.

    Plasați pictograma selectată pe mapappicon

  • Odată ce aplicația mapappicon este terminată, introduceți adresa dvs. de e-mail. Acesta va primi fișiere cu pictogramele pe care le-ați selectat într-o formă arhivată.

    Introdu adresa ta de e-mail pentru a primi pictograme pentru aplicația ta

  • Continuați să lucrați în XCode și treceți la Assets.xassets.

    Următoarea etapă a dezvoltării aplicației este secțiunea Assets.xassets

    Acum adăugați pictogramele primite în e-mailul dvs.

    Transferați pictograme din e-mail în aplicație

    Activați lansarea programului folosind butonul sub forma unui triunghi negru, activați Modul Dezvoltator.

    Lansați aplicația

    Încărcarea simulatorului iOS va dura ceva timp

    Testați aplicația lansând-o. Dacă ați făcut totul corect, se va lansa și va afișa corect conținutul.

    Verificați dacă aplicația pornește și funcționează corect

    Video: cum se creează o aplicație pentru iOS

    Cum se testează aplicația creată

    Pentru a verifica funcționalitatea aplicației dvs., urmați instrucțiunile:

  • Rulați comenzile: xCode - Preferințe - Conturi.

    Introduceti ID-ul dumneavoastra Apple

  • Conectați-vă dispozitivul la computer.

    Conectați-vă dispozitivul la computer pentru a testa aplicația

  • În Setări, acceptați setările de securitate. Apoi, sunteți de acord să lansați programul pentru dezvoltatori.

    În setările de gestionare a dispozitivului, permiteți instalarea programului

  • După instalarea programului, pictograma acestuia va apărea pe desktop.

    Deschideți aplicația folosind pictograma de pe desktop care apare pentru a verifica funcționarea acesteia

  • Dacă aplicația se deschide și funcționează corect, ați făcut totul corect și puteți începe să utilizați programul.

    Testarea aplicațiilor iOS va fi disponibilă după înregistrarea în App Store ca dezvoltator și plata taxei inițiale. Un program pentru diagnosticarea noilor programe se numește TestFlight.

    Cum se publică aplicația creată

    Ghidul de revizuire a App Store conține o listă de reguli pe care trebuie să le îndeplinească o nouă aplicație. Pentru a publica un program în App Store, trebuie să vă conectați la https://developer.apple.com/register/ cu AppleID sau să creați un cont nou. Pentru persoane fizice, plăcerea de a-și prezenta aplicația dezvoltatorilor Apple costă 99 USD.

    Posibile probleme la crearea aplicațiilor

    Mediul de dezvoltare folosit pentru a crea aplicații este convenabil și suficient de simplu pentru un începător. Principala problemă cu care vă puteți confrunta este lipsa de abilități tehnice. Prin urmare, dacă sunteți serios să dezvoltați aplicații în App Store, fiți pregătiți să exersați mult. Studierea literaturii din diverse surse în acest domeniu vă va ajuta, de asemenea.

    Când decideți să încercați să creați aplicații iOS, nu vă fie teamă să faceți greșeli. Începeți cu o idee originală și dezvoltați-o folosind capacitățile mediului de dezvoltare. Practicați, dezvoltați-vă abilitățile, urmăriți știrile și tendințele din domeniul tehnologiilor IT. Și, poate, aplicația dvs. nu numai că va deveni populară și recunoscută, dar va aduce și un profit decent.