【问题标题】:MonoTouch Running differently on IOS Emulator than on IPadMonoTouch 在 IOS 模拟器上的运行方式与在 iPad 上的不同
【发布时间】:2012-09-15 12:46:36
【问题描述】:

当我在 Windows 中的 IOS Emulator 上运行我的应用程序(基本上是修改后的移动世界大会)应用程序时遇到问题,而不是直接在 IPad 本身上运行它。我知道有一个不同的过程或涉及,所以我不希望它完全相同。

具体来说,我在初始化 sql 数据库 (SqlLite) 时遇到错误,错误是

“未定义对象”

当我尝试对设备进行单步调试时,我得到的错误感觉好像堆栈已损坏,我什至无法调试方法。

我的问题是,我可以寻找哪些差异类型以及如何调试它们?一定有某种模式会导致问题,我只是不知道那是什么或如何解决。我已经习惯了只在 x86 上工作的 c# 代码。

【问题讨论】:

  • 请提供一些代码来帮助解决您的问题(尤其是“初始化 sql 数据库”的代码)。
  • 你是如何在 Windows 中运行 iOS 模拟器的?
  • 我在monodevelop启动的windows中运行IOS模拟器。关于代码,不仅仅是创建表,还有其他以奇怪的方式崩溃的事情(比如简单地获取集合中第一条记录的 LINQ 语句)。具体来说,我要求的是可以导致模拟器以不同方式运行的东西。我不是在寻求解决这个具体问题的帮助(因为我没有一个很好的具体案例而不添加大量代码)

标签: c#-4.0 xamarin.ios ios-simulator xamarin


【解决方案1】:

是什么导致模拟器表现不同?模拟器不像真实设备那样在内存使用方面受到限制,因此您可能会在设备上遇到内存警告(如果您没有正确处理它们,则会崩溃)。然而,代码本身运行得更快,因此线程之间的竞争条件更有可能发生,因此请注意这一点。不要从不同的线程与数据库交谈,或者至少使用适当的锁定。当然还有AOT limitations,它们只出现在设备上。您的 LINQ 问题对我来说听起来像是 AOT 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多