【问题标题】:MvvmCross (iOS): sample throws runtime exceptionMvvmCross (iOS):示例引发运行时异常
【发布时间】:2019-12-31 18:07:49
【问题描述】:

我正在尝试 MvvmCross (6.4.1) 并使用提到的示例 in the GitHub repository 遵循已安装 Nuget 包的 readme.txt 中的方法:

  • 核心项目-

    1. 将 App 类添加到根文件夹(参见示例文件中的 Core/App.cs.pp)。
    2. 将 ViewModels 文件夹添加到项目的根目录,并在此文件夹中添加至少一个 ViewModel 类(参见示例文件中的 Core/HomeViewModel.cs.pp)。
  • iOS 项目(如果不是为 iOS 构建,则忽略)-

    1. 在 AppDelegate.cs 中,将 AppDelegate 类更改为继承自 MvxApplicationDelegate、Core.App> 而不是 ApplicationDelegate(参见示例文件中的 iOS/AppDelegate.cs.pp)。
    2. 仍在 AppDelegate.cs 中,删除所有预填充的方法,留下一个空白的 AppDelegate 类。
    3. 在项目的根目录下添加一个 Views 文件夹,并在该文件夹中添加至少一个 View 类,以对应 Core 项目中的 ViewModel 类(参见示例文件中的 iOS/HomeView.cs.pp)。
    4. 将新的 iOS Interface Builder 布局 (XIB) 或 StoryBoard 文件添加到 Views 文件夹,以对应上一步中创建的视图。 (参见示例文件中的 iOS/HomeView.xib.pp)。

唯一的区别是我使用的是故事板而不是 xib。我已经相应地调整了 Info.plist。尽管自述文件说该解决方案应该运行,但我在 Xamarin.iOS/UIKit/UIAplication.cs 中遇到了运行时异常:

自述文件中是否缺少任何内容来运行这个简单的解决方案?

【问题讨论】:

  • 您是否尝试过使用 XIB 代替情节提要?那行得通吗?此外,您在生命周期的哪个阶段会遇到该异常?
  • @Saamer 尝试使用 XIB 时,我只是得到一个空白的白色屏幕。使用情节提要时,异常立即发生在 UIApplicationMain
  • 白屏不是预期的行为吗?还是您已经在 XIB 上放置了物品?
  • 好的,你记得在你的 View 类上添加一个 MvxFromStoryboard 属性,指示故事板文件的名称,如下所述:mvvmcross.com/documentation/platform/ios/…
  • 我还检查了处理情节提要:Info.plist 中的情节提要条目也存在同样的问题。一旦你删除它们(见上文),一切都会顺利进行。

标签: ios xamarin xamarin.ios mvvmcross runtimeexception


【解决方案1】:

由于我花了几天时间才弄清楚这一点,所以我将提供我对这个问题的发现。同样的解决方案也适用于TipCalc.iOS tutorial。 我的设置是:

  • macOS Catalina 10.15.2
  • VS for Mac 社区 8.3.11
  • Xcode 11.3

我不得不删除 Info.plist 中关于情节提要的几个条目:

在我删除了这些键(包括上述演示的子键)之后 - 无论是用于 XIB 还是情节提要。

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多