文件大小限制iOS(5.1+)

文件大小限制iOS(5.1+),ios,Ios,我正在使用的iOS应用程序处理非常大的文件,最大的文件大小为2.7 gig,在下载了大型的iOS应用程序后,我会收到如下控制台消息: Aug 24 14:50:28 unknown TheAppName[1407] <Warning>: Error opening database: 14 unable to open database file 此外,如果加载一个已经加载并显示的视图,则会导致崩溃,表明无法找到nib 该应用程序可以在没有大文件的情况下正常运行,但拥有它非常有用。

我正在使用的iOS应用程序处理非常大的文件,最大的文件大小为2.7 gig,在下载了大型的iOS应用程序后,我会收到如下控制台消息:

Aug 24 14:50:28 unknown TheAppName[1407] <Warning>: Error opening database: 14 unable to open database file
此外,如果加载一个已经加载并显示的视图,则会导致崩溃,表明无法找到nib


该应用程序可以在没有大文件的情况下正常运行,但拥有它非常有用。我的问题是:大文件是否会导致某种内存问题,或者iOS对文件是否有某种限制?我环顾了其他地方,找不到与此相关的任何内容。

iOS应用程序的最大大小限制是2GB,这是导致所有错误的限制,也是你的应用程序崩溃的原因。我建议您将大文件上传到文件托管站点,并在需要时将其流式传输到应用程序中。

它在模拟器中工作,还是您也有同样的问题

我建议您使用ObjectAlloc工具运行应用程序。您管理下载的方式可能存在一些漏洞。或者,设备上是否有此文件的可用空间

其他人则成功地下载了巨大的文件,只要闪存上有足够的空间。您可以对此进行测试—有几个函数可以告诉您如何确定可用磁盘空间


另一个想法是:使用文件描述符上设置的F_NOCACHE fcntl标志将文件写入磁盘。这将导致写入绕过用于缓存磁盘块和其他内存使用的统一缓冲区队列,并将极大地减少系统本身的压力。

您是否有相关参考资料?我翻阅了苹果的文档,却找不到。对——一个应用程序是32位的。但是文件的长度是64位,所以很明显,如果它位于iTunes Connect开发者指南的第167页,那么文件的长度可能会大得多。右-当前指南的第214页就是上面链接的那一页。iOS应用程序的大小可以达到2GB——因此应用程序的大小受到限制,但它创建的文件仅限于可用空间或64位的大小,这是最早发生的:-应用程序在模拟器中运行良好,设备有足够的空间存放文件。很好-下载时查看内存使用情况。模拟器内存不足,即使泄漏也不会耗尽。真正的设备会。而且,正如我所指出的,nocache标志确实可以帮助减少系统上的压力。没有办法测量或观察UBC统一缓冲区缓存-我甚至与WWDC的iOS/OSX系统开发经理谈过这一点,现在也没有办法这样做。我对UBC施加了太多的压力,这是我自己的问题。不幸的是,我现在没有时间测试它,所以周一我会测试并检查它是否有效。祝你周末愉快!不过,这两种仪器检查使用模拟器,应该是相同的。