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

问题描述 投票:0回答:4

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

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

澄清:我知道如何不在应用程序中使用该图像。我想要做的是确保当我为发布配置构建时,图像甚至不在 .app 包中。我不希望 App Store 审阅者浏览该捆绑包并说“嘿!一个 bug 图标!我怎样才能显示它?既然我无法弄清楚,肯定有一些秘密功能。”

iphone ios build
4个回答
8
投票

最坏的情况,将运行脚本构建阶段添加到您的目标:

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

1
投票

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

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


0
投票

您可以使用 Xcode 11 中的“开发资源”功能。该设置位于每个目标的常规选项卡中。开发资产中的资产将从存档包中删除。


-1
投票

您可以使用预处理指令来选择使用/显示该图像。无需赘述太多细节,它会是这样的:

#ifdef DEBUG
//use the debug image
#endif

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

© www.soinside.com 2019 - 2024. All rights reserved.