Xcodeのビルド設定修飾子と呼ばれるものは何ですか?
-
27-10-2019 - |
質問
私はいくつかのビルド設定が使用されているのを見てきました
$(product_name:識別子)
使用:上部は設定値を大文字にしますが、それらが何であるかはわかりませんが、ドキュメントを見つけることができません。誰かが自分の名前を知っていますか、それともドキュメントがそれらを適切に使用する場所を知っていますか?
解決
ファイル /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore
これらの束があります:
[ 09:22 root@MacBookPro / ]# strings /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore | egrep "(^:|^[a-z0-9]+$)"
:children.count=%lu
:name='%@'
:File='%@':Line=%lu:RefType=%@
:fileRef=%@:timestamp=%lu
:char-range=%@
:line-range=%@
:<range-type-%lu>=%@
:name='%@'
:name=%@:path='%@'
:name='%@'
:name='%@':buildSettings(%lu)=%@
:path='%@'
:quote
:identifier
:rfc1034identifier
:dir
:abs
:remoteRef='%@'
:File='%@':Head Revision=%@:Active Branch=%@
:scmProprties='%@':sandboxEntry='%@'
.... SNIP ....
upper
environment
diagnostics
type
category
description
path
kind
message
ranges
alternate
start
edges
location
file
これも見つけました: devtoolscoreフレームワークリファレンス. 。フレームワークのAPIのように見えます(- (id)initWithName:(id)arg1 productTypeIdentifier:(id)arg2
).
しかし、他のドキュメントは見つかりませんでしたが、これだけの質問です(xcode-info-plist-build-variable-product-namerfc1034identifier-seems-complete).
他のヒント
彼らは文書化されていないので、私は彼らに名前があるとは思わない。 Xcode 4テンプレートを構築するとき、Appleテンプレートに3つの可変修飾子を見つけました。
identifier
: :それが法的な変数名であることを保証します。違法なキャラクターをアンダースコアに置き換えます。bundleIdentifier
: :それが法的バンドル識別子であることを保証します。RFC1034Identifier
: :それが法的ドメイン名であることを保証します。
そして、あなたのおかげで私は別のものを知っています:
upper
: :値を大文字に変更します。
Xcodeプロジェクトテンプレートは文書化されていません。それらは、継承システムを持つプリストで定義されています。それらの要素には定義された構造があり、次のように二重のアンダースコアを備えたいくつかの拡張マクロを使用しています __PACKAGENAME__
(Xcode 3にも見られます)上記の修飾子の1つで変更されています。
これをさらに掘り下げたい場合はお勧めします ドキュメント:Xcode 4テンプレート. 。 Appleのテンプレートシステムを学習することは、このPDFにつまずくまで、痛みを伴い、遅くなりました。 7,50ドル/€7,50ですが、価値があります。テンプレートを書くことは非常に面倒なままです。Appleのエンジニアは内部ツールまたは多くの忍耐を使用していると思います。
ビルド設定は「ビルド設定」と呼ばれ、で文書化されています Xcodeビルド設定参照. 。製品名はデフォルトでターゲット名ですが、必要に応じて独自の値を構成できます。これらの設定は、スクリプトを作成するときに参照されます。通常、xcodeを使用している間は何も触れる必要はありません。