2013-07-19 38 views
8

Tôi có một file dự án với một Podfile trông như thế này:CocoaPods tạo ra tập tin dự án không hợp lệ (không tìm thấy tiêu đề)

platform :ios, '7.0' 

def import_pods 
pod 'Specta', '0.1.8' 
pod 'Expecta', '0.2.1' 
pod 'RestKit', '0.20.3' 
pod 'MagicalRecord', '2.1' 
pod 'RestKit/Testing', '0.20.3' 
end 

link_with 'LocalMedTests' 
import_pods 

Khi tôi chạy pod cài đặt, nó tạo ra các thư mục Podfile.lock, Pods, và không gian làm việc cho dự án của tôi. Khi tôi mở không gian làm việc để xây dựng nó, tôi nhận được lỗi như thế này: 'RestKit.h' tập tin không tìm thấy.

Dường như đây chỉ là vấn đề đối với RestKit nhưng tôi không thể vượt qua những lỗi đó để xem liệu có nhiều hơn không. Các tiêu đề khôi phục nằm trong Pods/Headers. Chúng được bao gồm chính xác trong Pods.xcconfig. Đây là biện pháp tốt:

FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" 

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 

HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/Expecta" "${PODS_ROOT}/Headers/MagicalRecord" "${PODS_ROOT}/Headers/RestKit" "${PODS_ROOT}/Headers/RestKit/RestKit" "${PODS_ROOT}/Headers/RestKit/RestKit/CoreData" "${PODS_ROOT}/Headers/RestKit/RestKit/Network" "${PODS_ROOT}/Headers/RestKit/RestKit/ObjectMapping" "${PODS_ROOT}/Headers/RestKit/RestKit/Support" "${PODS_ROOT}/Headers/RestKit/RestKit/Testing" "${PODS_ROOT}/Headers/SOCKit" "${PODS_ROOT}/Headers/Specta" "${PODS_ROOT}/Headers/TransitionKit" 

OTHER_LDFLAGS = -ObjC -framework CFNetwork -framework CoreData -framework Foundation -framework MobileCoreServices -framework Security -framework SenTestingKit -framework SystemConfiguration 

PODS_ROOT = ${SRCROOT}/Pods 

Tôi đã thử làm sạch và dọn dẹp thư mục xây dựng. Không quan trọng - tôi luôn gặp lỗi không tìm thấy tiêu đề.

Tôi cũng nên thêm rằng tất cả các thư mục tiêu đề được chỉ định bởi Pods.xcconfig được bao gồm trong mục tiêu như chúng cần.

Bất kỳ ý tưởng nào về điều này? Tôi đã sử dụng CocoaPods trong dự án này trong một vài tháng mà không có vấn đề gì, gần đây có thay đổi gì không?

+0

How are you nhập tiêu đề vào 'của bạn # import's? –

+0

'#import ' nhưng tôi đã thử nhiều biến thể không may mắn. Và nó đã được làm việc tốt trước khi tôi xóa/Pods và CocoaPods tạo ra chúng (và không gian làm việc) một lần nữa. –

+1

Tôi đang gặp vấn đề tương tự với trình cài đặt cocoapod của chúng tôi (riêng cocoapod repo). Đột nhiên, các tiêu đề không được liên kết. Tôi đã theo dõi một số khách hàng tiềm năng để chắc chắn rằng Pods.xcconfig có vẻ đúng, nhưng tôi không thể làm cho nó hoạt động. – atroutt

Trả lời

10

này giải quyết vấn đề của tôi

Trong HEADER_SEARCH_PATHS Dưới xây dựng dự án của bạn Thiết lập thêm $(inherited)

cũng làm điều này cho tất cả TAGETS

Thay đổi Arcgitectures để chuẩn ARMv7 enter image description here

https://stackoverflow.com/a/12142790/1294448

+0

GHI CHÚ: Làm kiến ​​trúc cho amrv7 sẽ không còn hoạt động do hạn chế táo để làm cho tất cả ứng dụng làm việc như 64bit, nhưng đừng quên tạo ra cùng một kiến ​​trúc (kiến trúc tiêu chuẩn) cho Pod cũng như dự án.Cũng thiết lập Chỉ xây dựng Kiến trúc Hoạt động thành NO. –

+0

Tôi đã có '$ (được kế thừa)' trong 'HEADER_SEARCH_PATHS'. Cmd + K đã khắc phục sự cố của tôi. Cảm ơn bạn đã đăng câu hỏi này. – Adrian

2

Đối với tôi, vấn đề là với Other Linker FlagsRunpath Search Paths, không kế thừa các cài đặt được xác định trên xcconfig. Những điều chỉnh sau đây giải quyết vấn đề của tôi:

Flags Linker khác:

$(inherited) 

Runpath Search Paths:

$(inherited) 
@executable_path/Frameworks 
Các vấn đề liên quan