偽の iOS フレームワークを構築するために使用できるカスタム XCode プロジェクト テンプレート (.xctemplate) を作成しました。テンプレートによって作成されたターゲットは問題なく動作しますが、気になる点が 1 つあります。ターゲットの [ビルド設定] タブで、XCode にコンパイラ固有のビルド設定をそれぞれのよく知られたセクション (例: "Apple LLVMコンパイラ 4.0 - 言語」、「Apple LLVM コンパイラ - 警告 - すべての言語」)。代わりに、XCode はこれらすべての設定を「ユーザー定義」という名前のセクションに配置し、構成されたキーの一部の名前を変更します。
XCode のバージョンは、OSX 10.7.4 システムでは 4.4.1 です。
.xctemplate の TemplateInfo.plist は次のように始まります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kind</key>
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
<key>Identifier</key>
<string>com.blabla.iosFramework</string>
<key>Concrete</key>
<true/>
<key>Description</key>
<string>This is a template for fake iOS Frameworks</string>
<key>SortOrder</key>
<integer>3</integer>
<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.bundleBase</string>
<string>com.apple.dt.unit.iPhoneBase</string>
</array>
<key>Targets</key>
<array>
<dict>
<key>ProductType</key>
<string>com.apple.product-type.bundle</string>
<key>SharedSettings</key>
<dict>
<!-- Architectures -->
<!-- unimportant -->
<!-- Build Options -->
<key>GCC_VERSION</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<!-- Apple LLVM Compiler - Language -->
<key>GCC_C_LANGUAGE_STANDARD</key>
<string>gnu99</string>
<!-- Apple LLVM Compiler - Warnings - All Languages -->
<key>GCC_WARN_64_TO_32_BIT_CONVERSION</key>
<string>YES</string>
<key>GCC_WARN_SHADOW</key>
<string>YES</string>
<key>GCC_WARN_64_TO_32_BIT_CONVERSION</key>
<string>YES</string>
<key>GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED</key>
<string>YES</string>
<key>GCC_WARN_ABOUT_RETURN_TYPE</key>
<string>YES</string>
<key>GCC_WARN_ABOUT_MISSING_PROTOTYPES</key>
<string>YES</string>
<key>GCC_WARN_UNINITIALIZED_AUTOS</key>
<string>YES</string>
<key>GCC_WARN_UNUSED_FUNCTION</key>
<string>YES</string>
<key>GCC_WARN_UNUSED_VARIABLE</key>
<string>YES</string>
<!-- Apple LLVM Compiler - Warnings - Objective C -->
<key>GCC_WARN_STRICT_SELECTOR_MATCH</key>
<string>YES</string>
<key>GCC_WARN_UNDECLARED_SELECTOR</key>
<string>YES</string>
</dict>
<key>BuildPhases</key>
コンパイラ固有の設定が XCode でどのように表示されるかを次に示します。
このテンプレートを使用していくつかの静的ライブラリをフレームワークに変換したいので、XCode の各セクションの下にコンパイラ固有の設定が表示されると非常に便利です。私は何を間違っていますか?