正在寻找在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特定代码