用于修复“用完蹦床类型 2”的 MonoDevelop 设置错误
我们正在开发一个 iOS 应用程序。当我们在 PC 上测试该应用程序时,一切运行良好,但当我们在 iPad/iPhone4 上运行它时,我们经常收到“Ran out of Trampolines type 2”错误消息并且应用程序崩溃。在过去的几天里,我们一直在尝试找出原因/修复它,并尝试了我们在网上找到的所有建议,但我们仍然没有取得任何进展。我们找到的唯一解决方案是从帖子/网页中讨论使用编译器设置调整蹦床设置,如下所示: -aot "nrgctx-trampolines=4048" -aot "nimt-trampolines=4048" in monotouch。 但我们正在使用 Unity3D 来开发我们的应用程序,因此我们没有向我们公开此编译器选项。但我相信 Monotouch 和 Unity3D 都基于 Mono 框架,所以我猜测相同的编译器设置也可以应用于我们的 unity3D 项目?
有谁知道这是否正确?如果是的话,有人可以给我一些关于如何在我们的 Unity3D 项目中启用此选项的说明吗?
预先非常感谢!
we are developing an iOS app. When we tested the app on PC, everything works well but when we ran it on a iPad/iPhone4 we frequently receive the "Ran out of Trampolines type 2" error message and the app crash. We have been spending the last few days trying to identify the cause/fix it and tried all the suggestions we have find on the net, we still have not made any progress. The only solution we have found are from the posts/webpages talking about the adjusting the trampoline settings with compiler settings like this: -aot "nrgctx-trampolines=4048" -aot "nimt-trampolines=4048" in monotouch.
But we are using Unity3D to develop our app so we don't have this compiler option exposed to us. But I believe both Monotouch and Unity3D are based on the Mono framework so I'm guessing the same compiler settings can be applied to our unity3D project as well?
Does anyone know if this is correct? if yes, would anyone be able to give me some instructions on how to enable this option in our Unity3D project?
Thanks a lot in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当前的Unity3D版本支持AOT编译器命令行选项。
这是该问题的解决方案:
Unity 序列化器、Mono 和 Trampolines!
The current Unity3D version supports AOT compiler command line options.
Here is a solution for the problem:
Unity Serializer, Mono and Trampolines!
Trampolines 需要某种类型的代码生成,而 iOS 禁止动态生成代码。
但我可能是错的,蹦床可以为已知的调用预先构建。如果是这种情况,请转到您的 Unity 文件夹(此处为 Mac OS X 路径),并检查这两个 shell 脚本:
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/build
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/xbuild
他们应该调用 ./xbuild.exe。尽管它们可能是其他的,但请对它们执行 grep 操作:
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin $ grep -ri '.exe \"$@\"' 。
更好的是,我认为有一个基于统一的“stackOverflow”小组,但不确定它的名字。
Trampolines would require some kind of code generation, and iOS forbids code generation on the fly.
But it's possible that I'm wrong, and trampolines can be prebuilt, for known calls. If such is the case, then please go to your Unity folder (Mac OS X paths here), and check these two shell scripts:
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/build
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/xbuild
They should be calling ./xbuild.exe. Though they might be others, please do a grep on them:
/Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin $ grep -ri '.exe \"$@\"' .
Better off, I think there was "stackOverflow" unity based group, not sure about it's name though.