2015-04-23 16 views
5

Utilizzo Xcode 6.3.1 per lo sviluppo di un gioco iOS con cocos2dx 2.2.6. Ho bisogno di cambiare il nome della mia applicazione iOS.XCode 6.3.1 si arresta in modo anomalo durante la ridenominazione del progetto

Ho usato per farlo premendo il tasto Invio dopo aver fatto clic sul progetto in XCode. Si aprirà una finestra di dialogo che conferma dove si desidera modificare il nome nel progetto.

Due giorni fa ho aggiornato Xcode e ora quando premo invio per cambiare il nome del progetto, apre la finestra di dialogo e si blocca improvvisamente.

Se qualcuno può trovarmi un metodo alternativo per modificare il nome dell'applicazione per il mio progetto iOS, sarei grato. Grazie

+0

Per curiosità ho appena provato a rinominare un nuovo progetto nell'ultimo Xcode, usando l'ispettore del file, e Xcode dice che raccoglie informazioni e poi si blocca! Possibile errore credo. – Bamsworld

+0

Sì, lo stesso. Se sai quale versione funzionava correttamente potresti usarla per ora su una macchina separata (o virtuale), l'unica alternativa che posso vedere è fare tutto il lavoro manualmente: dovrai rinominare anche alcuni file e directory come modificare il contenuto dei file di testo del progetto, se si dispone di due versioni dei progetti con le modifiche minime richieste, qualsiasi strumento di controllo del codice grafico sarebbe di grande aiuto per esaminare le differenze. Potrebbe anche voler inviare una segnalazione di bug e lasciare un riferimento qui. –

+0

Se qualcuno può capire le modifiche manuali che devono essere apportate per cambiare il nome dell'applicazione, guidami gentilmente. –

risposta

8

Non modificare il nome del progetto. Dovresti essere in grado di farlo senza schiantarsi, ma il fatto che non puoi farlo non ha importanza. Non è necessario cambiarlo, quindi non farlo. Lascia solo il nome del progetto; non ha nulla a che fare con ciò che l'utente vede mai. Vuoi cambiare il nome dell'app , che è una cosa completamente diversa.

  • Il nome dell'app, come illustrato di seguito l'icona sul dispositivo, è l'impostazione CFBundleDisplayName (bundle Nome visualizzato) nella Info.plist. Questo è tutto ciò che devi cambiare (potresti aver bisogno di crearlo).

  • Il nome dell'app che gli utenti vedranno nell'App Store è ancora diverso; è qualcosa che imposterai manualmente nel tuo browser su iTunes Connect quando invii l'app.

MODIFICA: Apple ha appena (segretamente) rilasciato Xcode 6.3.2 seme GM, che si dice che risolva il bug di arresto anomalo.

ULTRA MODIFICA: Xcode 6.3.2 finale (non il seme GM) sembra davvero risolvere questo bug che si blocca.

+0

Grazie amico. Questo è stato davvero utile. È esattamente quello che dovevo fare. –

+0

Ho upvoted ma "Non cambiare il nome del progetto" non è un suggerimento premuroso. Non si tratta solo di ciò che vede l'utente, ma di nuovo Xcode, Macos e dei loro bug ... – EralpB

+0

@EralpB non cambia il nome del progetto solo per cambiare il nome dell'app. Questo è un ottimo consiglio. Non modificare il nome del progetto fino a quando non viene corretto questo errore irreversibile. Anche questo è un buon consiglio. Ora, se hai scioccamente messo una virgola nel nome del progetto, quel consiglio non si applica a te ... – matt

11

Aggiornamento: passaggio 4 fisso per funzionare correttamente con nomi file contenenti spazi.

Ho usato i comandi di shell per rinominare i progetti alcune volte, e ha funzionato meglio del rinominare da Xcode stesso. Questi sono i passi (dato che vogliamo rinominare warnings_test =>BestAppEver) (potrebbe essere necessario installare alcuni strumenti aggiuntivi con brew install rename ack):

  1. Trova tutti i file con il nome che contengono la stringa di origine:

    $ find . -name 'warnings_test*' 
    ./warnings_test 
    ./warnings_test.xcodeproj 
    ./warnings_test.xcodeproj/xcshareddata/xcschemes/warnings_test.xcscheme 
    ./warnings_testTests 
    ./warnings_testTests/warnings_testTests.m 
    
  2. Rinominare i file e le directory:

    $ find . -name 'warnings_test*' -print0 | xargs -0 rename -S 'warnings_test' 'BestAppEver' 
    

    Avrai bisogno di eseguire questo comando un paio di volte, poiché le directory verranno rinominate per prime, quindi i file e le directory all'interno di essi verranno rinominati alla successiva iterazione. Verificare con il passaggio 1 se tutti i file sono stati rinominati (dovrebbe visualizzare l'output vuoto).

  3. trovare tutte le occorrenze della stringa in tutti i file:

    $ ack --literal 'warnings_test' 
    

    Guardare attraverso l'uscita per assicurarsi che tutti coloro stringa deve essere sostituito. Nella maggior parte dei casi, dovrebbero.

  4. sostituire tutte le occorrenze:

    $ ack --literal --files-with-matches 'warnings_test' --print0 | xargs -0 sed -i '' 's/warnings_test/BestAppEver/g' 
    

    una corsa è sufficiente. Per verificare, eseguire di nuovo il comando nel passaggio 3, dovresti vedere l'output vuoto.

Fatto! Tutti i tuoi obiettivi, schemi, file, citazioni nei commenti, identificatori, nomi, ecc. Sono stati rinominati. Se si git add . e git status, si dovrebbero vedere molte voci renamed: (solo un altro controllo di integrità).

+0

Grazie ma ho solo dovuto cambiare il nome e quello risultarono essere piuttosto facili. Grazie comunque –

+0

Cool ~ un modo così semplice per farlo. Grazie man –

+1

@eugene passaggio 4 Ricevo il seguente errore: "sed: Completely: No such file or directory". Qualche idea del perché? – luca

Problemi correlati