2010-10-18 36 views
47

Điều này có vẻ như một nhiệm vụ cơ bản như vậy, nhưng tôi bị bối rối.Tìm kiếm văn bản mặc dù tất cả các tệp .xib trong Xcode?

Làm thế nào, trong Xcode, bạn có thực hiện tìm kiếm văn bản mặc dù (nội dung XML) tất cả các tệp .xib trong một dự án không?

Ví dụ: tất cả các tệp .xib của chúng tôi chứa chuỗi này trên dòng thứ hai: com.apple.InterfaceBuilder3.CocoaTouch.XIB. Vì vậy, tôi nghĩ rằng việc tìm kiếm tất cả các tệp dự án cho chuỗi đó sẽ trả về tất cả các tệp .xib, nhưng Xcode nhấn mạnh "0 lần xuất hiện". Tôi đã kiểm tra kỹ xem tùy chọn Tìm dự án có chính xác không.

Tôi phải thiếu điều gì đó hiển nhiên. (Hoặc Xcode bằng cách nào đó được mã hóa cứng để bỏ qua các tệp .xib.)

Tôi đang cố gắng tìm tất cả các tệp .xib tham chiếu đến một lớp cụ thể (và tìm kiếm văn bản có vẻ là cách trực tiếp nhất).

Cảm ơn!

+0

Điều này có phải được thực hiện trong Xcode hay nó có thể được thực hiện trong thiết bị đầu cuối không? –

+0

Lý tưởng nhất, tôi muốn biết làm thế nào để làm điều đó Xcode vì vậy tôi có thể bấm vào mỗi dòng kết quả và có tập tin mở trong cửa sổ chỉnh sửa Xcode. Nếu nó không thể trong Xcode, tôi muốn biết rằng chắc chắn. Nếu đó là trường hợp, tôi sẽ đánh giá cao lựa chọn thay thế. –

Trả lời

78

Những gì tôi làm là chạy grep trong terminal:

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

Xcode dường như không có một tùy chọn để tìm kiếm các file xib và nỗ lực của tôi để có được Spotlight để nhìn vào họ đã không thành công.

+2

Bingo. Không chạy tìm kiếm trong Xcode; hãy chạy nó trong Terminal.app. Để làm cho mọi việc đơn giản hơn, bạn có thể kéo biểu tượng tệp từ thanh tiêu đề vào Terminal.app và thả nó để lấy đường dẫn của tệp, sau đó chỉ cần xóa cho đến khi bạn quay lại gốc của dự án. –

+0

Rất hữu ích cho tôi, cảm ơn bạn! –

+0

Tôi đã sử dụng nó nhưng những gì tôi nhận được là: ** /. DocumentRudio-V100/PerUID/503/bd/com.apple.documentVersions/14D9CB29-07F2-4670-937F-05188E6D64C6.xib: ** dường như một bản sửa đổi của tập tin xib, nhưng không phải là tập tin xib chính nó .. – aneuryzm

9

Đây là lệnh hữu ích của tôi mà không bao giờ làm tôi thất vọng. Chạy nó từ thư mục dự án trong Terminal.

tìm. -name "* .xib" -exec grep "văn bản để tìm kiếm" {} \; -print

3

Tôi nhận thấy điều này khá cũ, nhưng tôi muốn đề xuất với những người bạn cũng có thể viết mã ngôn ngữ khác trên máy tính của bạn và chọn sử dụng Sublime Text 2 (thật tuyệt vời). thư mục dự án iOS của bạn trong Sublime và sử dụng tính năng tìm tất cả. Rất nhanh, rất đáng tin cậy.

Đây là những gì tôi đã làm để xóa tài nguyên hình ảnh không được sử dụng khỏi một trong các dự án lớn hơn của tôi.

~ Chúc mừng Mã hóa =]

+0

Tài nguyên tuyệt vời! Cảm ơn vì điều đó. – jwarrent

0

này hoạt động nếu bạn sử dụng như dịch vụ ....

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

Cần ghi lại cách thực hiện các tham số hàng đầu, tự ghi chú là – ort11

4

Tôi có thể là ngớ ngẩn, nhưng sử dụng ánh đèn sân khấu hoạt động tuyệt vời đối với tôi ngày này.

+0

Có thể nó đã được khắc phục trong Mountain Lion – Anna

3

U có thể sử dụng chức năng này trong hồ sơ bash của bạn:

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

Sau đó, chỉ cần gọi trong thiết bị đầu cuối "TEXT_TO_FIND grep_xib". Nó dễ dàng hơn.

Để tạo một .bash_profile trên mac của bạn theo này bước sau:

  • Khởi động ga
  • Loại "cd ~ /" để đi đến thư mục nhà của bạn
  • Loại "touch .bash_profile" để tạo tệp mới của bạn.
  • Sửa .bash_profile với soạn thảo yêu thích của bạn (hoặc bạn chỉ có thể gõ "mở .bash_profile -e" để mở nó trong TextEdit.
  • Loại ".bash_profile" để tải lại .bash_profile và cập nhật bất kỳ chức năng bạn thêm.
0

Mở thư mục dự án trong văn bản tuyệt vời và tìm kiếm trong tất cả các tệp, rất dễ dàng và thuận tiện.

0

Tôi gặp sự cố tương tự và tôi đã giải quyết vấn đề bằng một số lệnh trên bảng điều khiển.

1) Mở Terminal trên Mac

2) chạy "grep -i -r --bao gồm = *. Xib "searchText"/ your/dự án/path" lệnh

Nó sẽ tìm kiếm trong đường dẫn "/ your/project/path" và sẽ in đường dẫn đầy đủ của tất cả các tệp xib sử dụng "searchtext".

Hy vọng điều này sẽ giúp bạn!

1

Bạn chỉ có thể thay đổi phạm vi tìm kiếm trong Xcode bằng cách xác định phạm vi mới. Đi đến bảng điều khiển tìm kiếm và bên dưới thanh tìm kiếm có một biểu tượng có ba dấu chấm (có thể được đặt mặc định thành "Trong Không gian làm việc"). Bấm vào đó và dưới TÌM KIẾM SCOPES, bấm vào "Phạm vi mới". Xác định nó là "Tên"/"kết thúc bằng"/".xib".

+0

Đây là câu trả lời hay nhất vì nó tìm kiếm địa chỉ từ bên trong Xcode Lưu ý rằng có một tùy chọn phạm vi tìm kiếm để sử dụng một phần mở rộng tệp cụ thể và thiết lập nó thành .XIB hoạt động tốt. –

Các vấn đề liên quan