SyncFusion SfChart 不会在 iOS 模拟器(白屏)中呈现,但会在 Visual Studio 预览中显示?

SyncFusion SfChart won't render in iOS simulator (white screen) but shows in Visual Studio Preview?

今天我正在玩弄我的新 SFCharts 社区许可证。我已经根据教程在 Xamarin 中创建了一个简单的图表解决方案,并且从各方面来看它工作正常。我在 Visual Studio 2019 (Mac) 创作它,尽管我也在 PC 上做了很多工作。

当我在 Visual Studio 中以预览模式查看项目时,它似乎渲染得很好(见屏幕截图)。 ![1]: https://ibb.co/Dtrf0y1 "Preview"

当我在 Android 中启动它时,它似乎渲染得很好(见屏幕截图)。 ![2]: https://ibb.co/4mdzRQ7 "Android"

但是当我在 iOS 模拟器中启动它时,除了白屏外什么也没有。甚至没有头条新闻或任何东西,只有白色。 ![3]: https://ibb.co/YQdcXM8 "iOS"

关于这可能出错的地方有什么想法吗?

谢谢。

您是否在 AppDelegate.cs class 中添加了此代码?

public override bool FinishedLaunching(UIApplication app, NSDictionary options) 
{ 
   … 

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

 **Syncfusion.SfChart.XForms.iOS.Renderers.SfChartRenderer.Init();**

 LoadApplication(new App()); 
 …
}

请参考这个link: [https://help.syncfusion.com/xamarin/sfchart/getting-started#launching-the-application-on-each-platform-with-chart]

默认情况下,Xamarin 不会在 iOS 和 macOS 项目中加载渲染程序集。因此,为了解决这个问题,通过在下面提到的各个项目中调用 SfChartRenderer class 的静态 Init 方法手动加载它。

iOS 项目

在 iOS 项目中的 AppDelegate class 的 FinishedLaunching 覆盖方法中调用 SfChartRenderer 的 Init 方法,如下所示。

 public override bool FinishedLaunching(UIApplication app, NSDictionary options)
 { 
   ... 
   Syncfusion.SfChart.XForms.iOS.Renderers.SfChartRenderer.Init(); 
   ... 
 }

macOS 项目

在DidFinishLaunching 中调用SfChartRenderer 的Init 方法重写了AppDelegate class 中的方法,如下所示。

 public override void DidFinishLaunching(NSNotification notification)
 { 
   ... 
   Syncfusion.SfChart.XForms.MacOS.SfChartRenderer.Init(); 
   ... 
 }