Gostaria de poder duplicar um projeto Xcode inteiro, renomear o projeto e os arquivos associados sem que o Xcode ficasse mental e sem ter que reimportar manualmente todos os arquivos para o projeto.
fonte
Gostaria de poder duplicar um projeto Xcode inteiro, renomear o projeto e os arquivos associados sem que o Xcode ficasse mental e sem ter que reimportar manualmente todos os arquivos para o projeto.
Esta resposta é o culminar de várias outras postagens e tutoriais do StackOverflow pela Internet, reunidos em um único local para referência futura e para ajudar qualquer pessoa que esteja enfrentando o mesmo problema. Todo o crédito é concedido para outras respostas no final.
No Finder, duplique a pasta do projeto no local desejado do seu novo projeto. Não renomeie o nome do arquivo .xcodeproj ou as pastas associadas neste estágio.
No Xcode, renomeie o projeto. Selecione seu projeto no painel do navegador (painel esquerdo). No painel Utilitários (painel direito), renomeie seu projeto, Aceite as alterações que o Xcode propõe.
No Xcode, renomeie os esquemas em "Gerenciar esquemas", renomeie também os destinos que você tiver.
Se você não estiver usando o Identificador de pacote padrão que contém o PRODUCT_NAME atual no final (será atualizado automaticamente), altere seu Identificador de pacote para o novo que você usará no seu projeto duplicado.
Portanto, depois de seguir as etapas acima, você deve ter um projeto Xcode duplicado e renomeado que deve ser compilado e compilado com êxito, no entanto, sua pasta de código-fonte ainda será nomeada como no projeto original. Isso não causa problemas no compilador, mas não é a estrutura de arquivos mais clara para as pessoas navegarem no SCM, etc. Para renomear esta pasta sem interromper todos os links de arquivos, siga estas etapas:
No Finder, renomeie a pasta de origem. Isso interromperá o seu projeto, porque o Xcode não detectará automaticamente as alterações. Todas as suas listagens de arquivos xcode perderão seus links com os arquivos reais, e todas ficarão vermelhas.
No Xcode, clique na pasta virtual que você renomeou (Isso provavelmente estará no topo, logo abaixo do seu projeto .xcode real). Renomeie para coincidir com o nome no Finder, isso não corrigirá nada e não é estritamente um etapa necessária, mas é bom ter os nomes dos arquivos correspondentes.
No Xcode, selecione a pasta que você acabou de renomear no painel de navegação. Em seguida, no painel Utilitários (extrema direita), clique no ícone que se parece com a pasta cinza escura, logo abaixo do menu suspenso 'Local'. A partir daqui, navegue até a pasta renomeada no localizador e clique em 'Escolher'. Isso irá associar automaticamente automaticamente todos os seus arquivos e eles não deverão mais aparecer em vermelho no painel de navegação do Xcode.
Nas configurações de construção do seu projeto / destinos, procure o nome da pasta antiga e renomeie manualmente as ocorrências encontradas. Normalmente, existe um para o prefix.pch e outro para o info.plist, mas pode haver mais.
Se você estiver usando bibliotecas de terceiros (Testflight / Hockeyapp / etc), também precisará procurar por 'Caminhos de pesquisa da biblioteca' e renomear aqui também quaisquer ocorrências do nome do arquivo antigo.
Repita esse processo para qualquer pasta de código-fonte de teste de unidade que seu projeto possa conter; o processo é idêntico.
Isso deve permitir que você duplique e renomeie um projeto xcode e todos os arquivos associados sem precisar editar manualmente nenhum arquivo xcode, além de arriscar estragar tudo.
Muito obrigado é dado a Nick Lockwood e Pauly Glott por fornecer respostas separadas para esse problema.
*.xcodeproj/project.pbxproj
arquivo que continham o caminho da pasta original. Em particular, a construção estava falhando porque continuava procurando um info.plist na pasta original.Estou postando isso desde que sempre lutei ao renomear um projeto no
XCode
.Renomear o projeto é bom e simples, mas isso não renomeia a pasta de origem. Aqui está um passo a passo do que eu fiz que funcionou muito bem no Xcode 4 e 5, graças aos links abaixo.
Links REF:
Renomear projeto.
Renomeie a pasta de origem e outros arquivos.
1- Faça backup do seu projeto.
Se você estiver usando o git, confirme as alterações, faça uma cópia de toda a pasta do projeto e faça backup no time machine antes de fazer alterações (esta etapa não é necessária, mas eu recomendo).
2- Abra seu projeto.
3- Clique duas vezes lentamente ou pressione Enter no nome do projeto (ícone azul no topo) e renomeie-o para o que quiser.
4- Renomeie o esquema
a) Clique no menu ao lado do botão Parar e selecione Gerenciar esquemas.
b) Clique com o botão direito do mouse ou pressione Enter no antigo esquema de nomes e renomeie-o para o que quiser.
c) Clique em ok.
5 - Crie e execute para garantir que funcione.
6- Feche o projeto.
7- Renomeie a pasta principal e a fonte.
8- Clique com o botão direito do mouse no
.xcodeproj
arquivo do pacote do projeto e selecione “Mostrar Conteúdo do Pacote” no menu de contexto. Abra o arquivo .pbxproj com qualquer editor de texto.9- Pesquise e substitua qualquer ocorrência do nome da pasta original pelo novo nome da pasta.
10- Salve o arquivo.
11- Abra o projeto XCode, teste-o.
12- Feito.
EDIT 10/11/19:
Existe uma ferramenta para renomear projetos no Xcode, que eu não tentei o suficiente para comentar. https://github.com/appculture/xcode-project-renamer
fonte
A partir do XCode 7, isso se tornou muito mais fácil.
A Apple documentou o processo em seu site: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html
Atualização: link do XCode 8: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f
fonte
Estou usando esse script depois de renomear meu projeto iOS. Ajuda a alterar o nome dos diretórios e sincronizar os nomes.
NOTA: você precisará alterar manualmente o nome do esquema.
fonte
No código de exemplo do livro "OpenCV instantâneo para iOS" , encontrei um script bash que copia um projeto de uma pasta para outra.
Pesquisando um pouco, encontrei um post do blog que parece ser o autor original do script: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , em que você pode baixar o script . Eu tentei e executá-lo a partir do terminal como este
funciona bem.
Informações adicionais podem ser encontradas abrindo o arquivo com um editor de texto. espero que ajude
fonte
Estou usando o Xcode 6+ e apenas faço:
*.xcodeproj or *.xcworkspace
Aqui está feito, mas o nome da janela Xcode e
*.xcodeproj or *.xcworkspace
ainda<old-name>
. Então eu faço:pop install
<new name>.xcworkspace
fonte
Mais uma coisa para tentar!
Quando copiei todos os meus arquivos, abri o projeto e o renomeei, tudo mudou para o meu novo nome de projeto, exceto o destino do teste! Eu recebi um erro de vinculador dizendo que estava faltando um arquivo chamado "myOldProjectname.app". Aqui está o que foi corrigido:
Clique nas configurações do seu projeto e selecione seu alvo de teste
Clique nas configurações de compilação e pesquise "host de teste"
Verifique esses 2 caminhos de arquivo. As chances são de que esses dois caminhos ainda estejam apontando para o nome do seu projeto antigo.
Espero que ajude!
fonte
Para qualquer pessoa que tenha problemas com o storyboard trava depois de copiar seu projeto, vá para Main.storyboard no Identity Inspector.
Em seguida, verifique se o seu módulo atual é o módulo renomeado correto e não o antigo.
fonte
Estou usando o script BASH simples para renomear.
Uso:
./rename.sh oldName newName
Notas:
.git
e.DS_Store
fonte