If you’ve ever wanted a light coloured text status bar, you may have experienced difficulties. If you have the current VS Plugin with current being (in iOS 8.1), Xamarin Studio 5.5.3. My VS plugin 8.4.0.0 and Windows Xamarin 3.7.23.0, then you’ll see you don’t have the choice of picking it in the info.plist editor. The choices are Default, Black Transparent and Black Opaque.

Those last two choices are now deprecated and there should be a Light Content. This changed in iOS 7.0 (see the iOS 7.0 transition guide).

For the fixes, I recommend that you edit info.plist with anything but the VS plugin, at least until they fix it. I use programmers notebook 2 which is excellent.

You need to add the following lines in info.plist:

	<key>UIViewControllerBasedStatusBarAppearance</key>
	<false/>

and in AppDelegate.cs you need to add the following line. I’ve shown it bold and in my code I’m using Tabs so create a Tab Controller (my own class) rather than the usual UIViewController.

            tabController = new TabController();
    UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, false);
	    UIApplication.SharedApplication.SetStatusBarHidden (false, false);
            window.RootViewController = tabController;
            window.MakeKeyAndVisible();
            return true;

If you have a launch image you’ll probably want the status bar hidden during launch. If you had previously ticked the hide during application launch checkbox, it adds the following into info.plist.

	<key>UIStatusBarHidden</key>
	<true/>

What this also does with the Light Content fix is keep the status bar hidden so add the second line above (SetStatusBarHidden) as well to unhide it.

To try this fix out, download the code from here :Xamarin Sample for Tab Bars.

Next change the TabBarController so a tab or two is displaying dark colours.

			tab1 = new UIViewController();
			tab1.Title = "Gray";
			tab1.View.BackgroundColor = UIColor.Gray;

and add the one or two lines above to AppDelegate.cs

My Visual Studio started taking a longish- three to four minutes to load up and then the same when I opened a project. This started after the last Xamarin update. I’ve always found that for best results I have to reboot after an update and then unpair and pair. Sometimes my Mac Mini shows up in the Connection dialog as an IP address and sometime as the name. As the ip is DHCP provided, I figured out using the name was best however..

To cut a long story short, Zone Alarm did not like DNS queries for the Virgin DNS ( 194.168.4.100 and 194.168.8.100 port 53 ) which were resolving the Mac Mini and it was those being blocked that slowed VS down. I figure it must have been a timeout plus maybe some kind of fallback as I could still build projects on the Mac.

So if you ever get that kind of slow down, check your firewall!

I can still use it to edit and build manually on the Mac but it’s a pita. My software is uptodate (this happened after the last big upgrade), my PC and Mac are paired. The project compiles ok on the Mac.

But compiles and attempts to debug on Visual Studio all just output this and nothing more:

1>—— Build started: Project: TMRTaxi, Configuration: Debug iPhoneSimulator ——
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I suspect that this in the mbtserver log is to blame…

[05-Dec-2013 17:47:08] Activation error: Built request for POST to https://activation.xamarin.com/api/studio.ashx?token=1a6….. (shortened)
[05-Dec-2013 17:47:08] Activation error: Executing request -1080599872.
[05-Dec-2013 17:47:11] Activation error: Wrote request stream for request -1080599872.
[05-Dec-2013 17:47:13] Activation error: Got response 741550592 for request 741550592.
[05-Dec-2013 17:47:13] Activation error: Reading response 741550592.
[05-Dec-2013 17:47:13] Activation error: Read response stream for response 741550592.
[05-Dec-2013 17:47:13] Activation error: Updated license: iOS Business 05/06/2014 14:43:26

Very frustrating!