¿Por qué Refactor ... está atenuado (deshabilitado) en Xcode?
Me gustaría cambiar el nombre de una clase.
iphone
xcode
refactoring
Elliot
fuente
fuente
Si está utilizando Objective-C ++ (es decir, mezcla Objective-C con código C ++), la refactorización está deshabilitada en xcode ya que no admite la refactorización del código C ++.
fuente
Refactor también puede estar deshabilitado si los archivos afectados (lo más probable es que el archivo con su clase) no se guarden.
fuente
He estado usando Xcode durante 5 años y la refactorización nunca ha funcionado correctamente (¡incluso xcode 4.6 tiene errores importantes en los que corromperá su código fuente!).
La solución siempre ha sido (todavía funciona al 100%, incluso en los casos en que falla el código de Apple)
Tengo una tasa de éxito del 100% con este método. Intenté refactorizar con "Refactor -> Rename" de Apple en el último xcode y fallé, ¡de nuevo!
(esta vez con el error incorrecto: "No se puede determinar el idioma de", uno de esos mensajes de error donde Apple colocó el texto incorrecto en su lugar)
fuente
Voy a mi proyecto en el buscador, luego cambio el nombre de los archivos obteniendo información .
Después de eso, en xcode -> Project Navigator elimino los archivos.
Al final, hago clic derecho en la clase y Agregar archivos a ... , y agrego estos archivos nuevamente.
Funcionó para mí.
fuente
Para mí, me di cuenta de que Refactor estaba deshabilitado porque el proyecto de Xcode que había abierto hacía referencia a un SDK base que faltaba. Edite la configuración del proyecto y, en la pestaña Construir, configure el SDK base en uno que tenga (como para mí, esto era iOS 4.2). Esto habilitó Refactor para mí.
fuente
Además, podría suceder que haya cambiado el nombre del archivo de la clase, ya sea fuera de xcode o haciendo ctrl-clic en el nombre del archivo y luego renombrándolo. xcode se niega a refactorizar si el nombre del archivo no coincide con el nombre de la clase.
fuente
Vaya al archivo de encabezado de su clase y busque la línea que se parece a esto:
Haga clic derecho en el símbolo de la clase (por ejemplo, YourClassName) y debería poder seleccionar Refactor -> Cambiar nombre ...
Acabo de probar esto y funciona en Xcode 5.
fuente
Tuve este problema también. Intenté encontrar los SDK que faltaban, guardé archivos y busqué el código Objective-C ++ como se mencionó anteriormente, y todo lo que necesité para arreglar mi máquina fue reiniciar XCode.
Parece un poco con errores todavía.
Por cierto, esto fue para XCode 4.0.1
fuente
La refactorización funciona si primero cambia el nombre del archivo en el navegador de proyectos.
fuente