問題タブ [xcconfig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
27706 参照

xcode - xcconfig 変数に値を追加する方法は?

Xcode と .xcconfig ファイルを使用しています。プリプロセッサ定義にいくつかの値を追加しようとしていますが、うまくいきません。

私は次のことを試しました(これの多くのバリエーションと同様に)が、これまでのところ運がありません:

GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'

NEW_VALUEシンボルがプリプロセッサ定義に追加されることはありません。

xcconfig ファイルの変数に新しい値を追加することに成功した人はいますか?

0 投票する
4 に答える
9686 参照

xcode - Xcode:複数のxcconfigファイルでデバッグ環境を設定するには?

ファイルでXcode 3.2を使用していxcconfigます。ファイルはターゲット別に編成されています。たとえば、debug.xcconfigファイルとファイルがありますrelease.xcconfig。両方とも共通の設定を使用しているためshared.xcconfig、両方に含まれるファイルを追加しました。

ファイルは次のshared.xcconfigようになります。

ファイルは次のdebug.xcconfigようになります。

DEBUGここで、ファイルにプリプロセッサ定義を追加したいと思いdebug.xcconfigます。この質問に示されているように、次の方法が機能するはずです。

これは Xcode 3.2 では機能しません。Xcode のドキュメントには、変数の変更は不可能であり、上書きのみが可能であることが明示的に記載されています。

皆さんなら、この問題をどのように解決しますか?

0 投票する
0 に答える
1917 参照

objective-c - Xcode xcconfig: ターゲットに基づく依存関係の構成

Objective-C の名前空間の 問題を解決するために、構築中のターゲットに基づいて、依存関係の Objective-C クラスのプレフィックスを試してみたいと思います。

例として、共有ライブラリ ( ObjCStaticLib) にクラス ( CWindow) があるとします。これを使用する2 つのプラグイン (AおよびB) がありますCWindow。がと衝突するAのを避けるために、コンパイル時にクラス名にプレフィックスを付けたいので、 は になり、はになります。CWindowBCWindowCWindowACWindowACWindowBBCWindow

ObjCStaticLibコンパイル時にどのプレフィックスを使用してコンパイルする必要があるかを伝える方法を探しています。xcconfigsを使用して、リーフ ターゲットがカスタマイズして使用するプリプロセッサ マクロを指定することを考えていObjCStaticLibます。ただし、ターゲットがそのような依存関係と「通信」する方法を知りません。

依存関係でクライアントごとの名前空間のカスタマイズを実装するために、必要に応じて関連するすべてのソース/プロジェクト/などを変更できます。

誰かがこれに対する良い解決策を持っていますか?

0 投票する
1 に答える
1672 参照

xcode - Xcodexcconfigファイルとビルドルール

多くのサブプロジェクトを含むXcodeプロジェクトがあります。メインプロジェクトファイルとすべてのサブプロジェクトには、同じxcconfigファイルがあります。一部のサブプロジェクトには、現在、C++ファイルにインテル®コンパイラーを使用するためのビルドルールが設定されています。このビルドルールをxcconfigファイルに移動して、それぞれのビルドルールを変更する代わりに、1つのxcconfigファイルだけを変更することで、C++ファイルのインテル®コンパイラーを簡単にオンまたはオフにできる方法があるかどうか疑問に思っています。サブプロジェクト

0 投票する
2 に答える
3007 参照

objective-c - xcconfigファイルを設定するための推奨される方法

xcconfigファイルを設定するための最良の推奨方法はありますか?プロジェクト関連の分野はどこに行き、ターゲット関連の分野はどこに行くのですか?複数のターゲットはどうですか?

0 投票する
1 に答える
1074 参照

iphone - iPhoneユニバーサル(arm6 / arm7)ビルド中に特定のアーチをターゲットにする方法

アーチごとに異なるldフラグとcフラグを定義しようとしています。

私はこれを使用しています。

OTHER_CFLAGS [sdk = iphoneos *] [arch = arm6] = blabla

ここで設定したものはビルドに反映されません。arm7として設定しても違いはありません。

arm6デバイスとarm7デバイスの両方でテストされています。

ところで、私のプロジェクトに.xcconfigsを使用しています。

0 投票する
2 に答える
19919 参照

iphone - iphone:コードでターゲットの設定でユーザー定義変数を取得しますか?

私のプロジェクトにはマルチターゲットがあります。各ターゲットには、設定用の独自のClassファイルがあります。Classその名前をターゲット設定(Info.plistまたはターゲットの建物設定)に保存したい。この設定に基づいて、各ターゲットで使用する必要のあるクラスを定義できるようにします。

この質問によると、私User Definedは各ターゲットの建物設定に「ターゲット固有の変数」を入れました。

しかし、それを私のコードに戻す方法がわかりませんか?

0 投票する
2 に答える
35205 参照

xcode - Xcode 4 で .xcconfig ファイルを使用するにはどうすればよいですか?

Xcode 4 に切り替えたところ、ビルド設定用の .xcconfig ファイルの操作に問題があります。Xcode 3 で既にファイルが割り当てられている私のターゲットはすべてセットアップされています - Config.file というタイトルの列が Build Settings の Levels ビューに表示されます。しかし、このビューで列を編集する方法や、.xcconfig ファイルを配置して新しいターゲットに添付する場所がわかりません。私はオンラインで調べましたが、答えが見つかりませんでした。誰でもこれを行う方法を知っていますか?

0 投票する
0 に答える
391 参照

xcode - GCC_VERSIONを無視して、異なるコンパイラを使用して依存プロジェクトを構築するXcode 4.1

プロジェクトを gcc から clang に移動しました。Xcode (4.1) は clang を使用してビルドしますが、私のプロジェクトは別の xcodeproject (three20) に依存しており、Xcode は gcc を使用してこれをビルドします。clangを使用してすべてを構築したい。

私は xcconfig ファイルを使用しており、メイン プロジェクトが依存している xcconfig で GCC_VERSION を com.apple.compilers.llvm.clang.1_0 に設定しています。

three20 が依存する xcconfig には GCC_VERSION が定義されていません。他のプロジェクトが依存している共有プロジェクトであるため、変更できません (clang に移動したくない場合があります)。

何らかの方法でデフォルトのコンパイラをグローバルに変更する方法はありますか?

これを修正する方法がなく、XCode が gcc を使用して three20 をビルドする場合、異なるコンパイラを使用してビルドされたファイルをリンクしても安全ですか?

0 投票する
1 に答える
879 参照

ios - 多くのクライアントを対象としたプロジェクトの Xcode コンテンツを交換する最良の方法は何ですか?

1 つのアプリを生成する比較的大規模な Xcode プロジェクトがあります。ただし、このアプリの詳細なカスタマイズとブランディングを必要とする多くのクライアント/顧客がいます。これらの構成には、さまざまなグラフィックス、いくつかの異なるインターフェイスと実装、そしておそらく最も重要な .xcconfig ファイルが含まれます。

私の Xcode プロジェクトには、ディスク上の特定のクライアントのカスタマイズ フォルダーを指す専用のグループがあるため、Xcode プロジェクトを開いてビルドすると、現在のクライアントのカスタマイズを含む単一のアプリのビルドが取得されます。別のクライアントに切り替えるには、そのグループが指すディスク上の場所を変更します。(また、プロジェクトの情報ペインで xcconfig の「ベース」設定を変更して元に戻し、xcconfig の完全な継承をリロードします。1 つまたは複数の xcconfig ファイルを含むグループを変更するだけでは、これはリロードされません!) + クライアント。別のクライアント用にアプリをビルドし、xcconfig が正しいことを確認する必要があるたびに、このフォルダーを切り替えるのは少し面倒ですが、うまくいきます。

現在、コマンドラインを介してビルドを自動化している最中で、問題が発生しています。前述の Xcode グループを別のカスタマイズ フォルダーにポイントする手っ取り早い解決策は、ProjectName.xcodeproj/project.pbxprojファイルをコピーして、ProjectName.xcodeproj/project-template.pbxprojこのファイル内にプレースホルダーを配置することでした。これを grep して、目的のカスタマイズ フォルダーの名前とパスに置き換えることができます。次に、修正した project-template.pbxproj で project.pbxproj を一時的に上書きし、ビルドして正しいアプリを取得します。

お気づきかもしれませんが、project.pbxproj は複製および変更されているため、開発者がオリジナルを変更し、テンプレートも更新するのを忘れると、同期が取れなくなります。それに、とにかく、この方法で pbxproj ファイルをいじるべきではありません。これは Xcode のプライベートなものです。

では、プロジェクト グループ レベルではなく、おそらくスクリプトまたは環境変数を使用して、ビルド フェーズ中にリソース、コード、および構成ファイルでいっぱいのフォルダーについて Xcode に伝えるより良い方法はありますか? 最も複雑なのは xcconfig チェーンのようです。各クライアントには、単一のアプリのデバッグ、開発、および配布の xcconfig ファイルから継承する独自の xcconfig ファイルがあるためです。

この質問が長くて申し訳ありませんが、少し複雑です! どんな提案でも大歓迎です!