是否可以使用xcode 4中的构建阶段删除文件,具体取决于它是release还是dev?
若有人有例子吗?
我试过了:
if [ "${CONFIGURATION}" = "Debug" ]; then
find "$TARGET_BUILD_DIR" -name '*-live.*' -print0 | xargs -0 rm
fi
这会打印CopyStringsFile
"build/Debug-iphonesimulator/Blue Sky.app/PortalText-live.strings" CDL/PortalText-live.strings
cd "/Users/internet/Desktop/iPhone Template/iPhonePortalTemplate/CDL.Labs"
setenv PATH "/Developer/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-copyStrings --validate --inputencoding utf-8 --outputencoding binary --outdir "/Users/internet/Desktop/iPhone Template/iPhonePortalTemplate/CDL.Labs/build/Debug-iphonesimulator/Blue Sky.app" -- CDL/PortalText-live.strings
但实际上是从包中删除了文件。
答案 0 :(得分:3)
我拥有不同文件的唯一方法是拥有一个单独的目标,并且只在某些目标中包含某些文件。
编辑示例
好的,我在另一个项目中完成了同样的工作。我们有一个DefaultProperties.plist文件,它包含在目标中。
然后我们有3个这样的副本,不包括在目标,ProdProperties.plist,TestProperties.plist,UatProperties.plist中。
我们使用xcodebuild在命令行上为环境构建,因为它是使用自动构建服务器(Bamboo)构建的。
在执行xcodebuild之前,我们会运行:
cp -vf "./Properties/Environments/${environment}Properties.plist" ./Properties/shared/DefaultProperties.plist
touch Properties/shared/DefaultProperties.plist
将$(环境)传递给脚本。
您可以使用Xcode中的RunScript阶段执行类似的操作。