2011-12-14 26 views
0

環境変数によってXcodeワークスペース内のプロジェクトを参照する必要があります。 Xcodeのワークスペースファイルは、次のようになります。環境変数によるXcodeワークスペース参照プロジェクト

<Workspace 
    version = "1.0"> 
    <FileRef 
     location = "group:../../Some/Dir/SomeLibrary.xcodeproj"> 
    </FileRef> 
    <FileRef 
     location = "group:SomeApp/SomeApp.xcodeproj"> 
    </FileRef> 
</Workspace> 

私は、ワークスペース・ファイルとプロジェクトが異なる開発環境で使用することができるようにSomeLibraryプロジェクトは、環境変数によって参照されたい(libにプロジェクトが間で共有されていますいくつかの異なるプロジェクト)。これを行う方法に関するアイデア? XML形式はどこかに書かれていますか?

ありがとうございます! :)

答えて

0

私は自分自身にこれに答える必要があると思います。私の研究に基づいて、ワークスペースプロジェクトで動的な場所(環境変数、ソースツリーなど)を使用することはできません。

解決策1: 私はシンボリックリンクを使って何をしようとしていますか?私の現在のワークスペースでは、1つのアプリケーションプロジェクトと、ローカルファイルシステム上のシンボリックリンクを指すプロジェクトエントリを作成しました。このようにして、プロジェクトを切り替えることができ、図書館プロジェクトの動的な場所を持つことができます。私は追加するときはXCodeが適切にこのリンクを処理するかはわからないので、私は手動でこのようなプロジェクトのエントリを追加しました:

<FileRef 
    location = "group:Libraries/SomeLibrary/SomeLibrary.xcodeproj"> 
</FileRef> 

どこSomeLibrary(重要:フォルダがシンボリックリンクである必要がSomeLibrary、または他のXcodeは文句を言わないことプロジェクトの内容を見つけることができます)は、ローカルファイルシステム上のどこかの静的ライブラリプロジェクトへのシンボリックリンクです。この方法では、開発者はライブラリと異なるパスを持つことができ、必要に応じて簡単にバージョンを切り替えることができます。

解決策2: 静的ライブラリプロジェクトをサブプロジェクトとして追加し、相互参照を使用します。サブプロジェクトでは、ソースツリーを使用して動的な場所を使用できます。

私はこれらのソリューションを幅広くテストしていないため、しばらく使用してから返信します。

3

XCode 4環境設定では、「場所」タブが表示され、「ソースツリー」セクションには、場所によって異なる環境変数を設定できます(マシンからマシンに変更できます)。また、これらの設定を使用して、プロジェクトに含めるか参照するライブラリのパスを変更することができます。

これはTerminalコマンドラインからの環境変数ではありませんが、大部分の人はTerminalからXCodeを起動しないので、$ PATHやその他のUNIXスタイルの環境変数を任意のアプリをダブルクリックするだけで、Xcode IDEはそれほど多くありません。それは良い選択肢です。

があり、いくつかのより多くの情報in this related questionだとここApple's documentation on what they are and how to set them upだ(XCodeの3を目指しているが、同じ概念はXCodeの4のために適用されます)。

もっと情報を提供できるかどうか教えてください。

+0

ありがとう、非常に有望です。私はこれが開発者のために働くかもしれないことを見ることができます(それについて簡単に見ました)。しかし、プロジェクトはビルドサーバーを使ってビルドされており、コマンドラインからビルドすることができる必要があります(元の質問のコマンドライン部分は忘れていました)。私はこれがどのように同じ技術を使って達成できるのか分かりません。 – Kenneth

+0

すべてのビルドサーバーを(同様のソースツリー変数宣言を使用して)同じ方法でセットアップすることをお勧めします。それはあなたがしようとしている場合は、別のライブラリを別のビルドサーバー上に置くことができます。プロジェクトのライブラリパスをソースツリー変数に依存させるだけで、そこにソリューションを見つけることができます。また、ビルドサーバをビルドする場合は、 'xcodebuild'ツールと' .xcconfig'ファイルを調べてください。それはあなたにとってもう一つの潜在的な解決策かもしれません。 –

+0

はい、私はそれを調べます。しかし、私はソースツリーテクニックを試しました。ソースツリー変数に相対的なプロジェクト内のファイルの場所を選択することができますが、プロジェクト自体のためにドロップダウンにソースツリーパスはありません。 – Kenneth

関連する問題