17

私は知っています、これは数回尋ねられました、しかし大部分はXcode3.xのためです。iPadの場合、2つのプロジェクトが両方とも共通のワークスペースにあります

  • Foo、ビューベースのアプリケーションと
  • Foolib、静的なCocoa-Touchライブラリ

前者は後者に依存します。その依存関係を追加する方法を理解できないようです。ドキュメントでは十分に説明されていないので、次のことを試しました。

  1. 左側のナビゲーションエリアにあるFooプロジェクトをクリックします。
  2. 上部にある[ビルドフェーズ]を選択し、[ターゲットの依存関係]セクションを展開します
  3. プラスボタンをクリックしますが、結果のリストは空です。

また、.aファイルをそのセクションにドラッグアンドドロップしようとしましたが、ほとんど成功しませんでした。また、ドキュメントには次のように記載されています

ワークスペース内のあるプロジェクトのビルド製品がワークスペース内の別のプロジェクトのビルド製品に依存している場合(たとえば、あるプロジェクトが他のプロジェクトで使用されるライブラリをビルドする場合)、Xcodeはそのような暗黙の依存関係を検出し、正しい順序でビルドします。

Xcodeがこれらの依存関係をどのように検出するのだろうか。Appleは、このターゲット依存関係をまったく追加する必要はないと言っていますか?しかし、Xcodeは、一方が他方を使用していることをどのように検出するのでしょうか。

最後になりましたが、なんとかしてFoolibからFooに.hファイルを取得する必要があります。それを行うための推奨される方法は何ですか?明らかに、私はそれらを単にコピーしたくありません。フレームワークにはヘッダーファイルが含まれていますが、自分たちが並行して開発する静的ライブラリを操作する場合、一般的に人々は何をしますか。

正しい方向に少しずつ動かしていただければ幸いです。ありがとうございました。

4

1 に答える 1

15

一般に、Xcode 4は、[スキームの編集]シートが示すように、依存関係を自動的に検出するようです。他の開発者は、依存関係は自動的に検出されず、明示的にリストする必要があると述べています。

したがって、[スキームの編集]->[ビルド]->ワークスペースからターゲットを追加します。

静的ライブラリヘッダーファイルに関する限り、Xcode 4には、少なくともコードの補完と構文の強調表示に問題があるようです。静的ライブラリのクラスを適切に操作して、問題のヘッダーファイルのコピーをメインプロジェクトのグループフォルダー内の場所にドラッグする唯一の方法です。[ターゲットに追加...]のチェックを外す必要があることに注意してください。これにより、構文の強調表示とコードの完了が処理されます。残りは、適切なヘッダー検索パスを指定して処理する必要があります。これは、ユーザーヘッダー検索パス= $(BUILT_PRODUCTS_DIR)になります-場所の設定方法によって異なります。

参照:このリンク

于 2011-05-13T04:11:26.440 に答える