Respostas:
Selecione o símbolo da classe em seu arquivo de cabeçalho - ou seja, o bit logo depois @interface
. Então, o material de refatoração deve ser ativado.
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 ++.
A refatoração também pode ser desabilitada se os arquivos afetados (provavelmente o arquivo com sua classe) não forem salvos.
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)
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
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.
Vá para o arquivo de cabeçalho de sua classe e encontre a linha semelhante a esta:
@interface YourClassName
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.