Por que Refactor ... está esmaecido (desabilitado) no Xcode?
Eu gostaria de renomear uma classe.
iphone
xcode
refactoring
Elliot
fonte
fonte
Se você estiver usando Objective-C ++ (ou seja, misture Objective-C com código C ++), então a refatoração é desabilitada no xcode, pois não suporta a refatoração de código C ++.
fonte
A refatoração também pode ser desabilitada se os arquivos afetados (provavelmente o arquivo com sua classe) não forem salvos.
fonte
Eu uso o Xcode há 5 anos e a refatoração nunca funcionou corretamente (até mesmo o xcode 4.6 tem grandes bugs que IRÃO corromper seu código-fonte!).
A solução alternativa sempre foi (ainda funciona 100%, mesmo nos casos em que o código da Apple falha)
Tenho uma taxa de sucesso de 100% com este método. Eu tentei refatorar com "Refactor -> Rename" da Apple no último xcode e falhou - de novo!
(desta vez com o erro incorreto: "Não foi possível determinar o idioma de", uma daquelas mensagens de erro em que a Apple inseriu o texto incorreto)
fonte
Vou para o meu projeto no Finder e, em seguida, altero o nome dos arquivos obtendo informações .
Depois disso, em xcode -> Project Navigator eu excluo os arquivos.
No final, clico com o botão direito na classe e adiciono arquivos a ... , e adiciono esses arquivos novamente.
Funcionou para mim
fonte
Para mim, percebi que Refactor estava desativado porque o projeto Xcode que abri fazia referência a um SDK Base que estava faltando. Edite as configurações do projeto e na guia Build defina o Base SDK para um que você tem (como para mim, era iOS 4.2). Isso habilitou Refatorar para mim.
fonte
Além disso, pode acontecer de você renomear o nome do arquivo da classe, seja fora do xcode ou clicando com a tecla Ctrl pressionada no nome do arquivo e renomeando-o. xcode se recusa a refatorar se o nome do arquivo não corresponder ao nome da classe.
fonte
Vá para o arquivo de cabeçalho de sua classe e encontre a linha semelhante a esta:
Clique com o botão direito no símbolo da classe (por exemplo, YourClassName) e você deverá ser capaz de selecionar Refatorar -> Renomear ...
Acabei de experimentar e funciona no Xcode 5.
fonte
Tive esse problema também. Corri tentando encontrar SDKs ausentes, salvando arquivos e procurando o código Objective-C ++ conforme mencionado acima, e tudo o que precisei para consertar minha máquina foi reiniciar o XCode.
Ainda parece um pouco bugado.
BTW, isso era para XCode 4.0.1
fonte
A refatoração funciona se você alterar primeiro o nome do arquivo no navegador do projeto.
fonte