这似乎是一项基本任务,但我很难过。
在Xcode中,你如何执行项目中所有.xib文件的文本搜索(XML内容)?
例如,我们所有的.xib文件都在第二行包含此字符串:com.apple.InterfaceBuilder3.CocoaTouch.XIB
。所以我认为搜索该字符串的所有项目文件将返回所有.xib文件,但Xcode坚持“0次出现”。我仔细检查了项目查找选项看起来是否正确。
我必须遗漏一些明显的东西。 (或者Xcode以某种方式硬编码以跳过.xib文件。)
我正在尝试查找引用特定类的所有.xib文件(文本搜索似乎是最直接的方式)。
谢谢!
答案 0 :(得分:80)
我所做的是在终端运行grep:
grep -i -r --include=*.xib "TextToFindHere" /PathToSearchHere
Xcode似乎没有搜索xib文件的选项,我尝试让Spotlight查看它们的尝试都没有成功。
答案 1 :(得分:10)
这是我永远不会失败的方便命令。从终端的项目目录中运行它。
找到。 -name“* .xib”-exec grep“要查找的文本”{} \; -print答案 2 :(得分:4)
我意识到这已经很老了,但我想建议那些碰巧也在你的计算机上编写其他语言代码的人并选择使用Sublime Text 2(这很棒)这样做,只是在Sublime中打开您的iOS项目文件夹并使用find all功能。非常快,非常可靠。
这就是我从一个较大的项目中删除未使用的图像资源的方法。
〜快乐编码=]
答案 3 :(得分:4)
我可能很愚蠢,但使用聚光灯对我来说很有用。
答案 4 :(得分:3)
你可以在你的bash档案中使用这个功能:
function grep_xib {
grep -i -r --include=*.xib "$1" .
}
然后只需调用终端“grep_xib TEXT_TO_FIND”。这更容易。
要在Mac上创建.bash_profile,请按以下步骤操作:
答案 5 :(得分:2)
您可以通过定义新范围来更改Xcode中的搜索范围。转到搜索面板并在搜索栏下方有一个带有三个点的图标(可能默认为"在工作区")。单击该项并在“搜索范围”下,单击“#34;新范围"”。将其定义为" Name" /"结束于" /" .xib"
答案 6 :(得分:0)
如果您将其用作服务....
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
答案 7 :(得分:0)
以崇高文本打开项目文件夹,搜索所有文件,非常方便。
答案 8 :(得分:0)
我有同样的问题,我使用一些控制台命令解决了它。
1)在Mac上打开终端
2)运行" grep -i -r --include = * .xib" searchtext" /你的/项目/路径强>"命令
它将搜索路径" / your / project / path"并将打印使用" searchtext"。
的所有文件xib的完整路径希望这会对你有帮助!
答案 9 :(得分:0)
grep -i -r --include=*.xib "TextToFindHere" /PathToSearchHere
响应:找不到匹配项:--include = *。xib
cd /PathToSearchHere
grep "TextToFindHere" ./ -r | grep ".xib"
这很好。