iOSアプリプロジェクトに取り組んでおり、json-frameworkプロジェクトをワークスペースに追加しています。左側のプロジェクトナビゲーターには両方のプロジェクトが表示され、ビルドスキームセレクターには両方のプロジェクトのスキームも表示されます。次に、json-frameworkプロジェクトのlibjson.aターゲットを、他のプロジェクトのiOSアプリターゲットへの依存関係として追加します。期待される結果は、アプリターゲットがビルドされるたびに、(必要に応じて)ライブラリターゲットをビルドし、アプリターゲットをそれにリンクすることです。これを私が試みた方法は次のとおりです。
同じスキームの一部として両方を構築します。これを試す方法は、アプリのスキームを編集し、スキームの「ビルド」部分に「libjson.a」を追加することです。ちなみに、「暗黙の依存関係の検索」がチェックされています。次に、アプリターゲットのターゲットエディターに移動し、[ビルドフェーズ]-> [バイナリとライブラリのリンク]で、ワークスペースライブラリのリストから[libjson.a]を選択します。その後、スキームをビルドしようとすると、ライブラリターゲットがビルドされますが、アプリターゲットのビルドが失敗し、リンカーエラー「-ljsonのライブラリが見つかりません」が表示されます。これは、ライブラリがビルドされたことを実際に検出していないことを示しています。実際、プロジェクトナビゲーターでは、ライブラリのアプリプロジェクトの下のエントリはまだ赤で、ファイルが存在しないことを示しています。
jsonターゲットを明示的な依存関係として追加します。これを試すために、ビルドスキームを変更しませんが、アプリターゲットのターゲットエディターに移動し、[ターゲットの依存関係]の下にある[追加]ボタンをクリックします。ワークスペース内の他のプロジェクトのターゲットは表示されないため、これは初心者ではありません。
JSONプロジェクトを他のプロジェクトにドラッグしてから、ターゲットを依存関係として追加します。これは、Xcode 3で行ったことです。プロジェクトナビゲーターで、ライブラリプロジェクトを取得し、アプリプロジェクト上にドラッグします。これにより、通常の「ファイルの追加」ペインが表示されます。これは、「完了」をクリックして閉じるだけです。プロジェクトナビゲータには、ライブラリプロジェクトのエントリが2つあります。1つはトップレベルにあり、もう1つはアプリプロジェクトの下にあります。これで、ターゲットエディターを使用して、アプリターゲットの依存関係としてライブラリターゲットを追加でき、ライブラリのリンクフェーズでエラーなしでリンクできます。しかし、壊れているように見えます。ナビゲーターに同じプロジェクトの複数のエントリがあります。これを行う別の方法はありますか?
同じワークスペース内の異なるプロジェクトでこれらのターゲットを接続する「Xcode4-ish」の方法と見なす必要があるのは何ですか?同じワークスペース内の複数のプロジェクトが実際に相互作用できない場合は、不足しているように見えます。ありがとう、グラハム。