Settings Plugin for Xamarin And Windows
Preferences/Settings are part of .NET MAUI, please use this API going foward.
Create and access settings from shared code across all of your apps!
Documentation
Get started by reading through the Settings Plugin documentation.
Looking to store credentials and sensitive information? Use Xamarin.Essential's Secure Storage
NuGet
Xamarin.Essentials & .NET MAUI
The Future:I have been working on Plugins for Xamarin for a long time now. Through the years I have always wanted to create a single, optimized, and official package from the Xamarin team at Microsoft that could easily be consumed by any application. The time is now with Xamarin.Essentials, which offers over 50 cross-platform native APIs in a single optimized package. I worked on this new library with an amazing team of developers and I highly highly highly recommend you check it out.
I will continue to work and maintain my Plugins, but I do recommend you checkout Xamarin.Essentials to see if it is a great fit your app as it has been for all of mine!
Xamarin.Essentials Migration
This plugin and Xamarin.Essentials store information in the same exact location :). This means you can seemlessly swap out this plugin for Xamarin.Essentials and not lose any data. Checkout my blog for more info: https://montemagno.com/upgrading-from-plugins-to-xamarin-essentials/
Build:
- CI NuGet Feed: http://myget.org/F/xamarin-plugins
Platform Support
Platform | Version |
---|---|
Xamarin.iOS | iOS 7+ |
Xamarin.Android | API 15+ |
Windows 10 UWP | 10+ |
Xamarin.Mac | All |
Xamarin.tvOS | All |
Xamarin.watchOS | All |
.NET Framework | 4.5+ |
.NET | 6.0+ |
Tizen | 4.0+ |
.NET for iOS | iOS 10+ |
.NET for Android | API 21+ |
Windows App SDK (WinUI3) | 10+ |
.NET for Mac Catalyst | All |
.NET for Mac | All |
Settings Plugin or Xamarin.Forms App.Properties
I get this question a lot, so here it is from a recent issue opened up. This plugin saves specific properties directly to each platforms native settings APIs (NSUserDefaults, SharedPreferences, etc). This ensures the fastest, most secure, and reliable creation and editing settings per application. Additionally, it works with any Xamarin application, not just Xamarin.Forms.
App.Current.Properties actually serializes and deserializes items to disk as you can see in the implementation.
To me that isn't as reliable as saving direct to the native platforms settings.
Contribution
Thanks you for your interest in contributing to Settings plugin! In this section we'll outline what you need to know about contributing and how to get started.
Bug Fixes
Please browse open issues, if you're looking to fix something, it's possible that someone already reported it. Additionally you select any up-for-grabs
items
Pull requests
Please fill out the pull request template when you send one. Run tests to make sure your changes don't break any unit tests. Follow these instructions to run tests -
iOS
- Navigate to tests/Plugin.Settings.NUnitTest.iOS
- Execute
make run-simulator-tests
Android
Execute ./build.sh --target RunDroidTests
from the project root
License
The MIT License (MIT) see License file
Want To Support This Project?
All I have ever asked is to be active by submitting bugs, features, and sending those pull requests down! Want to go further? Make sure to subscribe to my weekly development podcast Merge Conflict, where I talk all about awesome Xamarin goodies and you can optionally support the show by becoming a supporter on Patreon.