Xamarin IOS 棱镜中的解析失败异常

Resolution failed exception in Xamarin IOS prism

我有一个用 Xamarin 编写的 iOS 应用程序,当我尝试 运行 iOS 中的应用程序时,出现了 Unity Exceptions Resolution Failed 异常。但是,当我 运行 应用程序的 android 版本时,不会发生此错误。 prism 的 initalize 函数正在执行时抛出异常。

这是我的 app.xaml.cs

的片段
protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        this.RegisterLocal(containerRegistry);
        this.RegisterServices(containerRegistry);  
        this.RegisterPagesForNavigation(containerRegistry);
    }

这段代码全部执行通过

这是iOS初始化

Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {

        global::Xamarin.Forms.Forms.Init();

        PullToRefreshLayoutRenderer.Init();

        LoadApplication(new App(new IosInitializer()));

        return base.FinishedLaunching(app, options);
    }

    public class IosInitializer : IPlatformInitializer
    {
        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.Register<IUAirshipUpdate, UAirshipUpdate>();
        }
    }

这段代码也执行

抛出的异常是参数空异常,表明 IModuleCatelog 不存在。我不明白为什么它正在寻找那个模块并且找不到它。 GitHub 上的源代码表明 class 已注册。

此问题是由于 IOS 应用程序的链接器行为设置为完整而导致 Unity IOC 容器出现问题。