2011-12-01 16 views
18

Có ba con đường tìm kiếm khác nhau trong Cài đặt Build XCode:iOS: Làm rõ khác nhau Search Paths

  • khung tìm kiếm Path
  • Tiêu đề tìm kiếm Path
  • Thư viện tìm kiếm Path

thể bất cứ ai làm rõ những gì những con đường làm và những gì chúng được sử dụng cho?

Trả lời

20

Đường dẫn tìm kiếm khung: nơi tìm kiếm frameworks (.framework gói) ngoài đường dẫn khung hệ thống. Không được sử dụng nhiều trong phát triển iOS, chính thức không có khung công tác dành cho nhà phát triển iOS.

Trong quá trình phát triển máy Mac, nó được đặt tự động nếu bạn kéo khung bên thứ 3 vào dự án. Nếu không, chỉ cần đặt nó vào thư mục chứa nơi bạn đã lưu khung công tác.

Trong xcconfig tập tin mà bạn sử dụng biến này:

FRAMEWORK_SEARCH_PATHS = "/path/to/frameworks/container/directory" 

Tiêu đề đường dẫn tìm kiếm: nơi để tìm kiếm các tập tin tiêu đề (.h files), thêm vào đường dẫn của hệ thống. Thông thường bạn sẽ cần nó nếu bạn đang sử dụng thư viện của bên thứ ba. Đặt nó vào thư mục nơi bạn có các tập tin tiêu đề. Nếu bạn sử dụng một thư mục để bao gồm tiêu đề (ví dụ: #import "mylibrary/component.h") đặt nó vào thư mục mẹ.

Trong xcconfig tập tin mà bạn sử dụng biến này:

HEADER_SEARCH_PATHS = "/path/to/headers/container/directory" 

Thư viện đường dẫn tìm kiếm: nơi để tìm kiếm các tập tin thư viện, thêm vào đường dẫn của hệ thống. Xcode sẽ tự động đặt nó nếu bạn kéo thư viện (.a tệp) vào dự án. Để cài đặt thủ công, hãy sử dụng thư mục có thư viện.

Trong xcconfig tập tin mà bạn sử dụng biến này:

LIBRARY_SEARCH_PATHS = "/path/to/libraries/container/directory" 

Cả ba có thể giữ một danh sách các đường dẫn, với dấu ngoặc kép, cách nhau bằng không gian.

0

Chúng được sử dụng để tìm kiếm khung, tệp tiêu đề hoặc thư viện không nằm trong đường dẫn tìm kiếm hệ thống (như QTKit.Framework, tệp tiêu đề C++ chuẩn, v.v.).

Sử dụng phổ biến nhất của tôi cho việc này là sử dụng thư viện tiêu đề tăng (* .hpp) trong mã của tôi, tôi thêm đường dẫn tương đối "../lib/Boost/1.46.1" vào Đường dẫn tìm kiếm tiêu đề.

Tôi tìm thấy nó tốt hơn để thêm điều này ở cấp dự án thay vì trong mỗi mục tiêu. Bằng cách đó, các mục tiêu kế thừa điều này và nó chỉ cần được thay đổi ở một nơi nếu tôi cập nhật phiên bản tăng cường.

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