首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据活动配置将文件复制到捆绑包中

根据活动配置将文件复制到捆绑包中
EN

Stack Overflow用户
提问于 2011-03-22 17:37:47
回答 4查看 13.6K关注 0票数 30

是否可以根据活动配置控制将哪些文件复制到捆绑包中?我不想为此添加另一个目标,所以这不是一个选项。

现实生活中的例子是一个splash视频,它实际上有8mb大小,而且很长。这个应用程序的每次启动都会显示这个令人讨厌的视频。我不想破坏太多的代码,所以解决方案是一个非常短的启动视频,这是当调试配置处于活动状态时要复制到捆绑包中的候选。

是的,我可以让调试视频变得非常小,这样它就不会伤害到发行版,但为了学习新东西,我需要一种方法来控制根据配置复制哪个文件。我认为Run脚本可以做到这一点,但也许有一个简单的解决方案,我看不到。

提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-24 21:10:45

我没有找到比使用Run脚本更好的解决方案。最佳参考资料是Copy file to the App Resources directory if debug configuration is selected

我用这个run脚本解决了我的问题:

代码语言:javascript
复制
RESOURCE_PATH=$SRCROOT/ResourcesCopiedByRunScript

FILENAME_IN_BUNDLE=splashVideo.mp4

BUILD_APP_DIR=${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}

if [ "$CONFIGURATION" == "Debug" ]; then
    cp "$RESOURCE_PATH/shortDebugSplashVideo.mp4" "$BUILD_APP_DIR/$FILENAME_IN_BUNDLE"
else
    cp "$RESOURCE_PATH/productionSplashVideo.mp4" "$BUILD_APP_DIR/$FILENAME_IN_BUNDLE"
fi
票数 31
EN

Stack Overflow用户

发布于 2018-11-07 15:15:09

最好的方法是使用构建设置下的排除源文件名,如图所示。

票数 10
EN

Stack Overflow用户

发布于 2011-03-29 14:08:01

如果可以为这两个不同的文件指定相同的名称,则可以将它们放在build products文件夹中以进行适当的配置。然后将其中一个添加到项目中,并使其成为相对于构建产品的引用。

如果要将文件放在其他位置,可以将符号链接放在build products文件夹中。但是我不确定如果文件有不同的名称,但符号链接有相同的名称,它是否可以工作。

我已经在Mac项目中使用过这个技巧,我想它也适用于iOS。

编辑:这是我所做的事情的一个例子:我希望我的应用程序的调试版本链接到某个库的调试版本,我希望应用程序的发布版本链接到库的发布版本。因此,我将调试库(或指向它的符号链接)放入app build文件夹的Debug子文件夹中,并将release库放入app build文件夹的Release子文件夹中。然后,当我将库添加到项目中时,我指定引用是“相对于构建产品”。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5389219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档