
Acest conținut a fost generat cu ajutorul inteligenței artificiale și publicat fără o verificare umană prealabilă. Poate conține erori și nu constituie consultanță profesională. Semnalați o problemă: info@delionsoft.com.
Apple a publicat îndrumări pentru adaptarea aplicațiilor iOS la iPhone Duo, un dispozitiv pliabil cu un ecran exterior, un ecran interior mai mare și stări intermediare parțial pliate. Conform raportului inițial, aplicațiile care presupun o singură dimensiune fixă a ecranului sau care își desenează propriile elemente de navigare sunt cele mai susceptibile de a afișa o imagine incorectă. Unii dezvoltatori au criticat termenul scurt de pregătire dintre anunț și lansarea dispozitivului.
Ce s-a întâmplat
Ghidul acoperă patru domenii. În primul rând, instrumentele de compilare: aplicațiile compilate cu Xcode 27.1 pot utiliza întreaga suprafață a ecranului, în timp ce aplicațiile compilate cu versiuni anterioare nu se extind sub bara de stare și zonele camerei. În al doilea rând, aspectul: Apple nu recomandă citirea dimensiunilor fixe, cum ar fi UIScreen.main.bounds, și nici ramificarea în funcție de userInterfaceIdiom sau de orientarea interfeței. Abordarea recomandată este dimensionarea relativă la container, folosind stive standard SwiftUI, navigare și vizualizări divizate, sau UIKit Auto Layout, bazată pe modificări ale claselor de dimensiune orizontale și verticale.
În al treilea rând, navigarea și barele de instrumente. Pe modelul Duo, barele de instrumente și barele de navigare pot fi plasate vertical de-a lungul laturii ecranului în anumite poziții. Barele personalizate construite direct pe UIToolbar, UINavigationBar sau UITabBar s-ar putea să nu respecte acest comportament; API-urile standard pentru bare de instrumente atașate la o stivă de navigare sau la un controler de navigare o vor face.
În al patrulea rând, regiunile rezervate. Acestea reprezintă pliul care împarte ecranul și zonele în care hardware-ul ascunde conținutul — camera frontală interioară când este activă, iar camera frontală exterioară în permanență. Vizualizările furnizate de framework se adaptează automat; vizualizările personalizate trebuie să interogheze API-urile regiunilor rezervate și să se dispună în jurul acestora. Modul de gestionare a camerelor se schimbă, de asemenea, deoarece deschiderea, închiderea sau rotirea dispozitivului poate modifica care dintre cele trei camere este activă, astfel încât aplicațiile ar trebui să selecteze în funcție de direcția în care este orientată o cameră, mai degrabă decât pe baza unui identificator fix.
Reacțiile citate în raportul original au fost mixte. Un dezvoltator a comparat situația cu lansarea unei noi platforme anunțate cu aproximativ o lună înainte, iar altul s-a întrebat câte aplicații se vor deranja să se adapteze. Redactorul iOS Dev Weekly a subliniat un aspect și mai incomod: acest gen de „temă” a mai fost anunțată cu mult timp în avans și, cu toate acestea, majoritatea echipelor au rezolvat-o cu întârziere — UIScreen.main.bounds era, după cum a spus el, „un bug care aștepta un dispozitiv”.
De ce este important
Pentru o echipă mică cu o singură aplicație iOS, aceasta nu reprezintă o rescriere completă, dar este o sarcină substanțială care intră în conflict cu planul vostru de dezvoltare. Costul este proporțional cu cât de multe elemente de layout personalizate și elemente de interfață personalizate ați acumulat. Echipele care au rămas aproape de containerele standard și de clasele de dimensiuni vor avea nevoie, în principal, de timp pentru testare; echipele cu bare de tab-uri personalizate, margini codificate manual și ramificări în funcție de dimensiunea ecranului vor avea nevoie de refactorizare înainte de a putea chiar evalua dispozitivul. Aplicațiile care utilizează intens camera — scanare, KYC, raportare pe teren — prezintă cel mai mare risc, deoarece o schimbare a poziției poate comuta în mod silențios camera activă.
Ce trebuie făcut
- Verificați codul sursă pentru a identifica dimensiunile fixe ale ecranului, verificările de idiomuri și cele de orientare. Această listă reprezintă lista de sarcini restante și constituie o activitate utilă, indiferent dacă veți lansa vreodată o versiune pentru Duo.
- Înlocuiți structurile personalizate de navigare și bare de instrumente cu API-urile standard acolo unde este posibil; poziționarea laterală este gestionată automat în aceste API-uri.
- Dacă depindeți de cameră, verificați modul în care selectați dispozitivele și cum se comportă sesiunea dvs. atunci când dispozitivul este deschis, închis sau rotit.
- Decideți în mod explicit dacă suportul pentru Duo se încadrează în planurile pentru acest trimestru. Un „încă nu” sincer, însoțit de o dată, este mai bun decât o agitație neplanificată.
