我创建了一个自定义 XCode 项目模板 (.xctemplate),可用于构建假 iOS 框架。模板创建的目标工作正常,但有一件事情困扰着我:我无法让 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 在各个部分下显示编译器特定的设置会非常有帮助。我究竟做错了什么?