web-dev-qa-db-fra.com

Recherche de texte dans tous les fichiers .xib dans Xcode?

Cela semble être une tâche de base, mais je suis perplexe.

Comment, dans Xcode, effectuez-vous une recherche textuelle si (le contenu XML de) tous les fichiers .xib d'un projet?

Par exemple, tous nos fichiers .xib contiennent cette chaîne sur la deuxième ligne: com.Apple.InterfaceBuilder3.CocoaTouch.XIB. Donc, je penserais que la recherche de cette chaîne dans tous les fichiers de projet renverrait tous les fichiers .xib, mais Xcode insiste sur "0 occurrences". J'ai vérifié deux fois que les options de recherche de projet semblent correctes.

Je dois manquer quelque chose d'évident. (Ou Xcode est en quelque sorte codé en dur pour ignorer les fichiers .xib.)

J'essaie de trouver tous les fichiers .xib qui font référence à une classe particulière (et une recherche de texte semble être le moyen le plus direct).

Merci!

48
Jon-Eric

Ce que je fais est exécuter grep dans le terminal:

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

Xcode ne semble pas avoir la possibilité de rechercher des fichiers xib et mes tentatives pour que Spotlight les examine sont infructueuses.

80
user467105

Voici ma commande pratique qui ne me manque jamais. Exécutez-le à partir du répertoire du projet dans Terminal.

trouver . -name "* .xib" -exec grep "texte à rechercher" {} \; -impression

10
Moonwalker

Je suis peut-être idiot, mais utiliser Spotlight me convient parfaitement.

4
Andrew Bennett

Je réalise que c'est assez ancien, mais je voudrais suggérer à ceux d'entre vous qui codent également d'autres langues sur votre ordinateur et choisissent d'utiliser Sublime Text 2 (ce qui est merveilleux) pour le faire, ouvrez simplement votre dossier de projet iOS dans Sublime et utilisez la fonctionnalité Tout rechercher. Très rapide, très fiable. 

C’est ce que j’ai fait pour supprimer les ressources d’image inutilisées d’un de mes plus gros projets.

~ Happy Coding =]

3
Ryan Crews

Vous pouvez utiliser cette fonction dans votre profil bash: 

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

Ensuite, appelez simplement le terminal "grep_xib TEXT_TO_FIND". C'est plus facile.

Pour créer un fichier .bash_profile sur votre Mac, procédez comme suit:

  • Terminal de démarrage
  • Tapez "cd ~ /" pour accéder à votre dossier personnel
  • Tapez "touch. Profile_bash" pour créer votre nouveau fichier.
  • Modifiez .bash_profile avec votre éditeur favori (ou vous pouvez simplement taper "open -e .bash_profile" pour l'ouvrir dans TextEdit.
  • Tapez ".bash_profile" pour recharger .bash_profile et mettre à jour les fonctions que vous ajoutez.
3
Ted

Vous pouvez simplement changer l'étendue de la recherche dans Xcode en définissant une nouvelle étendue. Allez dans le panneau de recherche et en dessous de la barre de recherche se trouve une icône avec trois points (probablement la valeur par défaut "Dans l'espace de travail"). Cliquez dessus et sous SEARCH SCOPES, cliquez sur "New Scope". Définissez-le comme "Nom"/"se termine par"/".xib".

2
Sarah Dygert

Ouvrez le dossier du projet dans le texte sublime et recherchez dans tous les fichiers, très facile et pratique.

0
Taha Selim Bebek

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

réponse: pas de correspondance trouvée: --include = *. xib

cd /PathToSearchHere
grep "TextToFindHere" ./ -r | grep ".xib"

cela fonctionne bien.

0
weiminghuaa

J'ai eu le même problème et je l'ai résolu en utilisant certaines commandes de la console. 

1) Ouvrez Terminal sur votre Mac

2) exécutez la commande " grep -i -r --include = *. Xib" searchtext "/ votre/projet/chemin "

Il recherchera dans le chemin "/ votre/projet/chemin" et affichera le chemin complet de tous les fichiers xib utilisant le "texte recherché".

J'espère que ceci vous aidera!

0
Himanshu padia

Cela fonctionne si vous utilisez comme service ....

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
0
ort11