12

Xcode4.3を使用してOSXのフレームワークを作成しています。このワークスペースに配置するワークスペースとプロジェクト(フレームワークターゲットを使用)を作成しました。

ここで、同じワークスペースに追加したサードパーティのフレームワークを含めてリンクしたいと思います(ただし、プロジェクト内にはありません)。「バイナリとライブラリ+のリンク」ビルドフェーズでボタンをクリックすると、サードパーティのフレームワークが利用可能なライブラリのリストに表示されました。

サードパーティのライブラリがまだビルドされていないため、リンクされたフレームワークがプロジェクトナビゲータに赤で表示されます(ただし、混乱を招きますが、プロジェクトは正常にビルドされます。サードパーティのフレームワークを使用しようとはしていません)。

+これをターゲット依存関係として追加することで解決しようとしましたが、「ターゲット依存関係」ビルドフェーズをクリックすると、サードパーティのターゲットがリストに表示されません。

この依存関係を適切に構成/解決するにはどうすればよいですか?また、フレームワークがターゲットのFrameworksディレクトリに確実にコピーされるように、ファイルのコピービルドフェーズを作成する必要がありますか?どうすれば適切に設定できますか?

4

1 に答える 1

10

似たようなものに遭遇しましたが、静的ライブラリを使用していました。

  • フレームワークを構築するために行ったことを行い、アプリを構築します (失敗した場合でも、フレームワークは構築されるはずです)。
  • アプリ ターゲットのリンク ビルド フェーズでフレームワークへの参照を削除します
  • ビルドされたフレームワークを Finder で見つけます (アプリ ワークスペースによってビルドされたもの)。
  • それを使用するアプリ プロジェクトにドラッグ アンド ドロップします。今回は(赤ではなく)黒で表示されることに注意してください
  • それをクリックして、Xcode インスペクターが「ビルドされた製品に対して相対的」であることを確認し (参照タイプを変更する必要がある場合があります)、パスが myframework.framework であることを確認します。
  • アプリ リンク フェーズに追加されていることを確認します (追加する必要があります)。
  • これは、コピー/ビルド フェーズで使用できるものです。
于 2012-04-22T14:02:04.037 に答える