仅在调试版本中包含图形?

时间:2011-02-22 19:49:19

标签: iphone ios build

是否有一种简单的方法可以确保使用配置开关确保资源不包含在我的应用的发布版本中?

它从未在发布版本中使用,但考虑到它的本质,我宁愿甚至不包括它。包括常用于表示软件错误的图像似乎是商店拒绝诱饵。

澄清:我知道如何在应用程序中不使用该图像。我想要做的是在构建发布配置时确保图像在.app包中不均匀。我不希望App Store审阅者浏览捆绑包并说“嘿!一个bug图标!如何才能显示?由于我无法弄明白,必须有一些秘密功能。”

3 个答案:

答案 0 :(得分:7)

最糟糕的情况是,向​​目标添加运行脚本构建阶段:

if [ $BUILD_STYLE = "Release" ]; then
    rm "$BUILT_PRODUCTS_DIR/MyApp.app/Contents/Resources/debug.png"
fi

答案 1 :(得分:1)

不幸的是,我能想到的唯一方法就是在你的Xcode项目中有两个不同的目标。然后,只是不要在分发目标中包含调试映像。这里的头痛是你必须确保向两个目标添加新的类/资产。

一个注意事项:在构建分发时,请确保尽可能干净(即在Xcode中清除全部,删除构建目录,然后在执行构建之前关闭并重新打开Xcode)。我发现大多数相同的目标在构建之间往往不太清楚它们的产品,有时来自另一个目标的资产会进入错误的目标。

答案 2 :(得分:0)

您可以使用预处理指令来选择使用/显示该图像。没有太多细节,它就像是:

#ifdef DEBUG
//use the debug image
#endif

然后,当您进行分发构建时,将不会定义DEBUG,并且不会使用您的图像。您可以在yourProjectName_Prefix.pch中定义此指令,尽管DEBUG构建应该已经定义了该特定宏。