2013-07-19 11 views
8

が、私はこのようになりますPodfileでプロジェクトファイルを持っている、無効なプロジェクトファイルを生成します。CocoaPodsは、(ヘッダが見つからない)

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 

私はポッドのインストールを実行すると、それはPodfile.lock、ポッドディレクトリを生成し、私のプロジェクトのワークスペース。ワークスペースを開いてビルドすると、次のようなエラーが表示されます。 'RestKit.h'ファイルが見つかりません。

これはRestKitの問題ではないようですが、それ以上のものがあるかどうかを確認するためにこれらのエラーを回避することはできません。 Restキットヘッダーは、[Pods/Headers]にあります。それらはPods.xcconfigに正しく含まれています。ここでそれはいい対策のためです:

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 

ビルドフォルダのクリーニングとクリーニングを試しました。それは問題ではありません - 私はいつもヘッダーが見つからないというエラーを受け取ります。

また、Pods.xcconfigで指定されたすべてのヘッダーディレクトリが、ターゲットに含める必要があることを追加する必要があります。

これについてのアイデアは?私は何ヶ月も問題なくこのプロジェクトでCocoaPodを使っていましたが、最近何か変わったのですか?

+0

どのようにあなたの '#のimport'sにヘッダをインポートしていますか? –

+0

'#import 'しかし、私は運がないいくつかのバリエーションを試しました。そして、私は/ Podsを削除して、CocoaPodsでそれらを(そしてワークスペース)再び生成させる前にうまくいきました。 –

+1

私はcocoapodインストーラ(プライベートcocoapodレポ)に同様の問題があります。突然ヘッダーがリンクされていません。Pods.xcconfigが正しく見えるようにいくつかのリードを続けてきましたが、動作させることはできません。 – atroutt

答えて

10

これは$(inherited)

はまた enter image description here

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

のARMv7標準にすべてTAGETS

変更Arcgitecturesのためにこれを行う追加の設定プロジェクトのビルドの下HEADER_SEARCH_PATHSでは私の問題

を解決しました

+0

注:amrv7へのアーキテクチャの作成は、Appleの制限のためにもう機能しません64ビットとして動作しますが、同じアーキテクチャー(つまり、標準アーキテクチャー)をプロジェクトと同様にポッドにすることを忘れないでください。Build Active Architecture OnlyだけをNOに設定します。 –

+0

私は '$(継承)'を 'HEADER_SEARCH_PATHS'に持っていました。 Cmd + Kは私の問題を解決しました。この質問を投稿していただきありがとうございます。 – Adrian

2

私にとっては、問題はOther Linker FlagsRunpath Search Pathsで、xcconfigで定義された設定を継承していませんでした。以下の調整は私の問題を解決しました:

その他のリンカフラグ

$(inherited) 

実行パス検索パス

$(inherited) 
@executable_path/Frameworks 
関連する問題