回答
后
一些
线索!
“失败”是什么意思?崩溃?挂? Jettisoned用于内存使用?失败的症状是什么?有回溯?你的代码中的任何东西在调试与发布时的行为都不相同?任何#ifdef DEBUG
类型shenanigans? asserts
有副作用吗?你搞乱了编译器设置吗?有C++吗?部件?
我在评论中看到一丝线索,非法访问变量。最有可能的是,这是由于优化器在释放中比在调试中更快地重新使用堆栈槽所引起的。这通常归结为过度释放问题。
即使构建版本,您仍然可以启用僵尸检测。
另外,你做了一个构建和分析并修复它表明的任何问题吗?
我遇到了同样的问题 - 应用工作在调试模式模拟器和设备很好,但无论是在释放模式(它会安装,但只显示启动画面)
- 的Xcode 4.3.2
- iOS的部署目标4.3
我不断看到StackOverflow上认为这是一个内存管理问题的答案,但没有任何意义,我自从装到我的iPhone 4S时的调试版本的工作完全正常。我还检查了构建设置以查看两种模式之间的差异,并跳过了最终编译器优化中的一个差异。
在Build设置 - >下苹果LLVM编译器3.1的代码生成 - >优化级别,改变释放从默认最快,最小[-Os]到无[-O0]设置。解决了我的问题。
在本博客文章中发现解决方案:http://www.mindjuice.net/2011/11/30/how-to-fix-an-app-that-crashes-in-release-but-not-debug/。
的Apple Documentation帮助,但并不能解释为什么这样做正好相反修复的东西:
任何结果的代码优化较慢的建立,因为涉及在优化过程中的额外工作的时间。如果您的代码正在改变,就像在开发周期中一样,您不希望启用优化。但是,当您接近开发周期结束时,发布版本配置可以为您提供成品尺寸的指示,因此最快,最小的选项是适当的。
无:编译器不会尝试优化代码。当您专注于解决逻辑错误并需要快速编译时时,请在开发过程中使用此选项。不要使用此选项来运送您的可执行文件。
最快,最小:编译器执行通常不会增加代码大小的所有优化。这是运送代码的首选选项,因为它为您的可执行文件提供了更小的内存占用空间。
您引用的文档说'不要使用此选项[无]运送您的可执行文件'。但是,你做了什么? – 2015-07-12 00:13:03
- 1. iPad应用程序,将在调试运行,但即席崩溃
- 2. 作为Eclipse应用程序运行导致JVM崩溃 - “EXCEPTION_ACCESS_VIOLATION”
- 3. 尝试获取版本号,但应用程序崩溃
- 4. 下载“folderID = folder.folderID作为Int”会在iOS应用程序的发行版中崩溃,但不会在调试版中崩溃。使用危险吗?
- 5. 应用程序商店版本崩溃,但在调试模式下没关系
- 6. 应用程序在发布版本中崩溃但不在调试
- 7. C#Directx应用程序崩溃版本
- 8. 应用程序崩溃IOS 5在以前版本上工作
- 9. Applescript将作为脚本运行但不是应用程序
- 10. 为什么C#的崩溃包装崩溃的Web应用程序,但作为控制台应用程序运行良好?
- 11. 应用程序崩溃的按钮按Genymotion 2.9版本,但在2.8的作品
- 12. NodeJS应用程序在本地工作,但在Heroku上崩溃
- 13. C#COM应用程序崩溃调试
- 14. Iphone/IOS - 调试应用程序崩溃
- 15. 如何调试崩溃应用程序
- 16. 崩溃调试Win32应用程序
- 17. 调试崩溃的Flash应用程序
- 18. 调试Android应用程序崩溃
- 19. ANR调试应用程序时崩溃
- 20. 应用程序崩溃了调试(iOS)
- 21. 应用发布版本崩溃调试版本的作品,不知道为什么
- 22. 应用程序池崩溃时网站不作为网络服务运行
- 23. 调试程序不在调试器中运行,没有崩溃
- 24. Windows应用程序在调试时不会崩溃,但崩溃否则
- 25. iPhone应用程序运行崩溃
- 26. 如何将GAE cron作业作为特定的应用程序版本运行?
- 27. 如何将我的应用程序作为试用版本?
- 28. 汇编(tasm)程序在运行时崩溃,但在调试器(turbo调试器)中工作正常
- 29. Android应用工作,而作为调试,而是崩溃,如果安装了测试版“的应用程序调试”
- 30. Windows Phone 7应用程序崩溃但未调试时
你应该看到我对这个问题的回答,并且它会(给出)你正在寻找的答案:http://stackoverflow.com/questions/3261557/why-is-windows-phone- 7-emulator-so-slow-versus-um-iphone-os-emulator/3261644#3261644 – 2010-07-25 04:16:51
我已经看过它,但它没有帮助。我提到的两个版本都在设备上运行,而不是在模拟器中运行。在模拟器中一切都很完美。 – 2010-07-25 04:44:58
我在这一点上得到:它们都不同,这就是它失败的原因。 – 2010-07-25 04:48:23