{"id":9415,"date":"2012-08-31T12:22:33","date_gmt":"2012-08-31T10:22:33","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=9415"},"modified":"2012-08-31T12:25:21","modified_gmt":"2012-08-31T10:25:21","slug":"come-testare-app-su-ipad-3-con-snowleopard-e-xcode-4-2","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/come-testare-app-su-ipad-3-con-snowleopard-e-xcode-4-2\/","title":{"rendered":"Come testare app su iPad 3 con SnowLeopard e Xcode 4.2"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona.png\" alt=\"Xcode-4-devAPP-icona\" title=\"Xcode-4-devAPP-icona\" width=\"175\" height=\"175\" class=\"alignleft size-full wp-image-6636\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona.png 175w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona-150x150.png 150w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona-92x92.png 92w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/Xcode-4-devAPP-icona-64x64.png 64w\" sizes=\"auto, (max-width: 175px) 100vw, 175px\" \/><\/a> Come promesso nel <a href=\"http:\/\/forum.devapp.it\/showthread.php?4759-Download-Xcode-4-2-for-Snow-Leopard\" target=\"_blank\">nostro forum<\/a> eccovi la guida che vi spiegher\u00e0 come <strong>testare applicazioni su device con SnowLeopard e XCode 4.2<\/strong>, ma prima di addentrarci, facciamo una piccola premessa.<br \/>\nAggiornare costantemente i dispositivi con l&#8217;ultimo OS (o se volete iOS) stabile rilasciato da Apple, ci consente di ottenere, sotto tutti i punti di vista, le migliori performances, non a caso \u00e8 vivamente consigliato dalla casa madre, inoltre ci fornisce tutte le nuove funzionalit\u00e0 introdotte e le migliorie apportate a quelle vecchie.. insomma&#8230; perch\u00e8 non farlo? Perch\u00e8 non tenere aggiornati i nostri iPhone e iPad?<br \/>\nB\u00e8, se vediamo il discorso dal punto di vista dell&#8217;utente non fa una piega, ma dagli occhi di uno sviluppatore, potrebbero esserci alcune obiezioni. Vediamo quali.<!--more--><\/p>\n<h4>Perch\u00e8 potremmo non voler subito aggiornare i nostri device?<\/h4>\n<p>Il primo motivo riguarda i test delle nostre app, ovvero il fatto di poter provare la nostra applicazione in via di sviluppo su di un dispositivo reale che abbia installata una determinata versione di OS.<br \/>\nAlias: &#8220;se ho sviluppato un&#8217;app che ha una precisa base SDK, vorrei essere sicuro che i miei utenti che utilizzano proprio quella versione di iOS non facciano critiche di sorta sul funzionamento&#8221;. Questo potrebbe portare dei rallentamenti ai nostri aggiornamenti.<\/p>\n<p>Al tempo stesso &#8220;non&#8221; vorrei avere tanti devices quanti sono gli OS in circolazione.. ognuno di noi ha (o dovrebbe avere) un betatester per ogni versione di OS che si vuole supportare. <\/p>\n<p>La seconda \u00e8 di ordine economico: Apple vorrebbe che acquistassimo sempre l&#8217;ultimo prodotto proposto (iPhone, iPad, ma anche Mac e via dicendo) e, disponibilit\u00e0 economiche permettendo, lo vorremmo anche noi. Ma anche questo non sempre \u00e8 possibile e di conseguenza siamo soliti scadenziare gli acquisti.<\/p>\n<p>Potrebbe quindi accadere di avere una configurazione simile a questa: abbiamo l&#8217;ultimo iPad con iOS 5.1 installato, pi\u00f9 un &#8220;vecchio&#8221; Mac con installato Snow Leopard e Xcode 4.2 (ultima versione disponibile per OS X 10.6). E allora? B\u00e8, con questo setup \u00e8 impossibile testare sul device: una schermata di warning del nostro IDE ci raggeler\u00e0. Vediamo come risolvere.<\/p>\n<h4>La soluzione al problema<\/h4>\n<p>Vediamo prima di tutto alcune possibili soluzioni:<\/p>\n<ol>\n<li>Acquistare un nuovo Mac con Lion e installare Xcode 4.3 (ma non sareste qui a leggere questa guida)<\/li>\n<li>Effettuare il downgrade dell&#8217;iDevice (procedura &#8220;criptica&#8221; ancorch\u00e8 ostacolata)<\/li>\n<li>Cercare su devapp.it un tutorial o una guida che spiega come risolvere (eccoci qui :P)<\/li>\n<\/ol>\n<p>La premessa a questa guida \u00e8 certamente pi\u00f9 prolissa della soluzione, ma attenzione, la meticolosit\u00e0 non deve essere da meno. In maniera non ufficiale, stiamo infatti andando ad alterare le caratteristiche del nostro IDE, con tutte le conseguenze che ne possono derivare, quindi facciamo attenzione.<\/p>\n<p>Cosa dobbiamo fare? In pratica dobbiamo sostituire alcuni files di Xcode, con quelli aggiornati disponibili per Lion.<\/p>\n<p>Il fatto che basti la semplice sostituzione per rendere disponibile il nuovo SDK, ha tutta l&#8217;aria di essere una porta lasciata aperta da Apple agli sviluppatori con risorse non necessariamente aggiornatissime. Ma bando alle ciance, cominciamo!<\/p>\n<p>Procuriamoci l&#8217;ultima versione dell&#8217;SDK (per gli sviluppatori registrati al programma developer di Apple non \u00e8 un problema, potete loggarvi ed accedere alla pagina dei download). Per comodit\u00e0 vi posto il link diretto: <a href=\"http:\/\/developer.apple.com\/downloads\" target=\"_blank\">http:\/\/developer.apple.com\/downloads<\/a><\/p>\n<p>Montiamo l&#8217;immagine disco ed esploriamone il contenuto.<\/p>\n<p>Posizioniamoci nella cartella che contiene l&#8217;SDK:<\/p>\n<p><code>Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/SDKs\/<\/code><\/p>\n<p>e copiamo la cartella: iPhoneOS5.1.sdk.<\/p>\n<p>Dobbiamo ora individuare la cartella corrispondente di Xcode sul nostro Mac, vale a dire:<\/p>\n<p><code>~\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/SDKs\/<\/code><\/p>\n<p>incolliamo qui il contenuto. Ora la cartella SDKs avr\u00e0 due sottocartelle \/iPhoneOS5.0.sdk<br \/>\ne \/iPhoneOS5.1.sdk.<\/p>\n<p>Facciamo la stessa cosa per il contenuto dell&#8217;immagine disco alla path:<\/p>\n<p><code>Contents\/Developer\/Platforms\/iPhoneOS.platform\/DeviceSupport\/5.1 (9B176)<\/code><\/p>\n<p>che andr\u00e0 ad affiancarsi al contenuto della cartella Xcode su Mac:<\/p>\n<p><code>~\/Developer\/Platforms\/iPhoneOS.platform\/DeviceSupport\/<\/code><\/p>\n<p>Qui troviamo i baseSDK del nostro Xcode, quindi incollando il contenuto potremo sviluppare per iOS 5.1.<\/p>\n<p>Ora non resta che aggiornare il simulatore. Questa operazione viene fatta in due passi.<\/p>\n<p>Portiamoci sulla cartella dell&#8217;immagine disco:<\/p>\n<p><code>Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs\/iPhoneSimulator5.1.sdk<\/code><\/p>\n<p>copiamo la cartella ed incolliamolo al contenuto della cartella sul nostro Mac:<\/p>\n<p><code>~\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs<\/code><\/p>\n<p>Portiamoci quindi su:<\/p>\n<p><code>Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/Applications\/<\/code><\/p>\n<p>e copiamo il file iPhone Simulator.app.<\/p>\n<p>Nella relativa cartella del Mac:<\/p>\n<p><code>~\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/Applications\/<\/code><\/p>\n<p>troviamo gi\u00e0 un file chiamato iPhone simulatore.app. Provvediamo a rinominarlo (ad esempio _iPhone simulatore.app) e solo successivamente incolliamo il file copiato dall&#8217;immagine disco.<\/p>\n<p>Sic et sempliciter!<\/p>\n<p>Avviamo XCode e magicamente fra i simulatori troveremo il 5.1.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01.png\" alt=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01\" title=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01\" width=\"348\" height=\"190\" class=\"aligncenter size-full wp-image-9418\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01.png 348w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-01-300x163.png 300w\" sizes=\"auto, (max-width: 348px) 100vw, 348px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Il baseSDK si \u00e8 aggiornato e potremo usarlo sotto SnowLeopard con Xcode 4.2<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02.png\" alt=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02\" title=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02\" width=\"550\" height=\"146\" class=\"aligncenter size-full wp-image-9419\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02.png 686w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-02-300x79.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Ora possiamo finalmente testare sul nostro iPad 3 la nostra app.<\/p>\n<p>Nota: potremmo ritrovarci con 2 dispositivi disponibili, la scelta \u00e8 indifferente.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03.png\" alt=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03\" title=\"Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03\" width=\"431\" height=\"188\" class=\"aligncenter size-full wp-image-9420\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03.png 431w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2012\/08\/Come-testare-app-su-iPad-3-con-SnowLeopard-e-Xcode-42-03-300x130.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Non lamentiamoci per questa svista di Apple, riteniamoci dei graziati \ud83d\ude42<\/p>\n<h4>Conclusione<\/h4>\n<p>Sto testando questo PseudoUpgrade da qualche tempo e sembra funzionare tutto alla perfezione.<br \/>\nIl solo momento di smarrimento l&#8217;ho avuto a causa di una mia ingenuit\u00e0: ho voluto subito testare la mia ultima lavorazione, che avevo fatto girare solo sul simulatore e c&#8217;erano un paio di cosette legate alla gestione delle risorse sul device, notoriamente limitate, che mi mandavano in blocco il device. Il problema non era quindi in questa procedura.<br \/>\nNO Panic&#8230; \u00c8 bastato resettare il device!<\/p>\n<p>Riassumo qui brevemente la sequenza &#8216;antipanico&#8217;. <\/p>\n<ol>\n<li>Premete contemporaneamente il tasto Home + tasto Off per 10 secondi. Per sicurezza guardate Xcode in alto a sinistra dove appaiono i devices, a reset ultimato  dovrebbe ricompare un anonimo: &#8220;iPad device&#8221;.<\/li>\n<li>Rilasciate i tasti e dopo 3-4 secondi il device si riavvia (classica mela per 10sec&#8230; sequenza di boot 30 secondi&#8230; finalmente schermata di Home con il rassicurante &#8216;Sblocca&#8217;).<\/li>\n<\/ol>\n<p>Spero la guida vi sia di aiuto, alla prossima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come promesso nel nostro forum eccovi la guida che vi spiegher\u00e0 come testare applicazioni su device con&#8230;<\/p>\n","protected":false},"author":546,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[8],"tags":[1176,1178,1177,23],"class_list":["post-9415","post","type-post","status-publish","format-standard","hentry","category-guide-varie","tag-app-su-device","tag-installare-applicazioni-su-device","tag-testare-app","tag-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/9415","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\/546"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=9415"}],"version-history":[{"count":14,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/9415\/revisions"}],"predecessor-version":[{"id":9432,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/9415\/revisions\/9432"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=9415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=9415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=9415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}