web-dev-qa-db-ja.com

CocoaPods with XCode 6.0.1-赤で表示されるPods Frameworkを修正するにはどうすればよいですか?

Xcode 6.0.1で新しいプロジェクトを作成し、次のPodfileを作成しました。

_source 'https://github.com/CocoaPods/Specs'
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'
_

それから_pod install_を実行し、Xcodeでxcworkspaceを開きました。プロジェクトをビルドすると、すべてのフレームワークが赤で表示されます。たとえば、Podsプロジェクトでは、Foundation.frameworkは赤で表示され、存在しないコンピューター上のパスを参照しています。

_/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework
_

私の質問は:ナビゲーターでフレームワークを黒で表示し、ポッドをメインプロジェクトに適切にリンクするにはどうすればよいですか?

Xcode screenshot

これに対する回答で言及されたいくつかの変更を行いました 質問

  1. 当初、libpods.a製品も赤で表示されていました。他の誰かが問題をそのように修正したことを読んだ後、構成ごとのビルド製品パス$(BUILD_DIR)/$(CONFIGURATION)に変更することで修正しました。

  2. Base SDKがすべてのターゲットでiOS 8.0であることを確認しました。

  3. 私が見つけることができるすべてのターゲットに対して、有効なアーキテクチャが「arm64 armv7 armv7.1」に設定されていることを確認しました。

21
Ryan Hoegg

私は同じ奇妙な問題を抱えていました。そこでは、ライブラリが1台のマシンでは正しく認識されていましたが、別のマシンでは認識されていませんでした。

解決策は、Podsターゲットを構築スキームに追加することでした(「製品>スキーム>スキームの編集...」で、Podsメインターゲットを+で追加し、メインターゲットの前に配置します)。その後、cleanおよびbuildプロジェクト。

16
H6.

これらのフレームワークはポッドのプロジェクトパスに存在しないため、これは正常です。 tmpios-> Frameworksで見られるように、存在するはずのフレームワークのいずれにも表示されません。プロジェクトを選択してから、「ターゲット」->「tmpios」->「ビルドフェーズ」->「ライブラリとバイナリをリンク」を選択し、必要なフレームワークを追加します。

それでもコンパイルエラーが発生し、ポッドのライブラリが見つからない場合は、ポッドファイルを次のように記述します。

source 'https://github.com/CocoaPods/Specs'
link_with  ['tmpios', 'tmpiosTests']
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'

ポッドをインストールし、プロジェクトの[ターゲット]-> [tmpios]-> [ビルド設定]-> [その他のリンカーフラグ]で、$(継承)を追加します。

3
euthimis87

Xcodeでポッドグループ内のすべての設定を削除し、ポッドインストールを再度実行します。これにより、xcconfigsファイルが再生成されます。次に、それらがProject> Info> Configurationsで正しく設定されていることを確認します

2
OAK

同じ問題がありました。ポッドの更新を実行するだけでいいことがわかりました

Sudo gem install cocoapods
0
A.J. Hernandez

私は同じ問題を抱えていましたが、以前は「SDK IOS9」と表示されていたため、「赤いフレームワーク」のパスを変更することで解決したので、フレームワークの場所を「SDKを基準にして」設定し、適切なフレームワークの場所を手動で選択します一時的に動作します。

enter image description here

理由は、Xcode 8にアップデートしたのですが、私のコアコポッドはまだ古いバージョンであるため、この問題を引き起こすIOS9で場所を設定しているためだと思います。

0
Roger.L