无法加载 nibName 问题 (xamarin)

Posted

技术标签:

【中文标题】无法加载 nibName 问题 (xamarin)【英文标题】:Could not load the nibName issue (xamarin) 【发布时间】:2017-06-26 13:45:16 【问题描述】:

我们开始使用Xamarin studio 为少数应用程序准备具有通用解决方案的项目(这个想法是让我们所有的应用程序都使用相同的“核心”组件)。

我们从准备具有基本功能的通用“Core”开始。我们还添加了“subCore”——具有特定于每个平台(iosandroid、Windows 等)功能的库。

目前为AndroidiOS 设置这样的结构。

macOS 的第二步实施过程中,我们遇到了一些阻塞点。

当我们尝试为macOS 平台配置(以上述方式)结构时出现问题。

我能够创建 macOS class Library 包含应在应用程序中重用的组件(目前这只是 1 个带有 xib 文件的类)。但是,当我想在macOS 目标中使用这个包(内部有xib)时,出现异常:

外部修改警告:调试器附加到进程。

应用特定信息: *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[NSNib _initWithNibNamed:bundle:options:] 无法加载 nibName: MainViewController in bundle (null)。以未捕获的方式终止 调用 NSException abort() 类型的异常

经过一番调查,发现Mac Build server is not converting xibs into nibs,所以Xamarin创建的包中缺少这个nib文件。

其他测试信息,基于Xamarin 论坛中提出的解决方案:

重命名、重新创建、重新定位项目中的 xib 文件 - 无法解决问题 重新创建项目 - 无法解决问题 检查Build action 属性设置为InterfaceDefinition(同时检查所有其他可能的变体) - 不能解决问题

我找到了 this post,其根本原因与我完全一样:

Mac Build 服务器未将 xib 转换为 nib。

根据这篇文章的讨论,问题应该得到解决,但我仍然面临这个问题。

有人可以建议如何解决所描述的问题吗?

【问题讨论】:

【参考方案1】:

遇到同样问题的朋友请安装

xamarin.ios-10.13.0.27.pkg

xamarin.mac-3.7.0.27.pkg

此版本包括对所描述问题的修复。

欲了解更多信息,请访问this page。

【讨论】:

以上是关于无法加载 nibName 问题 (xamarin)的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin-iOS今日小部件,无法加载问题

Xamarin - 无法加载程序集'PCLStorage.Abstractions

Xamarin.IOS FFimageloading无法加载

加载程序集时Xamarin Android异常:System.IO.FileNotFoundException:无法加载程序集'Xamarin.Android.Support.Compat&#

使用泛型加载带有 nib 的视图控制器

Xamarin-ios Widgets无法加载