問題タブ [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.
xcode - xcconfig 変数に値を追加する方法は?
Xcode と .xcconfig ファイルを使用しています。プリプロセッサ定義にいくつかの値を追加しようとしていますが、うまくいきません。
私は次のことを試しました(これの多くのバリエーションと同様に)が、これまでのところ運がありません:
GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'
NEW_VALUE
シンボルがプリプロセッサ定義に追加されることはありません。
xcconfig ファイルの変数に新しい値を追加することに成功した人はいますか?
xcode - Xcode:複数のxcconfigファイルでデバッグ環境を設定するには?
ファイルでXcode 3.2を使用していxcconfig
ます。ファイルはターゲット別に編成されています。たとえば、debug.xcconfig
ファイルとファイルがありますrelease.xcconfig
。両方とも共通の設定を使用しているためshared.xcconfig
、両方に含まれるファイルを追加しました。
ファイルは次のshared.xcconfig
ようになります。
ファイルは次のdebug.xcconfig
ようになります。
DEBUG
ここで、ファイルにプリプロセッサ定義を追加したいと思いdebug.xcconfig
ます。この質問に示されているように、次の方法が機能するはずです。
これは Xcode 3.2 では機能しません。Xcode のドキュメントには、変数の変更は不可能であり、上書きのみが可能であることが明示的に記載されています。
皆さんなら、この問題をどのように解決しますか?
objective-c - Xcode xcconfig: ターゲットに基づく依存関係の構成
Objective-C の名前空間の 問題を解決するために、構築中のターゲットに基づいて、依存関係の Objective-C クラスのプレフィックスを試してみたいと思います。
例として、共有ライブラリ ( ObjCStaticLib
) にクラス ( CWindow
) があるとします。これを使用する2 つのプラグイン (A
およびB
) がありますCWindow
。がと衝突するA
のを避けるために、コンパイル時にクラス名にプレフィックスを付けたいので、 は になり、はになります。CWindow
B
CWindow
CWindow
A
CWindow
ACWindow
B
BCWindow
ObjCStaticLib
コンパイル時にどのプレフィックスを使用してコンパイルする必要があるかを伝える方法を探しています。xcconfigsを使用して、リーフ ターゲットがカスタマイズして使用するプリプロセッサ マクロを指定することを考えていObjCStaticLib
ます。ただし、ターゲットがそのような依存関係と「通信」する方法を知りません。
依存関係でクライアントごとの名前空間のカスタマイズを実装するために、必要に応じて関連するすべてのソース/プロジェクト/などを変更できます。
誰かがこれに対する良い解決策を持っていますか?
xcode - Xcodexcconfigファイルとビルドルール
多くのサブプロジェクトを含むXcodeプロジェクトがあります。メインプロジェクトファイルとすべてのサブプロジェクトには、同じxcconfigファイルがあります。一部のサブプロジェクトには、現在、C++ファイルにインテル®コンパイラーを使用するためのビルドルールが設定されています。このビルドルールをxcconfigファイルに移動して、それぞれのビルドルールを変更する代わりに、1つのxcconfigファイルだけを変更することで、C++ファイルのインテル®コンパイラーを簡単にオンまたはオフにできる方法があるかどうか疑問に思っています。サブプロジェクト
objective-c - xcconfigファイルを設定するための推奨される方法
xcconfigファイルを設定するための最良の推奨方法はありますか?プロジェクト関連の分野はどこに行き、ターゲット関連の分野はどこに行くのですか?複数のターゲットはどうですか?
iphone - iPhoneユニバーサル(arm6 / arm7)ビルド中に特定のアーチをターゲットにする方法
アーチごとに異なるldフラグとcフラグを定義しようとしています。
私はこれを使用しています。
OTHER_CFLAGS [sdk = iphoneos *] [arch = arm6] = blabla
ここで設定したものはビルドに反映されません。arm7として設定しても違いはありません。
arm6デバイスとarm7デバイスの両方でテストされています。
ところで、私のプロジェクトに.xcconfigsを使用しています。
iphone - iphone:コードでターゲットの設定でユーザー定義変数を取得しますか?
私のプロジェクトにはマルチターゲットがあります。各ターゲットには、設定用の独自のClass
ファイルがあります。Class
その名前をターゲット設定(Info.plist
またはターゲットの建物設定)に保存したい。この設定に基づいて、各ターゲットで使用する必要のあるクラスを定義できるようにします。
この質問によると、私User Defined
は各ターゲットの建物設定に「ターゲット固有の変数」を入れました。
しかし、それを私のコードに戻す方法がわかりませんか?
xcode - Xcode 4 で .xcconfig ファイルを使用するにはどうすればよいですか?
Xcode 4 に切り替えたところ、ビルド設定用の .xcconfig ファイルの操作に問題があります。Xcode 3 で既にファイルが割り当てられている私のターゲットはすべてセットアップされています - Config.file というタイトルの列が Build Settings の Levels ビューに表示されます。しかし、このビューで列を編集する方法や、.xcconfig ファイルを配置して新しいターゲットに添付する場所がわかりません。私はオンラインで調べましたが、答えが見つかりませんでした。誰でもこれを行う方法を知っていますか?
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 をビルドする場合、異なるコンパイラを使用してビルドされたファイルをリンクしても安全ですか?
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 ファイルがあるためです。
この質問が長くて申し訳ありませんが、少し複雑です! どんな提案でも大歓迎です!