• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Xcode 4: Distribuzione Ad Hoc delle applicazioni iPhone e iPad

By Francesco Montrone | on 10 Gennaio 2012 | 20 Comments
Senza categoria

Xcode-4-devAPP-icona Dice il saggio: “Squadra che vince non si cambia”.. ed io, Francesco Montrone aka freellino nel forum devAPP, ho insistito con l’uso di XCode3 finchè non ho dovuto scrivere codice per iOS 5, il che ha reso praticamente necessario aggiornare il mio IDE alla versione 4.2 (perdendomi nel frattempo la 4.0). OK, piuttosto che tradizionalista, mi dovrei definire pigro! Cambiato l’IDE, sicuramente migliore del precedente, passo dopo passo ho dovuto superare molti dei problemi inevitabili che un cambio di abitudini porta con sé. Fra questi, ultimo in ordine di tempo, ma non ultimo per importanza, ho dovuto incrociare: la distribuzione Ad Hoc con XCode 4.

 

Prerequisiti

Per mettere in pratica quanto segue, dovremo essere in possesso di un certificato per la distribuzione Ad Hoc e, di conseguenza, aver aderito al Developer Program di Apple. L’adesione al programma free infatti non consente l’installazione delle app che stiamo creando nel nostro device e, tantomeno, non permette la condivisione della nostra app, per la quale stiamo scrivendo il codice, su altri dispositivi. Insomma, l’unico mezzo di test, con tutte le sue limitazioni, senza un accont developer a pagamento, è il simulatore.

In aiuto come al solito viene devAPP.it che, con il suo tutorial “Creiamo i certificati per l’invio ad Apple“, spiega tutti i passi necessari per ottenere ed installare i certificati.


PiPlayer-banner

La nostra guida

L’articolo che vi accingete a leggere è applicato ad un ipotetico progetto XCode chiamato “DevAppTut”.

Xcode 4.2 (anche 4.0 a dire il vero) ha aggiunto nuove funzionalità ed ha modificato le procedure per ottenere alcuni risultati. Fra queste, proprio la modalità di distribuzione della nostra applicazione, sia attraverso il canale standard, App Store per intenderci, sia per la distribuzione ad amici, betatester, clienti, chiamata distribuzione Ad Hoc. E questa modalità sarà oggetto del presente tutorial. Esiste anche un’altra modalità di distribuzione, molto comoda, la cosiddetta OTA (On the Air Distribution) che sarà oggetto di un futuro articolo.

Il primo passo da fare è creare una nuova configurazione per il tipo di distribuzione che vogliamo fare (in questo caso, ovviamente, una Ad Hoc Distribution).
Per fare ciò, dovremo selezionare il Project Navigator (1) che ci mostrerà tutti i componenti della nostra app. Nel caso fosse nascosto, potremo visualizzarlo tramite click sulle icone (2) e (3).
Quindi clicchiamo sul progetto (4) nel Project Editor e selezioniamo il tab “Info” (5).


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-01

A questo punto dovremo semplicemente duplicare la configurazione di Release, cliccando su bottone Add (1) e scegliendo “Duplicate Release Configuration” (2).


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-02

Possiamo assegnare qualunque nome alla configurazione che stiamo creando. Ritengo che non ci sia nulla di meglio che assegnare un nome esplicito come, ad esempio, “AdHoc”.

Abbiamo così preparato Xcode per tre configurazioni.


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-03

Dobbiamo ora associare la configurazione creata con il certificato di distribuzione che abbiamo realizzato, scaricato ed installato in precedenza.

Anche questo passaggio è molto semplice: apriamo il tab “Build Settings” (1) e nella sezione Code Signing selezioniamo la Code Signing Identity che si è venuta a creare (2) quindi, nel popup che si apre (3), scegliamo il certificato di distribuzione. In figura è visualizzato ciò che ho ottenuto con il mio certificato.


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-04

