如何在项目模板中添加构建阶段?

时间:2011-04-05 11:18:59

标签: templates scripting xcode4 targets

我正在尝试在Xcode 4的自定义项目模板中向目标添加运行脚本构建阶段。

有没有人有关于如何做到这一点的任何示例,教程或提示?

我假设这将在TemplateInfo.plist中完成 - 但我的搜索结果毫无结果。

2 个答案:

答案 0 :(得分:14)

经过大量的反复试验,我已经解决了这个问题。这是TemplateInfo.plist中需要的额外密钥。这将添加一个将在其他默认构建阶段之后运行的脚本。

<key>Targets</key>
<array>
    <dict>
        <key>BuildPhases</key>
        <array>
            <dict>
                <key>Class</key>
                <string>ShellScript</string>
                <key>ShellPath</key>
                <string>/bin/sh</string>
                <key>ShellScript</key>
                <string># Just a comment</string>
            </dict>
        </array>
    </dict>
</array>

答案 1 :(得分:0)

要回答@Paulo Faria问题,我找到了一种将输入和输出文件添加到运行脚本阶段的方法(我的模板使用R.swift,它需要输入和输出文件):

<key>Targets</key>
<array>
    <dict>
        <key>BuildPhases</key>
        <array>
            <dict>
                <key>Class</key>
                <string>ShellScript</string>
                <key>ShellPath</key>
                <string>/bin/sh</string>
                <key>Name</key>
                <string>R.swift</string>
                <key>ShellScript</key>
                <string>"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/R.generated.swift"</string>
                <key>InputFiles</key>
                <array>
                    <string>$TEMP_DIR/rswift-lastrun</string>
                </array>
                <key>OutputFiles</key>
                <array>
                    <string>$SRCROOT/R.generated.swift</string>
                </array>
            </dict>
        </array>
    </dict>
</array>