SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Sistemare l’errore “missing architecture” in Xcode e nell’Organizer

Dopo aver scaricato il nuovo xCode 4.2 ho provato ad inviare una nuova app, ma
sia durante la compilazione in xCode che durante l’operazione di validazione nell’Organizer, ho ricevuto l’errore:

 objc |  copy code |? 
1
warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")
2
iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)

Per sistemare tutto basta accedere alla sezione “Build Setting” del Target del progetto, poi andare nella sezione “Architectures” in cui dovrebbe esserci Standard (arm7) – ${ARCHS_STANDARD_32_BIT) ed aggiungere anche armv6 e armv7.

enjoy

CodeSign error: Certificate identity iPhone Distribution: appears more than once in the keychain. The codesign tool requires there only be one.

Se dovete gestire più di un account Apple ID, potrebbe capitarvi di vedere il seguente messaggio durante la creazione della versione dell’app per il caricamento nell’App Store:

 objc |  copy code |? 
1
CodeSign error: Certificate identity iPhone Distribution:  appears more than once in the keychain. The codesign tool requires there only be one.

Questo errore è legato al fatto che esistono due certificati con lo stesso nome nel portachiavi. Io ho fatto un po’ di prove, ed alla fine ho risolto così:

  • Cancello le nuove entry duplicate nell’applicazione portachiavi che si trova in “Applicazioni”->”Utility”->”Accesso Portachiavi”
  • Creo un nuovo portachiavi da “Archivio”->”Nuovo portachiavi”
  • Rendo di default il nuovo portachiavi, cliccandoci sopra con il tasto destro e selezionando la voce “Rendi portachiavi xxx di default
  • IMPORTANTE: faccio una copia del portachiavi originale, generalmente chiamato “login” per sicurezza. Il file del portachiavi si trova aprendo il Finder e poi andando nella cartella “Libreria”->”Keychains”. Copiare il file in un luogo sicuro
  • Cancellare il portachiavi originale, generalemnte chiamato “login”, cliccandoci su con il tasto destro e scegliendo “Elimina portachiavi login”. Alla successiva richiesta, scegliere “Elimina riferimenti”
  • Ora si può aprire xCode, poi l’organizer e reimportare i vari certificati dal proprio profilo. Con xCode 4 questo è molto semplice, perché avviene praticamente in automatico.
  • Associare il corretto profilo nel “Code Signign Identity” della sezione “Build Settings” di xCode”
  • Finalmente potrete compilare la vostra app

Finita la procedura di compilazione e caricamento dell’app, potrete reimpostare il portachiavi originale, dalla voce “Archivio”->”Aggiungi portachiavi..” dell’applicazione “Accesso portachiavi” e selezionare il file “login.keychain” che viene visualizzato.

enjoy!

Nomi delle immagini durante lo sviluppo per iPhone/iPad

Durante lo sviluppo con Xcode, spesso ci si dimentica quali siano i nomi e le dimensioni delle immagini di default da usare per i vari dispositivi.

Tra la vasta documentazione di Apple, c’è anche il seguente schema (clicca sopra per vederlo più grande):

Mi sembra sintetico ed intuitivo

enjoy!

Aggiungere un Framework esistente in XCode 4

In XCode 4, l’ambiene di sviluppo recentemente rilasciato da Apple, l’aggiunta di framework esistenti (es UIKit, QuartzCore, etc) va fatto in maniera differente rispetto alla versione di XCode 3.
Le operazioni da fare sono le seguenti:

  1. Nel project navigator, selezionare il proprio progetto(dove c’è l’iconcina celeste in alto a sinistra)
  2. Selezionare il target dalla colonna subito a destra che viene visualizzata
  3. Selezionare la scheda ‘Build Phases’ dalla terza colonna
  4. Aprire il blocco ‘Link Binaries With Libraries’ cliccandoci sopra
  5. Cliccare il pulsante con il simbolo ‘+’ in basso
  6. Selezionare il nuovo framework

enjoy

Aggiungere immagini alla libreria di iPhone Simulator

Potrebbe capitare tra i vari test con l’iPhone Simulator di dover lavorare con delle immagini. Purtroppo la libreria è vuota non ci sono strumenti per caricare direttamente le immagini.

Come procedere? Ci sono due modi:

1 – manuale) Le immagini sono nella cartella ~/Library/Application Support/iPhone Simulator/4.3.2/Media/DCIM/100APPLE/ (nel mio caso 4.3.2 è l’ultima versione installata, nel vostro caso basta ricontrollare) e sono chiamate IMG_XXXX.JPG, dove XXXX è un numero che parte da 0000. Ad esempio il path completo di una immagine potrebbe essere: ~/Library/Application Support/iPhone Simulator/4.3.2/Media/DCIM/100APPLE/IMG_0000.JPG

2 – automatico) Scaricare l’applicazione ImageImporter (originale), compilarla ed avviarla in xCode e poi indicare il path con le immagini da importare nella libreria dell’iPhone Simulator.

enjoy

Page optimized by WP Minify WordPress Plugin