我正在尝试将 Unity 集成到 iOS 应用程序中。我已经遵循了这个教程http://www.agnosticdev.com/blog-entry/swift/integrating-unity-and-vuforia-ios-swift-project http://www.agnosticdev.com/blog-entry/swift/integrating-unity-and-vuforia-ios-swift-project
现在,当我启动应用程序时,集成后它会崩溃并在控制台上显示此错误:was compiled with optimization - stepping may behave oddly; variables may not be available.
Crash :
![Crash log](https://i.stack.imgur.com/OlOiX.jpg)
我尝试用谷歌搜索这个并找到这些链接:
- APPNAME 是经过优化编译的 - 步进可能会表现得很奇怪;变量可能不可用 https://stackoverflow.com/questions/34170108/appname-was-compiled-with-optimization-stepping-may-behave-oddly-variables-ma
- “项目名称”是经过优化编译的 - 步进可能会表现得很奇怪;变量可能不可用 https://stackoverflow.com/questions/32772573/project-name-was-compiled-with-optimization-stepping-may-behave-oddly-varia
- 经过优化编译的 Xcode 目标 https://stackoverflow.com/questions/41421701/xcode-target-compiled-with-optimization
- Xcode:无法设置调试优化级别 https://stackoverflow.com/questions/36818310/xcode-cannot-set-optimization-level-for-debug
一切都没有改变。
我更改了项目和 Pod 的优化级别。
我还将这一行添加到 pod 文件中:project 'MyProject', 'Debug - local'=>:debug, 'Debug - staging'=>:debug, 'Debug - PRODUCTION'=>:debug
(在目标“项目名称”之前)
我也未选中剥离引擎代码团结一致。
我该怎么做才能克服这个错误?
任何帮助将不胜感激,谢谢。
您正在调试的代码是 IL2CPP 代码,它可能位于经过优化的预构建库中(可能位于 libiPhone-lib.a 中)。您的构建设置仅影响您的 xcode 项目中正在编译的代码,因此它们不会影响预构建的库。要消除警告,您需要重建该库,并且需要 Unity 源代码来执行此操作。
更重要的是,这不是事故的原因。它只是告诉您,找到崩溃的根源将会变得更加困难。
看起来它正在调用一个名为 LoadMetadataFile 的函数,并在访问返回值时崩溃。您可以在该函数调用上设置一个断点,并查看其中的进出内容,以找到下一个调试步骤(bl 指令位于突出显示的崩溃行上方 5 行)。
以下是一些可能对您有帮助的文档:
苹果调用约定文档:https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html
Arm指令参考(打开崩溃指令):http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/LDRSW_imm.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/LDRSW_imm.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)