静态库可以在调试时正常工作,但不适用于发布

时间:2014-01-13 12:31:13

标签: ios iphone static-libraries

我有一个iOS项目,它有一个静态库,在库中有一个加密方法,在方法中引用了很多关于AES encryption.的系统加密方法当我构建静态库时在发布时,它返回了正确的数据。但是当我使用调试模式构建时,它返回nil。

  • 这两种模式之间有什么区别?
  • 相同的源代码可以构建不同的二进制文件吗?

先帮助我,谢谢。这是我选择两种模式的地方。

enter image description here

1 个答案:

答案 0 :(得分:0)

主要区别在于编译器优化的级别。选择项目目标并查看Build Settings并将Debug与Release进行比较。

崩溃的一个潜在原因是代码有一些内存使用错误,巧合不会导致代码优化崩溃,但没有优化。或者还有其他一些配置差异。请参阅@iDev的评论。

一个起点是修复所有警告,包括编译器和分析器。检查崩溃日志以了解崩溃。如果您需要帮助,请在您的问题中添加崩溃报告。