
Swift, SwiftUI, App Store Connect
iOS, trimis o dată și aprobat.
Pe iOS partea grea rareori este codul. Este App Review: un om care îți citește aplicația față de o sută cincizeci de pagini de ghiduri, iar fiecare respingere costă zile. Construim după acele ghiduri din primul sprint, pregătim corect declarațiile de confidențialitate și trimitem cu contul demo, notele și dovezile de care are nevoie un recenzent ca să spună da.
Tehnologii
01Capabilități
Construit după ghiduri, nu corectat după
Funcționalitatea minimă, ștergerea contului, rutarea achizițiilor, textele permisiunilor și Sign in with Apple sunt decizii de proiectare luate în prima săptămână. Descoperirea lor la trimitere transformă data de lansare într-o țintă mobilă.
Confidențialitate declarată corect
Etichetele de confidențialitate și declarațiile de API cu motiv obligatoriu, completate după un audit al a ceea ce transmit efectiv aplicația și bibliotecile ei. Apple le verifică față de binar, iar un răspuns greșit înseamnă respingere cu contestație lentă.
TestFlight ca etapă reală
Build-uri interne în câteva minute, testeri externi după o verificare ușoară. Factorii de decizie văd aplicația reală pe telefoanele lor cu mult înainte să ajungă în magazin.
SwiftUI acolo unde merită
SwiftUI pentru cea mai mare parte a interfeței, UIKit acolo unde încă face treaba mai bine. Amestecul deliberat este mai rapid decât puritatea în oricare direcție.
02Perimetru
Ce este inclus
- Aplicații iOS native în Swift și SwiftUI
- Suport pentru iPad, Split View și Dynamic Type
- Stocare offline cu SwiftData sau Core Data și sincronizare conștientă de conflicte
- Notificări push prin APNs, inclusiv push bogat și silențios
- Abonamente StoreKit 2, restaurare și validare de bonuri
- Sign in with Apple, Face ID și sesiuni păstrate în Keychain
- App Clips, widget-uri, Live Activities și Shortcuts, unde se potrivesc
- Configurare App Store Connect, TestFlight și lansare etapizată
- Etichete de confidențialitate și App Tracking Transparency
- Pregătirea pentru App Review, trimitere și tratarea respingerilor
- Actualizări anuale de SDK și compatibilitate cu versiuni noi de OS
03Trimitere
Cum ajunge un build în App Store
Verificarea o face un om, iar scopul este să nu îi dai acelui om niciun motiv de ezitare.
TestFlight intern
Până la o sută de oameni din echipă, disponibil la câteva minute după încărcare. Aici se validează un build înainte să-l instaleze cineva din afara firmei.
TestFlight extern
Până la zece mii de testeri, după o verificare ușoară Beta App Review. Aici ies la iveală telefoanele reale, condițiile reale de rețea și conturile Apple reale, pe care simulatorul le ascunde.
App Review
Trimis cu un cont demo funcțional, note pentru recenzent care explică orice nu este evident și înregistrări de ecran pentru funcțiile hardware pe care un recenzent nu le poate testa. Majoritatea verificărilor se termină într-o zi; o primă trimitere poate dura mai mult.
Lansare etapizată
Lansat către un procent crescător de utilizatori pe parcursul a șapte zile, cu posibilitatea de pauză oricând. Aceeași plasă de siguranță pe care ți-o dă Android, și merită activată de fiecare dată.
04App Review
Respingerile pentru care proiectăm din start
Funcționalitate minimă (ghidul 4.2)
O aplicație care este doar un ambalaj peste un site, sau care oferă puțin peste ce ar putea face un browser mobil, este respinsă. Dacă valoarea ta principală este conținut web, aplicația trebuie să-și merite locul cu ceva nativ — acces offline, push, folosirea hardware-ului sau un model de interacțiune chiar diferit. Ridicăm subiectul înainte de prima linie de cod, pentru că decide dacă proiectul are sens ca aplicație.
Achiziții în afara App Store (3.1.1)
Bunurile digitale și abonamentele consumate în aplicație trebuie să treacă prin achiziție în aplicație, iar aplicația nu are voie să trimită utilizatorii spre o cale de plată exterioară. Bunurile fizice și serviciile consumate în afara aplicației nu au voie să treacă prin ea. Greșirea acestei granițe este cea mai scumpă eroare dintr-o lansare pe iOS, deci o mapăm pe modelul tău de business de la început.
Ștergerea contului (5.1.1(v))
Orice aplicație care permite crearea unui cont trebuie să permită și ștergerea lui din interiorul aplicației, nu printr-un e-mail către suport. Este o funcție mică ce oprește o trimitere pe loc atunci când lipsește.
Confidențialitate și permisiuni (5.1.1)
Fiecare permisiune are nevoie de un text care explică motivul real, aplicația trebuie să funcționeze rezonabil când o permisiune este refuzată, iar etichetele de confidențialitate trebuie să corespundă binarului. Textele vagi sau copiate sunt o respingere de rutină.
Sign in with Apple (4.8)
O aplicație care oferă autentificare prin rețele sociale terțe trebuie în general să ofere și Sign in with Apple ca opțiune echivalentă. Este simplu de adăugat devreme și incomod de adaptat într-un model de conturi deja existent.
05De știut
Ce costă un proiect iOS și nu costă unul Android
Un cont de dezvoltator plătit, reînnoit anual. Un Mac pe care să construiești. Certificate și profiluri de provizionare care expiră și care, la un moment dat, vor expira într-un moment prost — de aceea le automatizăm reînnoirea în loc să tratăm fiecare caz ca pe un incident.
Și latența verificării. Android îți permite să livrezi o remediere în câteva ore; iOS pune un om între tine și utilizatorii tăi. Asta schimbă felul în care planifici o lansare: build-ul de iOS pleacă la verificare mai devreme, feature flag-urile acoperă orice ar putea avea nevoie să fie oprit fără o retrimitere, iar o remediere critică folosește o cerere de verificare accelerată, pe care Apple o acordă cu zgârcenie și o ține minte dacă abuzezi.
Compensația este o gamă de dispozitive îngustă și bine documentată, utilizatori care actualizează repede și o platformă unde o aplicație bine construită rămâne bine construită. Majoritatea clienților noștri livrează pe ambele; disciplina impusă de iOS îmbunătățește de obicei și build-ul de Android.
05Întrebări
Întrebări frecvente
Swift nativ sau React Native pentru iOS?
Cross-platform are sens când aceeași aplicație merge în ambele magazine, iar interfața este în mare parte standard — un singur cod, aproximativ jumătate din cost. Swift nativ merită pentru produse cu interfață bogată, pentru orice se sprijină pe funcționalități noi de platformă sau acolo unde performanța și consumul de baterie fac parte din produs. Construim ambele și îți spunem sincer ce justifică situația ta.
Avem nevoie de Mac și de cont Apple Developer?
Ai nevoie de abonamentul Apple Developer Program pe numele firmei tale — trebuie să fie contul tău, nu al nostru, ca proprietatea asupra listării să nu depindă niciodată de agenție. Mac-ul este problema noastră, nu a ta. Putem administra contul și certificatele pentru tine, într-un aranjament de acces agreat.
Ce se întâmplă dacă aplicația este respinsă?
De obicei este un punct concret și remediabil din nota recenzentului. Răspundem în Resolution Center în aceeași zi — adesea rezolvarea este o clarificare, nu o modificare de cod — și retrimitem. Respingerile fac parte din proces, nu sunt un eșec; important este să coste o zi, nu două săptămâni, iar asta vine din a fi proiectat deja în jurul celor frecvente.
Cât durează publicarea?
După ce build-ul este gata: o zi sau două pentru TestFlight extern, apoi de regulă una–trei zile pentru App Review. Alocă o săptămână pentru prima trimitere, pentru că pagina din magazin, declarațiile de confidențialitate, capturile de ecran și conformitatea la export sunt toate lucrări făcute prima dată.
Puteți prelua o aplicație iOS existentă?
Da. Auditează versiunile de Swift și de dependențe, ținta de deployment, starea certificatelor și a profilurilor, declarațiile de confidențialitate față de cerințele curente și rata fără crash-uri. Aplicațiile care nu au mai fost publicate de un an au de obicei nevoie de actualizări de SDK și API înainte ca orice lucrare de funcționalități să fie realistă.
06În apropiere
Servicii conexe
Dezvoltare aplicații mobile
Aplicații React Native și Flutter pentru iOS și Android, plus aplicații web progresive instalabile — conectate la același backend și ERP ca restul sistemelor tale.
DezvoltareDezvoltare aplicații Android
Aplicații Android native în Kotlin și Jetpack Compose — construite pentru gama de telefoane pe care o au efectiv utilizatorii tăi și publicate prin Play Console fără surprize la release.
DezvoltareDezvoltare Next.js și React
Aplicații Next.js randate pe server și frontend-uri headless — stiva web modernă, construită pentru Core Web Vitals, indexare și conversie, nu pentru un demo de framework.
Ce facem
Dezvoltare aplicații iOS
Aplicații iOS native în Swift și SwiftUI — construite după ghidurile Apple și trimise cu declarațiile de confidențialitate și dovezile care obțin aprobarea din prima.
