繁体   English   中英

将文件夹移到“文档”目录

[英]Move a folder to Documents directory

我正在使用的iPhone应用程序与应用程序目录中的20MB图像捆绑在一起,随着时间的推移,我需要将新图像写入文档目录。

理想情况下,我想初始文件夹移动到documents目录,复制该文件夹将意味着浪费20mb用户磁盘空间。

否则,我将在documents目录中创建所需的结构,并将初始图像保留在原位,但这意味着每次我要显示图像时,都要在两个位置进行检查。

建立映像路径时,是否可以自动搜索应用程序包和文档目录?

要回答您的第一个问题:您不能将任何东西移出应用程序捆绑包。 对该捆绑软件的任何修改都会使签名无效,并使您的应用在越狱的所有iOS设备上均无法正常运行。

现在,面临复制图像的挑战:要在主捆绑包中查找内容,您可以这样做:

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage"
                                                      ofType:@"png"];

但是,对于图像,最好这样做:

UIImage *imageFromBundle = [UIImage imageNamed:@"MyImage.png"];

这样可以为您缓存,而直接加载图像则不会。

我不知道您为什么要复制该图像,但是似乎您有一组可能会或可能不会被替换的初始图像。 我建议,然后,而不是从捆绑软件中复制,首先在Documents文件夹中查找图像,如果不存在,则从捆绑软件中复制图像。 这样,您就可以替换图像,而无需从捆绑软件中复制或修改捆绑软件。

AFAIK捆绑软件是只读的。 因此,尽管您的“移动”想法是一个不错的主意,但我可以肯定地说,Apple目前不允许这样做。

建立映像路径时,是否可以自动搜索应用程序包和文档目录?

我可以说我已经完成了图像处理,但是您必须自己创建魔术。 我编写了一个类,将以图像名称作为参数进行调用。 该类将首先在documents目录中查找,然后在分发包中查找,最后在网站上查找该图像。 找到图像后,它返回UIImage。 最初的安装有点麻烦,但是一旦安装到位就非常有用,我很高兴自己做了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM