使用Build Phase删除文件?

时间:2012-03-30 12:48:07

标签: iphone objective-c shell xcode4

是否可以使用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

但实际上是从包中删除了文件。

1 个答案:

答案 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阶段执行类似的操作。