Jobs
Background Periodic Jobs
| Area | Value | 
|---|---|
| NuGet | |
| Service | Shiny.Jobs.IJobManager | 
| Auto-Register | NO | 
| Static Class | ShinyJobs | 
Features
- Cross platform periodic background jobs
- Runtime based criteria - charging, low battery, connectivity, and more
Platform Setup
Minimum Version: 12
AppDelegate
using System;
using Foundation;
using Xamarin.Forms.Platform.iOS;
using Shiny;
namespace YourIosApp
{
    [Register("AppDelegate")]
    public partial class AppDelegate : FormsApplicationDelegate
    {
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            this.ShinyFinishedLaunching(new Samples.SampleStartup(), options);
            global::Xamarin.Forms.Forms.Init();
            this.LoadApplication(new Samples.App());
        }
    }
        public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler) => this.ShinyPerformFetch(completionHandler);
}
Info.plist
<!DOCTYPE plist PUBLIC " -//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version=\"1.0\">
    <dict>
        <key>BGTaskSchedulerPermittedIdentifiers</key>
        <array>
            <string>com.shiny.job</string>
            <string>com.shiny.jobpower</string>
            <string>com.shiny.jobnet</string>
            <string>com.shiny.jobpowernet</string>
        </array>
        <key>UIBackgroundModes</key>
        <array>
            <string>processing</string>
            <string>fetch</string>
        </array>
    </dict>
</plist>