Come faccio a rinominare completamente un progetto Xcode (ad esempio includendo le cartelle)?

Ho un progetto chiamato XXX . Voglio rinominare questo progetto in YYY .

Si noti che XXX è un termine estremamente comune (ad esempio “dati”, o semplicemente “progetto”), e quindi una semplice ricerca e sostituzione di RegEx non è ansible, senza il rischio di corrompere i file di configurazione del progetto.

La mia directory di progetto corrente contiene i seguenti elementi:

  • XXX
  • XXXTests
  • XXX.xcodeproj

e voglio rinominarli in:

  • YYY
  • YYYTests
  • YYY.xcodeproj

… rispettivamente, con i cambiamenti necessari che si riflettono nel mio file di progetto.

Come posso realizzare questo senza dover creare manualmente e popolare un nuovo progetto?


Edit: È assolutamente ridicolo che questa sia diventata la mia domanda più motivata: p

Passaggio 1: rinominare il progetto

  1. Fai clic sul progetto che desideri rinominare nel “Navigatore progetto” a sinistra della vista Xcode.
  2. Sulla destra seleziona “File inspector” e il nome del tuo progetto dovrebbe essere lì sotto “Identity and Type”, cambiandolo con il nuovo nome.
  3. Fai clic su “Rinomina” in un menu a discesa

Passaggio 2: rinominare lo schema

  1. Nella barra in alto (vicino al pulsante “Stop”), c’è uno schema per il tuo prodotto OLD, fai clic su di esso, quindi vai a “Gestisci schemi”
  2. Fai clic sul nome OLD nello schema e diventerà modificabile, cambia il nome

Passaggio 3: rinominare la cartella con le risorse

  1. Esci da Xcode
  2. Nella cartella master correttamente denominata, c’è un nuovo file xcodeproj con la cartella OLD erroneamente chiamata. Rinominare la cartella OLD con il nuovo nome
  3. Riaprire il progetto, verrà visualizzato un avviso: “La cartella OLD non esiste”, chiudere l’avviso
  4. Nel “Navigatore progetto” sulla sinistra, fai clic sul nome della cartella OLD di livello superiore
  5. Nel pannello Utilità sotto “Id quadro e tipo” vedrai la voce “Nome”, cambia questa da OLD al nuovo nome
  6. Appena sotto c’è una voce “Location”. Fare clic su una cartella con il nome OLD e scegliere la cartella appena rinominata

Passaggio 4: rinominare i dati plist Build **

  1. Fai clic sul progetto nel “Navigatore progetto” a sinistra, nel pannello principale seleziona “Impostazioni build”
  2. Cerca “plist” in questa sezione
  3. Sotto la confezione, vedrai Info.plist e l’ Product bundle identifier
  4. Rinominare la voce principale in Info.plist
  5. Fai lo stesso per Product Identifier

Finalmente , hai finito e puoi ribuild ( Command + Shift + K per pulire, Command + B per build)

Per aggiungere all’eccellente risposta di @ luke-west:

Quando si utilizza CocoaPods

Dopo il passaggio 2:

  1. Esci da XCode.
  2. Nella cartella principale, rinomina OLD.xcworkspace in NEW.xcworkspace .

Dopo il passaggio 4:

  1. In XCode: scegli e modifica Podfile dal navigatore del progetto. Dovresti vedere una clausola di target con il nome OLD. Cambialo in NUOVO.
  2. Esci da XCode.
  3. Nella cartella del progetto, eliminare il file OLD.podspec .
  4. rm -rf Pods/
  5. Esegui pod install .
  6. Apri XCode.
  7. Fai clic sul nome del tuo progetto nel navigatore del progetto.
  8. Nel riquadro principale, passa alla scheda Build Phases .
  9. Sotto Link Binary With Libraries , cerca libPods-OLD.a ed eliminalo.
  10. Se hai un’intestazione Bridging objective-c vai a Build settings e cambia la posizione dell’intestazione da OLD / OLD-Bridging-Header.h a NEW / NEW-Bridging-Header.h
  11. Pulisci e corri.

Una soluzione più rapida che utilizza i comandi di shell (funziona anche con CocoaPods):

PER FAVORE, SCEGLIERE UN REPOSITARIO NON IDONEO PRIMA DI PROCEDERE ⚠️

Passaggio 1: prerequisiti

  1. Copia la cartella del tuo progetto originale in un file /NewProjectFolder temporaneo OUTSIDE del tuo repository git. ⚠️ modifiche a .git potrebbero danneggiare il tuo indice git 💥 ☠

Passaggio 2: aprire il terminale

Ora rinomineremo il progetto da oldName a NewProject .

  • Chiudi XCode.
  • Vai a /NewProjectFolder .
 cd /Path/to/your/NewProjectFolder 
  • Installa gli strumenti extra necessari.
 brew install rename ack 
  • Rinominare i file e le directory contenenti la stringa di origine. È necessario ESEGUIRE QUESTA COMANDO DUE VOLTE , poiché le directory verranno rinominate per prime, quindi i file e le directory all’interno di essi verranno rinominati alla successiva iterazione.
 find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject' 
  • Controlla se tutti i file contenenti la stringa di origine sono stati rinominati. Dovresti vedere un output vuoto.
 find . -name 'oldName*' 
  • Sostituisci tutte le occorrenze della stringa in tutti i file.
 ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g' 
  • Controlla se tutte le occorrenze della stringa in tutti i file sono state sostituite. Dovresti vedere un output vuoto.
 ack --literal 'oldName' 
  • Esegui pod install
  • Aggiungi NewProjectFolder al tuo repository.
  • Hai fatto!

