Localhost for Xamarin

Localhost for Xamarin

When running our apps in development environment we often want to access some kind of backed service running on our development machine. It is simple on iOS simulator because it uses host machine network so we can reach our development machine with localhost or 127.0.0.1. On Android there is an alias 10.0.2.2 to your host loopback interface. But when running on device we have to use actual IP address of our machine in local network. A lot of different variations,

Continue Reading

Akavache Cache Explorer for Xamarin

Akavache explorer

So recently I had a chance to work on a Xamarin app that deals with Cache Invalidation (yep, one of the three most difficult things in computer science :)). For cacheing I used Akavache and mostly its famous GetAndFetchLatest method. And I noticed that it would be very cool to be able to inspect the local cache while doing manual testing to make sure cache is being invalidated as expected. It wouldn’t be too hard to do that manually but

Continue Reading

Awaiting in C# lock block?

Awaiting inside c# lock block???

So we all have been in a situation when we were writing our scalable and maintainable C# applications taking advantage of async await and we wanted to synchronise access to shared resources using lock block. Only to find out that it is impossible to await when we are inside lock block. If we try we get an error like this: Cannot await in the body of a lock statement. This is purposely not allowed because a lot of bad things™

Continue Reading

White-labeling Xamarin Android apps

In my previous post I showed how to white-label Xamarin iOS applications. I also covered the importance of white-labeling and different configurations that my sample app has. In this post I’ll do the same but for Xamarin Android. The process is actually very similar. We are going to conditionally include the correct set of launcher icons and write a simple bash script to update application id (package) inside AndroidManifest.xml file on build time. So without any further ado lets jump

Continue Reading

White-labeling Xamarin iOS apps

When developing mobile apps (or any other kind of software for that matter) we usually have multiple different environments that we want them to run on. Mobile applications might have some sort of backend API server, analytics service, crash reporting, social integration and huge variety of other services they rely on. Most of those services use some sort of unique ID number so that our app could connect and be uniquely identified by the provider. API servers might be accessed

Continue Reading

Site Footer