巨大的图书馆没有加载在iPhone

时间:2011-05-02 07:15:20

标签: iphone cocoa-touch ios

我已经为iPhone移植了一个库(冰,NAT遍历)并且在iphone设备(版本4.3)上实际测试时遇到了问题。开发了一个与我的库链接的可可触摸包装器。从我的应用程序中放置的“测试”按钮调用库例程。

应用程序是.mm,库是基于C ++的。

以下是我的申请失败/通过

的情况

案例I:我从Xcode for iphone“构建和调试”/“构建并运行”应用程序。该应用程序在iPhone上工作正常,我能够在我的mac机器上的控制台上看到相同的日志。

案例II:我尝试从我的iphone运行应用程序,但它在打开时崩溃了。

案例III:我从Xcode构建并调试应用程序,应用程序启动了。但是一旦我拔掉调试电缆(从我的mac连接到iphone),应用程序就会崩溃。

应用程序的大小为16 MB,库的大小为288 MB。

我尝试通过制作一个简单的测试应用程序和一个测试库来模拟同样的问题。它在所有情况下运行良好而没有问题。可能是什么问题?

  1. 似乎应用程序在iphone上运行时从mac机器映射库代码。一旦物理链接中断,应用程序崩溃。

  2. 图书馆的规模是巨大的吗?

  3. 提前致谢

2 个答案:

答案 0 :(得分:3)

iOS会杀死阻止主线程太久的应用。这可能是问题,也解释了为什么应用程序不会在调试模式下被杀死。

尝试在后台运行您的功能,看看是否有帮助!

答案 1 :(得分:0)

最后我回答了我的问题!非常感谢Martin指出“iOS杀死了长时间阻止主线程的应用程序”

以下是我找到解决问题的程序:

Xcode“orgainzer” - > “设备日志”部分显示了iphone崩溃报告。我的应用程序崩溃报告也是在同一个中生成的。

在崩溃报告中,它清楚地写着“mytestapp未能及时启动”,并进一步显示了返回结果需要太长时间的API。 (在我的例子中,它是getlocalhostname API)。

我刚刚按照我的要求更正了API,在iphone设备上编译并运行了应用程序,它运行正常!此外,应用程序的启动时间现在还很少。

再次感谢!