xcode full-text-search xib

¿Búsqueda de texto a través de todos los archivos.xib en Xcode?



full-text-search (9)

Abra la carpeta del proyecto en texto sublime y busque en todos los archivos, muy fácil y conveniente.

Esto parece una tarea tan básica, pero estoy perplejo.

¿Cómo, en Xcode, ejecuta una búsqueda textual (los contenidos XML de) todos los archivos .xib en un proyecto?

Por ejemplo, todos nuestros archivos .xib contienen esta cadena en la segunda línea: com.apple.InterfaceBuilder3.CocoaTouch.XIB . Así que creo que buscar en todos los archivos de proyecto para esa cadena devolvería todos los archivos .xib, pero Xcode insiste en "0 ocurrencias". He comprobado dos veces que las opciones de búsqueda de proyectos se vean correctas.

Debo estar perdiendo algo obvio. (O Xcode está de algún modo codificado para omitir archivos .xib).

Estoy tratando de encontrar todos los archivos .xib que hacen referencia a una clase en particular (y una búsqueda de texto parece ser la forma más directa).

¡Gracias!


Aquí está mi orden práctica que nunca me falla. Ejecutarlo desde el directorio del proyecto en la Terminal.

encontrar . -name "* .xib" -exec grep "para buscar" {} /; -impresión


Esto funciona si lo usas como servicio ...

on run {input, parameters} display dialog "XIB Search Text" default answer "" set searchtext to text returned of result if (length of searchtext) is greater than 0 then tell application "Xcode" to set theProjectPath to (the project directory of front project) tell application "Terminal" set newWin to do script "cd " & theProjectPath & "; " & "rm " & theProjectPath & "/searchXIB.txt 2> /dev/null ; grep -i -r --include=*.xib " & searchtext & " . > searchXIB.txt ; exit" activate repeat while (exists newWin) delay 1 end repeat tell application "Xcode" set doc to open theProjectPath & "/searchXIB.txt" activate end tell tell application "System Events" keystroke "f" using {command down} keystroke searchtext end tell end tell end if return input end run


Lo que hago es ejecutar grep en la terminal:

grep -i -r --include=*.xib "TextToFindHere" /PathToSearchHere

Xcode no parece tener una opción para buscar archivos xib y mis intentos de hacer que Spotlight los vea no han tenido éxito.


Me doy cuenta de que esto es bastante antiguo, pero me gustaría sugerir a aquellos de ustedes que también codifican otros idiomas en su computadora y optan por utilizar Sublime Text 2 (lo que es maravilloso) para hacerlo, solo abra la carpeta de su proyecto iOS en Sublime y utiliza la función buscar todos. Muy rápido, muy fiable.

Esto fue lo que hice para eliminar los recursos de imagen no utilizados de uno de mis proyectos más grandes.

~ Happy Coding =]


Puede que sea tonto, pero usar Spotlight funciona muy bien para mí en este caso.


Solo puede cambiar el ámbito de búsqueda en Xcode definiendo un nuevo ámbito. Vaya al panel de búsqueda y debajo de la barra de búsqueda hay un icono que tiene tres puntos (probablemente de manera predeterminada como "En el área de trabajo"). Haga clic en eso y, bajo BÚSQUEDA, haga clic en "Nuevo alcance". Defínalo como "Nombre" / "termina con" / ".xib".


Tuve el mismo problema y lo resolví usando algunos comandos de consola.

1) Abre la Terminal en tu Mac

2) ejecute el comando " grep -i -r --include = *. Xib" searchtext "/ su / proyecto / ruta "

Buscará en la ruta "/ your / project / path" e imprimirá la ruta completa de todos los archivos xib que usan el "searchtext".

¡Espero que esto te ayudará!


U puede usar esta función en su perfil de bash:

function grep_xib { grep -i -r --include=*.xib "$1" . }

Luego simplemente llame al terminal "grep_xib TEXT_TO_FIND". Es mas fácil.

Para crear un .bash_profile en tu mac sigue estos pasos:

  • Puesta en marcha terminal
  • Escribe "cd ~ /" para ir a tu carpeta de inicio
  • Escribe "touch .bash_profile" para crear tu nuevo archivo.
  • Edite .bash_profile con su editor favorito (o simplemente escriba "abrir -e .bash_profile" para abrirlo en TextEdit).
  • Escriba ".bash_profile" para recargar .bash_profile y actualizar las funciones que agregue.