在运行时替换捆绑包中的图像

Posted

技术标签:

【中文标题】在运行时替换捆绑包中的图像【英文标题】:Replacing images in the bundle at run time 【发布时间】:2011-01-21 22:42:19 【问题描述】:

我可以吗?基本上,我的捆绑包中有一些图像,如果图像有任何变化,我也会从服务器获取它们。我可以在运行时将它们放在包中,这样我就不需要更改代码来选择图像了吗?

【问题讨论】:

【参考方案1】:

您不能更改应用程序包的内容。

但是,可以将图像存储在应用程序的文档文件夹中。然后您就可以覆盖这些图像,以防需要更改它们。

有两种方法可以实现:

    在启动时,检查图像文件是否存在于文档目录中。如果没有,请将捆绑图像复制到文档文件夹。 每次加载图像时,检查它是否存在于文档目录中。如果是,则加载它,否则从捆绑包中加载一个。这样可以避免复制数据,从而减少磁盘使用量,但实现起来需要更多工作。

【讨论】:

【参考方案2】:

您不能在运行时更改捆绑包。这将阻止应用程序运行,因为配置文件将不再有效。你会在***上找到大量如何处理ios提供的沙箱文件夹的代码。

编辑 有用的问题/答案

copying folder from bundle to documents Downloading image into bundle

【讨论】:

以上是关于在运行时替换捆绑包中的图像的主要内容,如果未能解决你的问题,请参考以下文章

动态替换 ios 项目中的 .h 和 .m 文件(捆绑路径)

替换webpack包中的变量,而不会破坏源映射并且无需重建

如何使用捆绑包中的 node_modules 依赖项正确构建用于生产的 NestJS 应用程序?

捆绑调整示例中的运行时错误 - matlab

使用不同实体管理器的不同捆绑包中的实体中的问题

在豆茎图像中找不到捆绑包