在UNO平台上使用Shiny



正在寻找在UNO平台上构建的跨平台项目中使用shinyorg/shing-nuget包的方法。

面对一些超出我(有限的(iOS开发技能的挑战,我特别想知道如何将Shiny.Core集成到解决方案iOS项目中。

更确切地说,我正在寻找将这个初始化覆盖放在哪里:

public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
=> this.ShinyPerformFetch(completionHandler);

由于当我尝试将其添加到iOS项目的Main.cs(应用程序类(中时,我找不到从哪里开始。。。

iOS项目中的Main.cs类包含一个静态Main方法(它是应用程序的主要入口点(,在该方法中调用UIApplication.Main(args, null, typeof(App));

UIApplication实际上是UIKit.UIApplication

遵循本指南https://github.com/shinyorg/shiny/tree/master/src/Shiny.Core上面写着:

* Add the following as the first line in your AppDelegate.cs - FinishedLaunching method
using Shiny;
this.ShinyFinishedLaunching(new YourStartup());

** IOS JOBS **
If you plan to use jobs in iOS, please do the following:
1. Add this to your AppDelegate.cs
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
=> this.ShinyPerformFetch(completionHandler);

在iOS上,AppDelegate实际上是应用程序中的App类,由默认的Uno平台模板创建。

Windows.UI.Xaml.Application继承自UIApplicationDelegate,并提供了一种声明方式:

#if __IOS__
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
=> this.ShinyPerformFetch(completionHandler);
#endif

以便其他平台的代码忽略此iOS特定代码

相关内容

  • 没有找到相关文章

最新更新