应用程序在 ipad 中运行 10 分钟时错误 = 24

Posted

技术标签:

【中文标题】应用程序在 ipad 中运行 10 分钟时错误 = 24【英文标题】:error = 24 when application run for 10 mins in ipad 【发布时间】:2011-07-21 02:30:29 【问题描述】:

我创建了一个应用程序,该应用程序由一个带有播放按钮的屏幕组成,用于播放音频文件。运行应用程序 10 分钟后出现问题;它在控制台中抛出此消息:

ImageIO: CGImageRead_mapData '打开' 失败的 '/用户/印度/图书馆/应用程序 支持/iPhone 模拟器/4.2/Applications/A511E515-6FEA-4D0D-A5C5-95740B14C858/VisualMath.app/pi_play.png' error = 24(打开的文件太多)

在这些消息之后,应用程序崩溃。有谁知道为什么会出现这个问题以及如何解决它?

提前致谢。

【问题讨论】:

所以您想知道是什么导致了“打开的文件过多”的错误消息?猜测一下,您是在某处打开文件而不是关闭它们。但是,如果没有看到一些代码,就不可能知道您正在尝试做什么/可能导致问题的原因。 【参考方案1】:

由于我在同一个应用程序中使用数据库,因此有时我需要两次触发 sql 查询。因为我有两次触发查询,所以数据库文件没有关闭,因此文件在我的应用程序中打开了很多次。因此,应用程序因给出此错误而崩溃。

所以总是检查数据库文件是否正在接近这种错误。

【讨论】:

由于此错误,我在项目中遇到了同样的问题,我得到“无法加载笔尖”,如果我在 ipad 中运行,我的视图也会更改为 iphone。【参考方案2】:

我有一个非常相似的问题。对我来说,它与迭代次数(计数)有关,而不是运行时间,我只是将问题追溯到我对 stop 方法的使用。看来 stop 方法在内存中留下了一些释放没有的资源(我猜测可能会恢复)。即使你在 stop 之后调用 release,这就是我在 audioPlayerDidFinishPlaying:successfully: 中所做的,如果我事先使用 stop 也是不够的。但是用 release 替换 stop 并没有其他任何东西让我的问题消失了。

【讨论】:

嗨约翰,我的问题也是迭代次数而不是时间。正如你所说,我也停止了我的视频播放器,然后释放,所以非资源可以在内存中。我的问题是我需要做的其他事情我尝试了很多事情但仍然是同样的问题请帮我解决这个问题 抱歉,我没有其他见解。【参考方案3】:

您似乎一直在为导致异常的播放按钮加载图像。如果是这种情况,请尝试加载它们一次,并在需要时更改按钮的图标。 如果您使用的是 NSFileHandle,请在完成后关闭文件,或使用 [UIImage imageNamed:(NSString *)];

【讨论】:

嗨,Sami,我不会继续加载按钮的图像。但我在 XIB 中有制作按钮并从 XIB 加载。 那么如何加载 pi_play.png?也来自 XIB? 是的,我已经将xib类型的uibutton设置为自定义并设置图像。

以上是关于应用程序在 ipad 中运行 10 分钟时错误 = 24的主要内容,如果未能解决你的问题,请参考以下文章

在 iPad 中旋转全屏视频时,导航栏和状态栏之间出现奇怪的重叠错误

无法从运行 iOS 10 测试版的 iPad 访问应用程序容器

UIAlertController 中的 UIPickerView 仅在 iPhone 中正确时在 iPad 中给出错误?

iOS 应用程序可在 iPhone 上运行,但不能在 iPad 上运行

应用程序未在 ipad 中运行

IOS Webview 在 iPad 1 和 iPhone 3gs 上运行缓慢