Hide Status Bar in Xamarin Forms for iOS and Android
If you want to hide the status bar at the top of iOS and Android, here is the code to do it in Xamarin Forms.
PushAsync is not supported globally on iOS, please use a NavigationPage
Ever ran into this problem? Easiest fix: Check your App.xaml.cs. Did you set your MainPage directly like MainPage = new StartPage(); ? If so, just change it to MainPage = new NavigationPage(new StartPage());
But it also appears where you cannot change it easily, e.g. if you are on a carousel page and want to open a new page using await Navigation.PushAsync(new myPage());
So instead of using PushAsync, the easiest solution is to use PushModalAsync, like
await Navigation.PushModalAsync(new myPage());
Now you might run into another problem: In some cases, myPage might be called via PushAsync and in some cases via PushModalAsync. So if you have a Back-Button on myPage, it might call PopAsync or PopModalAsync.
Adding Google AdMob to Xamarin Forms iOS
There are already several good implementation guides to get Google Admob into your Xamarin Forms application, depending on what you need, e.g. from James Montemagno, Adam Pedley, Sharma Pranav or many others. Everything went fine on the first day on the simulator, using Googles Test Ad Unit IDs. But on the second day, Ads are not displayed anymore…
Difference between native development and cross platform development in a picture
CommitStrip has made an excellent illustration regarding the difference between native development and cross platform development. It’s already from 2014, and the labyrinth is probably a bit smaller now, while on the other hand the hut improved to an appartment building, but it still hits the nail right on the head.
Open App-Settings in Xamarin Forms
Sometimes it’s necessary for the user to grant some access rights, e.g. for camera or photo library. Typically the user is asked on first access, but if he denies he will not be prompted anymore. So you should forward the user to the settings page instead of just saying “Hey, go to your settings page and do the changes”.
For iOS it’s quite easy to do in Xamarin Forms ( Device.OpenUri(new Uri(“app-settings:”));), but there is no such command for Android so you have to use Dependency Service.
Migrate Xamarin Forms PCL Apps to .net standards
Of course you have already heard of .NET standards , otherwise have a look at the link. So it’s not a question WHETHER you migrate, it’s a question WHEN you migrate. More and more nuget packages are already migrated, so I decided it’s about time to migrate my app. Asking friends before migration, Tobias referenced James Montemagnos short explanation How to Convert a Portable Class Library to .NET Standard and Keep Git History, but I don’t want to migrate a portable class library, I want to convert an App. Glenn proposed to manually migrate it into a new project. That’s of course no bad idea, because there I could exactly see where the errors appear. Additionally I might get rid of some unused packages which I still reference but do not need anymore. So let’s create a new Xamarin Forms App using .netstandard 2.0.
Setup Continuous Integration with Xamarin Forms and Visual Studio Team Services VSTS
Last week I stumbled upon Luce Carters interesting Youtube Tutorial Setting up VSTS CI for Xamarin Forms. It’s very well explained, so if you prefer to watch it as a video: Switch over to Luces Tutorial! Otherwise here is a written step-by-step guide how to setup continuous Integration (CI) with Visual Studio Team Services (VSTS) for a Xamarin Forms App.
Check whether Push is enabled in Xamarin Forms iOS and Android
If you have implemented Push Notifications in your Xamarin Forms iOS and Android app (maybe as explained in Setup Xamarin Forms for iOS Push Notifications or Setup Xamarin Forms Android App for Push Notifications), you might also want to know whether user has enabled Push Notifications in his system settings so you could show a warning in case it’s disabled. As this is OS specific, there is no Xamarin Forms implementation but you could create some easy interfaces to check the status. The code is based on Evan Parsons’ code for iOS and Rene Rupperts lines for Android, so thanks to both!