it-swarm.com.de

Textsuche durch alle .xib-Dateien in Xcode?

Das scheint eine so grundlegende Aufgabe zu sein, aber ich bin ratlos.

Wie führen Sie in Xcode eine Textsuche durch (den XML-Inhalt aller .xib-Dateien in einem Projekt)?

Beispielsweise enthalten alle unsere .xib-Dateien diese Zeichenfolge in der zweiten Zeile: com.Apple.InterfaceBuilder3.CocoaTouch.XIB. Ich würde also denken, dass das Durchsuchen aller Projektdateien nach dieser Zeichenfolge alle .xib-Dateien zurückgibt, aber Xcode besteht auf "0 Vorkommen". Ich habe zweimal überprüft, ob die Projektfindungsoptionen korrekt aussehen.

Mir muss etwas Offensichtliches fehlen. (Oder Xcode ist irgendwie hartcodiert, um .xib-Dateien zu überspringen.)

Ich versuche, alle XIB-Dateien zu finden, die auf eine bestimmte Klasse verweisen (und eine Textsuche scheint der direkteste Weg zu sein).

Vielen Dank!

48
Jon-Eric

Was ich mache, ist grep in terminal:

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

Xcode scheint keine Option zum Durchsuchen von Xib-Dateien zu haben, und meine Versuche, Spotlight dazu zu bringen, sie anzusehen, waren erfolglos.

80
user467105

Hier ist mein praktischer Befehl, der mich nie versagt. Führen Sie es aus dem Projektverzeichnis in Terminal aus.

finden . -name "* .xib" -exec grep "zu suchender Text" {} \; -drucken

10
Moonwalker

Ich bin zwar ein Dummkopf, aber die Verwendung von Spotlight ist für mich hier sehr gut.

4
Andrew Bennett

Ich weiß, dass dies ziemlich alt ist, aber ich möchte denjenigen von Ihnen vorschlagen, die auch andere Sprachen auf Ihrem Computer programmieren und Sublime Text 2 (was wunderbar ist) dazu verwenden, einfach öffnen den Ordner Ihres iOS-Projekts in Sublime und verwenden Sie die Funktion Alle suchen. Sehr schnell, sehr zuverlässig. 

So entfernte ich nicht genutzte Bildressourcen aus einem meiner größeren Projekte.

~ Happy Coding =]

3
Ryan Crews

Sie können diese Funktion in Ihrem Bash-Profil verwenden: 

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

Dann einfach im Terminal "grep_xib TEXT_TO_FIND" aufrufen. Es ist einfacher.

Um ein .bash_profile auf Ihrem Mac zu erstellen, gehen Sie folgendermaßen vor:

  • Starten Sie das Terminal
  • Geben Sie "cd ~ /" ein, um zu Ihrem Heimatordner zu gelangen
  • Geben Sie "touch .bash_profile" ein, um Ihre neue Datei zu erstellen.
  • Bearbeiten Sie .bash_profile mit Ihrem bevorzugten Editor (oder geben Sie einfach "open -e .bash_profile" ein, um es in TextEdit zu öffnen.
  • Geben Sie ".bash_profile" ein, um das .bash_profile neu zu laden und alle hinzugefügten Funktionen zu aktualisieren.
3
Ted

Sie können den Suchbereich in Xcode einfach ändern, indem Sie einen neuen Bereich definieren. Gehen Sie zum Suchbereich und unter der Suchleiste befindet sich ein Symbol mit drei Punkten (wahrscheinlich standardmäßig "In Workspace"). Klicken Sie darauf und klicken Sie unter SUCHFELDER auf "Neuer Bereich". Definieren Sie es so, dass "Name"/"mit"/".xib" endet.

2
Sarah Dygert

Öffnen Sie den Projektordner in erhabenem Text und suchen Sie in allen Dateien, sehr einfach und bequem.

0

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

antwort: Keine Übereinstimmungen gefunden: --include = *. xib

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

das funktioniert gut.

0
weiminghuaa

Ich hatte das gleiche Problem und habe es mit einigen Konsolenbefehlen gelöst. 

1) Öffnen Sie das Terminal auf Ihrem Mac

2) Führen Sie den Befehl " grep -i -r --include = *. Xib" searchtext "/ Ihr/project/path " aus

Es wird im Pfad "/ Ihr/Projekt/Pfad" gesucht und der vollständige Pfad aller Dateien xib gedruckt, die den "Suchtext" verwenden.

Hoffe das wird dir helfen!

0
Himanshu padia

Dies funktioniert, wenn Sie als Dienst nutzen ....

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