Dobbiamo ora creare uno “scheme” per la distribuzione.
È questa, a mio parere, la parte meno immediata di Xcode 4.2. Nostalgicamente devo dire che questa fase era più intuitiva e rapida in Xcode 3, ma tant’è!

Scacciamo la nostalgia e vediamo come bisogna procedere.

Lo Scheme Editor è “nascosto” nel menu dropdown che compare cliccando sul Path Control (1) e successivamente selezionando “Edit scheme”.


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-05

Ed ecco finalmente visualizzato il nostro Scheme Editor.


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-06

Selezioniamo lo scheme “Archive–Release” (1) e trasformiamo la Build Configuration da “Release” ad “AdHoc”, tramite la selezione nel menu dropdown (2).
Nota: la “Destination” deve essere impostata a “iOS Device” (3).

Prima di cliccare su “OK” verifichiamo che lo Scheme “AdHoc” sia impostato correttamente:


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-07

A questo punto possiamo procedere con l’ “Archive”.

Tramite la voce di menu “Product” selezioniamo “Archive”:


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-08

Se si fa l’archive del progetto in un momento successivo può accadere di ritrovarsi con la voce di menu non selezionabile. Evidentemente stiamo cercando di archiviare non avendo come target il device, ma il simulatore. Quindi assicuriamoci sempre di trovarci nella seguente situazione:


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-09

Finalmente viene “buildato” il nostro progetto e viene creato l’archivio. Automaticamente si aprirà l’Organizer con già selezionato il tab “Archives”, il quale contiene tutti i nostri progetti di cui abbiamo fatto la build.


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-10

Selezioniamo l’app che intendiamo distribuire (1), nel nostro caso “DevAppTut”, e clicchiamo “Share” (2).
Potrebbe succedere che alla fine della build l’Organizer non si apra automaticamente, allora ci toccherà farlo manualmente tramite il menu Window | Organizer


Xcode-4-Distribuzione-Ad-Hoc-delle-applicazioni-iPhone-e-iPad-11

Selezioniamo “iOS App Store Package (.ipa)” (1) e come “Identity” scegliamo ancora una volta il nostro certificato (2) proseguiamo quindi cliccando Next. Nella finestra successiva potremo decidere dove salvare il file e quale nome assegnargli.
Sarà un filename puramente identificativo; una volta installata sul device la nostra app avrà il nome che abbiamo deciso per il nostro “Bundle name”.

Dico questo perchè in fase di test non è da sottovalutare l’uso di una numerazione progressiva per identificare il file sotto test e non il numero di versione che, personalmente decido all’inizio della lavorazione e che cambio in vista di significativi passi avanti fatti in corso di sviluppo ed affinamento.

Ed eccolo finalmente il nostro file pronto per essere inviato all’amico, betatester, cliente… il quale dovrà semplicemente trascinarlo sull’icona di iTunes e sincronizzare il suo dispositivo.


PiPlayer-banner

Share this story:
  • tweet

Tags: distribuire applicazioni da XCode 4distribuzione Ad Hoc XCode 4Guide varieStrumenti di Sviluppo Applesviluppatori iPhonetest applicazioni XCodetutorial XcodeXcode 4

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Tutorial pratici per iOS SDK: disponibile la versione 2.0 aggiornata a iOS 5 e XCode 4.2

    16 Novembre 2011 - 6 Comments
  • T#101 – Integrare AirPrint per stampare dalle applicazioni iPhone e iPad

    13 Settembre 2011 - 10 Comments
  • T#100 – Integrare Dropbox nelle applicazioni iPhone ed iPad

    9 Settembre 2011 - 11 Comments

Author Description