Per cambiare il nome del progetto;

  1. Seleziona il tuo progetto nel navigatore del progetto.

2. Nella sezione Identity framework e tipo della finestra di ispezione File, immettere un nuovo nome nel campo Nome.

3.Premere Return.

Viene visualizzata una finestra di dialogo che elenca gli elementi nel progetto che è ansible rinominare. La finestra di dialogo include un’anteprima di come appariranno gli oggetti dopo la modifica.

  1. Per rinominare gli oggetti in modo selettivo, distriggers le caselle di controllo per gli elementi che non desideri rinominare. Per rinominare solo la tua app, lascia l’app selezionata e deseleziona tutti gli altri elementi.

  2. Premi “Rinomina”

C’è un progetto GitHub chiamato Xcode Project Renamer :

Dovrebbe essere eseguito dall’interno della directory del progetto Xcode e chiamato con due parametri stringa: $ OLD_PROJECT_NAME e $ NEW_PROJECT_NAME

Lo script passa tutti i file e le directory in modo ricorsivo, incluso il progetto Xcode o il file dello spazio di lavoro e sostituisce tutte le occorrenze della stringa $ OLD_PROJECT_NAME con la stringa $ NEW_PROJECT_NAME (sia nel nome e nel contenuto di ciascun file).

Xcode Project Renamer

Ulteriori istruzioni quando segui le soluzioni @ + di Luke-West di Luke-West:

  • Se il tuo schema non è cambiato (mostrando ancora il mio Mac) in alto a sinistra accanto al pulsante stop:

    1. Fare clic su NEWLY creato Nome del progetto (accanto al pulsante di stop)> Fare clic su Modifica schemi> Costruisci (lato sinistro)> Rimuovi il vecchio target (si dice che manchi) e sostituirlo con il NUOVO progetto denominato sotto NEWLY nome del progetto logo

Inoltre, non ho dovuto usare la fase 3 della soluzione di @ Vaiden. Basta eseguire rm -rf Pods/ in terminal per sbarazzarsi di tutti i vecchi file pod

Inoltre, non ho dovuto utilizzare il passaggio 9 nella soluzione di @ Vaiden, ma ho appena rimosso il progetto OLD denominato framework sotto Link Binary Libraries (il framework NEWly era già presente)

Quindi i passaggi aggiornati sarebbero i seguenti:

Passaggio 1: rinominare il progetto

  1. Fai clic sul progetto che desideri rinominare nel “Navigatore progetto” a sinistra della vista Xcode.
  2. Sulla destra seleziona “File inspector” e il nome del tuo progetto dovrebbe essere lì sotto “Identity and Type”, cambiandolo con il nuovo nome.
  3. Fai clic su “Rinomina” in un menu a discesa

Passaggio 2: rinominare lo schema

  1. Nella barra in alto (vicino al pulsante “Stop”), c’è uno schema per il tuo prodotto OLD, fai clic su di esso, quindi vai a “Gestisci schemi”
  2. Fai clic sul nome OLD nello schema e diventerà modificabile, cambia il nome
  3. Esci da XCode.
  4. Nella cartella principale, rinomina OLD.xcworkspace in NEW.xcworkspace.

Passaggio 3: rinominare la cartella con le risorse

  1. Esci da Xcode
  2. Nella cartella master correttamente denominata, c’è un nuovo file xcodeproj con la cartella OLD erroneamente chiamata. Rinominare la cartella OLD con il nuovo nome
  3. Riaprire il progetto, verrà visualizzato un avviso: “La cartella OLD non esiste”, chiudere l’avviso
  4. Nel “Navigatore progetto” sulla sinistra, fai clic sul nome della cartella OLD di livello superiore
  5. Nel pannello Utilità sotto “Identity framework e tipo” vedrai la voce “Nome”, cambia questa da OLD al nuovo nome
  6. Appena sotto c’è una voce “Location”. Fare clic su una cartella con il nome OLD e scegliere la cartella appena rinominata

Passaggio 4: rinominare i dati plist Build

  1. Fai clic sul progetto nel “Navigatore progetto” a sinistra, nel pannello principale seleziona “Impostazioni build”
  2. Cerca “plist” in questa sezione Sotto l’imballaggio, vedrai Info.plist e l’identificatore del bundle del prodotto
  3. Rinominare la voce principale in Info.plist
  4. Fai lo stesso per Product Identifier

Passaggio 5 Gestione di Podfile

  1. In XCode: scegli e modifica Podfile dal navigatore del progetto. Dovresti vedere una clausola di destinazione con il nome OLD. Cambialo in NUOVO.
  2. Esci da XCode.
  3. Nel terminale, cd nella directory del progetto, quindi: rm -rf Pods/
  4. Esegui installazione pod.
  5. Apri XCode.
  6. Fai clic sul nome del tuo progetto nel navigatore del progetto.
  7. Nel riquadro principale, passa alla scheda Fasi di creazione. Sotto Link Binary With Libraries, cerca il framework OLD e rimuovilo (dovresti dire che manca) Il NEWly framework nominato dovrebbe già essere lì, altrimenti usa il pulsante “+” nella parte inferiore della finestra per aggiungerlo
  8. Se hai un’intestazione Bridging objective-c vai a Build settings e cambia la posizione dell’intestazione da OLD / OLD-Bridging-Header.h a NEW / NEW-Bridging-Header.h
  9. Pulisci e corri.

Dovresti essere in grado di creare senza errori dopo aver seguito correttamente tutti i passaggi