{"id":10982,"date":"2014-09-15T11:44:49","date_gmt":"2014-09-15T09:44:49","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=10982"},"modified":"2014-09-15T11:44:49","modified_gmt":"2014-09-15T09:44:49","slug":"come-ottimizzare-le-app-per-i-nuovi-display-di-iphone-6-e-iphone-6-plus","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/come-ottimizzare-le-app-per-i-nuovi-display-di-iphone-6-e-iphone-6-plus\/","title":{"rendered":"Come ottimizzare le app per i nuovi display di iPhone 6 e iPhone 6 Plus"},"content":{"rendered":"<p>A meno di una settimana del lancio di iPhone 6 e iPhone 6 Plus nei principali mercati (Italia esclusa) gli sviluppatori si trovano davanti a un nuovo cambio di dimensioni, dopo quello di 3 anni fa con iPhone 5 e i suoi 4 pollici. iPhone 6 e iPhone 6 Plus arrivano infatti nelle due nuove versioni rispettivamente da 4.7 e 5.5 pollici, buona cosa per gli utenti finali, un po&#8217; meno forse per noi sviluppatori iOS.<\/p>\n<p>E invece una buona notizia arriva dai primi test effettuati con iOS Simulator: se avete scritto un&#8217; app che funziona correttamente su iPhone 5, noterete con piacere che questa funzioner\u00e0 alla perfezione anche con iPhone 6 e 6 Plus. Il semplice &#8220;just works&#8221; promesso\u00a0(e realizzato) da Schiller nel Keynote ha per\u00f2 qualche spiegazione tecnica.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2014\/09\/apple-iphone-6-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10983 size-large\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2014\/09\/apple-iphone-6-4-1024x767.png\" alt=\"apple-iphone-6-4\" width=\"978\" height=\"732\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2014\/09\/apple-iphone-6-4-1024x767.png 1024w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2014\/09\/apple-iphone-6-4-300x224.png 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2014\/09\/apple-iphone-6-4.png 1181w\" sizes=\"auto, (max-width: 978px) 100vw, 978px\" \/><\/a><\/p>\n<p>Se si\u00a0compila\u00a0un app creata con iOS 7 e si controlla\u00a0tramite il debugger la dimensioni del display o il frame delle view riceverete queste, apparentemente, strane informazioni:<\/p>\n<ul>\n<li><strong>iPhone 4S<\/strong>: \u00a0<code>{{0, 0}, {320, 480}}<\/code><\/li>\n<li><strong>iPhone 5<\/strong>: \u00a0<code>{{0, 0}, {320, 568}}<\/code><\/li>\n<li><strong>iPhone 6<\/strong>: \u00a0<code>{{0, 0}, {320, 568}}<\/code><\/li>\n<li><strong>iPhone 6+<\/strong>:\u00a0<code>{{0, 0}, {320, 568}}<\/code><\/li>\n<\/ul>\n<p>Questo accade se il vostro progetto non ha presenti le <em>Launch Images<\/em> per i nuovi due iPhone; Xcode intuisce che l&#8217;app non \u00e8 ottimizzata e semplicemente allarga l&#8217;app fino a riempire l&#8217;intero schermo.<\/p>\n<p><strong>Come ottimizzare quindi le nostre app per supportare le risoluzioni e dimensioni dei nuovi display?<\/strong><\/p>\n<p>Per poter ottimizzare l&#8217;app per i due nuovi device \u00e8 necessario caricare le due nuove immagini di lancio con le dimensioni di <strong>750 x 1334<\/strong> per iPhone 6 e <strong>2208\u00d71242<\/strong> per iPhone 6 Plus. Inoltre,\u00a0\u00e8 necessario aggiungere tutti gli assets ottimizzati per il nuovo schermo HD con il suffisso @3x oltre al canonico @2x riservato ai Retina Display.<\/p>\n<p>\u00c8 importante sottolineare come la risoluzione richiesta per iPhone 6 Plus non sia quella reale; il device infatti ha uno schermo di\u00a01920&#215;1080, ma iOS automaticamente effettua un downscaling delle varie view.<\/p>\n<p>Ultima nota: Apple nel scegliere le nuove risoluzioni ha tenuto conto dell&#8217;attuale di iPhone 5 e ha usato un aspect ratio molto simile cos\u00ec da effettuare l&#8217;upscaling senza traumi per gli sviluppatori:<\/p>\n<ul>\n<li>iPhone 5 =&gt; 1136\/640 = 1,775<\/li>\n<li>iPhone 6 =&gt; 1334\/750 = 1,778<\/li>\n<li>iPhone 6+ =&gt; 2208\/1248 = 1,769<\/li>\n<\/ul>\n<p>Geniale scelta di dimensioni da parte di Apple!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A meno di una settimana del lancio di iPhone 6 e iPhone 6 Plus nei principali mercati&#8230;<\/p>\n","protected":false},"author":557,"featured_media":10983,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[70],"tags":[1373,1371,1372],"class_list":["post-10982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grafica-e-design","tag-ios-ui-design","tag-ottimizzare-grafica-per-iphone-6-e-iphone-6-plus","tag-ottimizzare-retina-display"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/10982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/557"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=10982"}],"version-history":[{"count":4,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/10982\/revisions"}],"predecessor-version":[{"id":10991,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/10982\/revisions\/10991"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/10983"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=10982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=10982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=10982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}