20 Responses to “Xcode 4: Distribuzione Ad Hoc delle applicazioni iPhone e iPad”

  1. 10 Gennaio 2012

    daniela

    Grazie Francesco, era una delle cose che non riuscivo proprio a fare !
    Mi servirà giusto a breve quindi…… benarrivato !!

  2. 16 Gennaio 2012

    Luca

    Ottimo tutorial…… grazie.

  3. 29 Gennaio 2012

    leopardmac (michele)

    grandi, era un problema che da mesi non riuscivo a risolvere, vi meritate 10+

  4. 29 Gennaio 2012

    leopardmac (michele)


    leopardmac (michele):

    grandi, era un problema che da mesi non riuscivo a risolvere, ma a me da ancora questo problema

    Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate. (-19011)

    come lo risolvo?

  5. 20 Febbraio 2012

    daniela

    Fantastico !
    Funziona alla perfezione. Grazie Francesco !!!!

  6. 21 Febbraio 2012

    cesare

    Ottimo, ho solo una domanda per il betatest su altri device non bisogna inviare anche il certificato di distrbuzione?
    Grazie Cesare

  7. 22 Febbraio 2012

    Francesco Montrone

    in rigoroso ordine cronologico
    @daniela + luca + luca : grazie
    @luca : rivedi perbene la validità dei certificati. associa il certificato corretto nel tab “building settings” -> code signing identity. non è escluso un tour nell’organizer con l’elimanazione dei certificati e il reinserimento degli stessi (se sei assolutamente sicuro che sono gli ultimi validi in tuo possesso)
    @cesare : l’ipa contiene al suo interno il certificato di distribuzione, pertanto non occorre fornire altro che non sia il .ipa

    grazie

  8. 22 Febbraio 2012

    cesare

    Grazie Francesco
    Cesare

  9. 28 Febbraio 2012

    cesare

    Grazie ancora e volevo solo dire che:

    Sul mio iPhone ha funzionato benissimo ma non sul quello del tester dove dice che non è compatibile eppure tutti e due igli iPhone sono presenti nel certificato ed ho abbassato il target a 3.1 per essere compatibile col mio tester.

    Grazie, avete qualche idea?

  10. 28 Marzo 2012

    Simone

    Grazie della guida. Posseggo due iPhone (iPhone 1 e iPhone 2) e sto facendo qualche prova.
    Avrei due domande:
    1. Se il provisioning profile Ad Hoc contiene solo il device “iPhone 1” ma non il Device “iPhone 2” riesco lo stesso ad installare la applicazione nel iPhone 2? Chiuedo questo perché stranamente sono riuscito a fare il deploy “Share” del programma e sincronizzare la app con iPhone 2. Non dovrebbe bloccarsi?
    2. Dal tasto Share *non* posseggo la possibilità di creare il file IPA, ma ho solo come opzioni:

    – Contents:
    1. Package (No Package exist for the type of app) [NON SELEZIONABILE]
    2. Build Products
    3. Archive
    – Identity:
    1. This Kind of Archive cannot be signed [NON SELEZIONABILE]

    Grazie dell’aiuto!

  11. 8 Aprile 2012

    @Andrea

    Grazie. vi scrivo perche comunque non mi va dando questo errore
    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘iOS 5.1’

    Ho un iphone 5.0 e malgrado giorni di prove non trovo l’inghippo

    Grazie ancora ciao Andrea

  12. 9 Aprile 2012

    @Andrea


    @Andrea:

    Grazie. vi scrivo perche comunque non mi va dando questo errore
    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘iOS 5.1′
    Ho un iphone 5.0 e malgrado giorni di prove non trovo l’inghippo
    Grazie ancora ciao Andrea

  13. 3 Maggio 2012

    Luca

    ottimo articolo! Una domanda, cosa cambia dal tuo tutorial se al posto che creare un .ipa ad hoc volessimo pubblicarlo sull’apple store?

  14. 5 Giugno 2012

    Andrea

    Ciao a tutti.
    quasi tutti i miei amici a cui vorrei fargli fare da cavia, non hanno l’iphone sincronizzato con iTunes. Scaricano le app direttamente dall’iphone. Non volgi fargli allineare le app con iTunes, così non sono legati al pc. Ciò vuol dire che non posso fargli provare la mia applicazione?

  15. 19 Giugno 2012

    past

    Molto bene, grazie: sono riuscito così ad inviare la mia prima app ad un amico per vedere cosa ne pensa. Ho provato però anche il pulsante “archivio” perché volevo avere un “pacchetto” contenente tutti i files che ho usato e creato per fare l’applicazione: infatti ogni volta che facevo dei cambiamenti mi tenevo prudentemente la versione precedente, colo che ora l’App linka a files .m o .h contenuti in altre cartelle. Si riesce a “esportare” un archivio per tenerlo come base per le future modifiche?
    Grazie mille
    Fausto

  16. 20 Luglio 2012

    Antonio

    Ho seguito alla lettera tutti i punti, ma quando vado a creare l’archivio mi torna l’errore che la compilazione non è andata a buon fine. Ci sono altri passi e/o controlli che posso fare?
    Grazie 1000

  17. 22 Agosto 2012

    Sil

    Salve, sono giorni che provo e riprovo senza esito ad inserire il Code Signing Identity ..
    però ho notato una cosa, in sostanza quando scorro la lista dei profili selezionabili da relazionare ad es. ad AdHoc (oppure Debug o Release che sia..), non vedo i miei nuovi Priofiling nella lista, ma sempre i vecchi. Anzi noto che alcuni Profili che ho fatto sono in grigio chiaro, quindi non selezionabili.
    Esiste un modo per fare un “reset” alla lista dei profili disponibili e quindi selezionabili ???

  18. 22 Settembre 2012

    Giuseppe

    Buonasera, vi risulta ancora funzionante il metodo con il nuovo xcode 4,5? Ora mi crea un file .ipa di piccolissime dimensioni che non puo’ essere installato sul dispositivo.

    Grazie
    Giuseppe

  19. 17 Giugno 2013

    Sergio

    Salve a tutti,

    sono giorni che ci lavoro …ma non riesco proprio a creare un IPA installabile sul mio iPad.

    Se eseguo il codice sul device, tutto ok …se distribuisco l’IPA, trascinandolo su iTunes, niente ..ricevo questo errore:

    Jun 17 00:18:33 SergioiPad lockdownd[45] : 01542000 __copy_itunes_value_block_invoke_0: com.apple.mobile.iTunes.store/PurchaseTypes -> (null)
    Jun 17 00:18:37 SergioiPad installd[54] : 0x2ff7f000 handle_install: Install of “/var/mobile/Media/PublicStaging/***.ipa” requested by itunesstored
    Jun 17 00:18:37 SergioiPad installd[54] : 0x2ff7f000 MobileInstallationInstall_Server: Installing app it.***.***
    Jun 17 00:18:37 SergioiPad mobile_assertion_agent[101] : service_one_connection: Connection closed for client iTunes.
    Jun 17 00:18:37 SergioiPad installd[54] : Jun 17 00:18:37 SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName]
    Jun 17 00:18:38 SergioiPad installd[54] : 0x2ff7f000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.66cmMz/foo_extracted/Payload/***.app/***: 0xe8008017
    Jun 17 00:18:38 SergioiPad installd[54] : 0x2ff7f000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.66cmMz/foo_extracted/Payload/***.app
    Jun 17 00:18:38 SergioiPad itunesstored[73] : 0x19ce000 MobileInstallationInstall: failed with -1
    Jun 17 00:18:38 SergioiPad installd[54] : 0x2ff7f000 install_application: Could not preflight application install
    Jun 17 00:18:38 SergioiPad installd[54] : 0x2ff7f000 handle_install: API failed

    Ho seguito alla lettere le guide …nulla 🙁

    Chi mi aiuta ?

  20. 13 Agosto 2013

    Leonardo

    Ciao grazie della guida, una vera manna dal cielo; ho una domanda sono fermo al passaggio BUILD -> ARCHIVE; mi da buil failed e mi dice A valid provisioning profile matching the application’s Identifier ‘Verona-For-You.VeronaForYou’ could not be found

    cosa significa? non riesco a capire mi sapete dare una dritta? sarebbe mooolto utile!!

    Grazie

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO