Bu sene Mayıs ayındaki online Build etkinliğinde duyurulan .NET Multi-platform App UI, yani kısaca .NET MAUI, Xamarin Forms’un evrilmiş ve geliştirilmiş versiyonu diyebiliriz. Peki nedir bu MAUI? Xamarin artık kullanılmayacak mı? Bu değişim neleri etkileyecek? Bu soruları yanıtlamaya çalışalım.

MAUI neymiş?

.NET 5 ile birlikte tüm .NET platformlarını bir araya getirmek hedefleniyor…


Underground Cavern by laspinter

We can use MessagingCenter for this. In your first page, subscribe a message:

public FirstPage()
{
MessagingCenter.Subscribe<SecondPage>(this, "StartProgress", (sender) =>
{
StartProgress();
});
}

public void StartProgress()
{
//do progression here
//and set Progress bar
}

In second page send the message:

private void Onpress(s, e)
{
MessagingCenter.Send(this, "StartProgress");
Navigation.PopToRootAsync();
}

You can find documentation in here.


In this article, I will first examine the FaceID and TouchID authentication methods and then I will talk about how to add them to our Xamarin Forms applications.

iOS Biometric Authentication

Before we move on to how to use these in practice, let’s see these technologies and how they work on iOS.

Biometric…


by tanyapodolskaia

We can force the pages into Landscape mode at runtime as needed. UWP, iOS and Android require different approach, so here’s how we can handled it.

Xamarin.Forms:

public partial class MyAwesomePage : ContentPage
{
public MyAwesomePage()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
MessagingCenter.Send(this, "SetLandscapeModeOn");
}
protected override…

by TsaoShin

We can create a simple round buttton with font icon in Xamarin.Forms application like below:

  1. Add font family to your shared app as an EmbeddedResource
  2. Register the font file with the assembly, in a file such as AssemblyInfo.cs, using the ExportFont attribute.
using Xamarin.Forms;using Xamarin.Forms.Xaml;[assembly: XamlCompilation(XamlCompilationOptions.Compile)][assembly: ExportFont(“fa-solid-900.ttf”, Alias = “fa-solid”)]

3. Create a resource in App.xaml

<Application.Resources><x:String x:Key="IconCheck">&#xf00c;</x:String></Application.Resources>

4.Create a button in Page.xaml


by Rajanandepu

We can use DependencyService to check if notifications is enabled for the app.

In iOS:

[assembly: Dependency(typeof(DeviceService))]
class DeviceService : IDeviceService
{
public bool GetApplicationNotificationSettings()
{
var settings = UIApplication.SharedApplication.CurrentUserNotificationSettings.Types;
return settings != UIUserNotificationType.None;
}
}

In Forms:

public interface IDeviceService
{
bool GetApplicationNotificationSettings();
}

And after these, you can call your DependencyService from your page or view model like this:

bool isNotificationEnabled = DependencyService.Get<IDeviceService>().GetApplicationNotificationSettings();

by F-Kroll

You can open your pages dynamically in your Xamarin.Forms application. For that we can use Type.GetType(string):

async Task OpenPage(object obj)
{
var pageType= Type.GetType($"NamespaceOfYourView.{obj}");
var page = Activator.CreateInstance(pageType) as Page;
await Application.Current.MainPage.Navigation.PushAsync(page );
}

You can read details of Type.GetType in here.


by sanitrance

SecKeyRef using KeyChain access to read and write key as stated in official documentation:

A SecKeyRef instance that represents a key that is stored in a keychain can be safely cast to a SecKeychainItemRef for manipulation as a keychain item. On the other hand, if the key is not stored in a keychain, casting the object to a SecKeychainItemRef and passing it to Keychain Services functions returns errors.

Having a provisioning profile in iOS application developed in Xcode to use SecKeyRef is not required, but in Xamarin.iOS application in Visual Studio for Mac, it is required to use Entitlements.plist to enable keychain access. So if your binding library used the SecKey API, you need to enable KeyChain Access in Entitlements.plist and set apple developer account in your project.

<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.company.yourapp</string>
</array>

The Activity Identification API is a great way of adding contextual awareness to our application, by letting us detect whether the user is currently walking, running, cycling, traveling in a car etc.

For example; we may want to develop a fitness app that determines how many kilometers user are running…


A geofence is a virtual perimeter set on a real geographic area. Combining a user position with a geofence perimeter, it is possible to know if the user is inside the geofence or if he is exiting or entering the area.

In this article, we will discuss how to use…

Tuğçe Arar

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store