0

我们公司有一个应用程序,它基本上是一个电子书阅读器。

我们使用RMSDK来执行书籍下载和阅读。

现在,iOS7 设备(不在模拟器中)发生了一些非常奇怪的事情:

  1. 我使用 RMSDK 中的实现方法下载了一本书
  2. 我等待这本书完成下载。这本书保存在 NSCachesDirectory 中(出于 App Store 指南的原因) - 到目前为止,一切正常
  3. 我点击主页按钮,应用程序移至后台
  4. 我点击了应用程序按钮以恢复应用程序,这就是问题发生的时候:

该应用程序完全卡住了。点击主页按钮没有任何作用,点击电源按钮关闭屏幕,但再次点击电源按钮没有任何作用。设备本身已经有效地崩溃了。

几分钟后,Apple 徽标出现在设备上,设备在重新启动后恢复生机。

我不知道我的代码中的什么可能导致设备以这种方式运行。iOS7沙箱不应该阻止我让整个设备崩溃吗?

任何关于为什么会发生这种情况以及我可以做些什么来防止它的想法将不胜感激。

编辑: 我在 AppDelegate 中的 -(void)applicationDidBecomeAcvive: 方法上放置了一个断点,并且在崩溃前的最后一个阶段单击应用程序图标时不会调用它。

编辑: RMSDK 正在使用 libcurl 下载书籍。这可能是导致这种行为的原因吗?

编辑: 如果我在单击主页按钮后单击任何应用程序,而不仅仅是在同一个应用程序上,则会发生问题。例如,我单击主页按钮,然后尝试打开Fruit Ninja,设备崩溃。

4

2 回答 2

1

我们通过禁用 RMSDK 中调用mkfifo(). 由于 NDA,我不确定我能在这里说多少,但它们都位于一个文件中,并且可以通过一个不错的预处理器干净地转换为无操作#if defined()

于 2013-10-31T09:19:09.323 回答
0

它是一个操作系统级别的错误。iOS 7 在某些方面仍然不稳定,例如我的应用程序报告在属于 iOS 7 本身的一部分的地方崩溃,并且不是由我的应用程序引起的。

于 2013-10-16T02:10:13.547 回答