I’ve been developing apps using C# in Xamarin for a number of years now, up until now as a side project but as Xamarin was bought by Microsoft earlier this year and the annual license is now free it seemed the right time to start focusing on Xamarin a little more.
In order to develop apps using Xamarin you have to decide whether to develop on a PC or a Mac primarily, and then get your overall system set up and running. My setup of choice was to do all my coding on my PC in Visual Studio 2015 and use my Mac Mini on the same network to run my IOS simulators on, and connect my IOS test devices to. It’s important that the installed SDK versions for Xamarin match on both the PC and the Mac or you can run into compilation or deployment problems down the line.
During the process of getting all of this setup, and up to date I ran into a number of issues which, from the Google searches I did, seems I’m not the only person to have these problems. I’ve collected a rough and ready list of some of the errors and their solutions to hopefully save others a bit of the time it took me to eventually get to a stable working system.
During this process you may need to know a couple of key things –
1. Find the IP address of your Mac on the network
2. View your Xamarin log files
3. Update the Xamarin and XCode installs on your Mac
4. Update the Xamarin and SDKs on your PC.
Find the IP address of your Mac on the network
In the top right hand corner of your Mac screen you’ll see the little Wifi symbol that shows your Mac is connected to a Wifi network – click on this symbol while holding down the Ctrl key on your Mac and you’ll see some extra info appear in the dropdown list, inlcuding the IP adress of your Mac on the network.
Xamarin setup process and common error messages
Typically at some point you’ll have a problem getting your PC to connect to your Mac – this wouldn’t be a problem in itself apart from the fact for some reason the useful error messages are hidden deep within the Xamarin log files. Incidentally it’s vital that your PC and Mac are on the same Wifi network…. I had issues at one point because my laptop had autoconnected to a BT Openzone Wifi network and the Mac was on the normal office one. Just a simple point that’s easily overlooked. Presuming it’s not that, you will need the log files! Using the instructions below to get to the log file you are likely to find a message like:
“The installed Xamarin.iOS (version 10.0) on the Mac macname.local (192.168.x.xx) is not compatible with the local Xamarin.iOS 10.2.”
Which is just telling you to update whichever systemis behind and then you will be able to connect to your Mac no problem..
1. Error occurred in the designer agent. Object reference not set to an instance of an object – designer won’t load. Can happen for a number of reasons, in my case when I went on to my Mac and opened XCode / Apple developer account there was a license agreement dialogue box that needed to be accepted by me. Once I’d done that everything worked fine.
2. Failed to create the a fat library. The solution to this was to go to the Mac and open Xcode. An update had been installed and it was waiting for me to accept a new user agreement. Once I’d done that and returned to Visual Studio on the PC I could build the project no problem.
Xamarin related updates
There’s a series of places that updates need to be ‘triggered’ when you’re using Xamarin – the PC, the Mac, and if you are debugging on a device, then the device environment itself.
Updates are located in Visual Studio on the PC. On the Mac there’s system updates which might include Xcode, that needs to be kept up to date. You’ll also have Xamarin Studio installed on your Mac, and that has an updater that will need to be run as well by clicking the File > Check for updates button.
On your device you need to go to follow the normal process for updating your version of IOS (I’m only developing on Apple devices at he moment until I’ve got more comfortable with the full development cycle).
Diagnosing problems and using the Xamarin log files
The log files can be located by going to Help > Xamarin > Open Logs in Visual Studio and then browsing to the relevant folder location as follows:
Mac – ~/Library/Logs/Xamarin-[MAJOR.MINOR]
Windows – %LOCALAPPDATA%\Xamarin\Logs (on Windows 10 this will be something like C:\Users\Bob\AppData\Local\Xamarin\Logs)
If you don’t see the folder you may have to tell File Explorer to show hidden files as they could be hidden by default.
Also in Visual Studio pay close attention to the output window. Top left of that window is a dropdown that says ‘Show output from ‘ and then there are several options:
– Build order
You find different type of information in each and they are often worth trawling through if you are encountering problems.
My next Xamarin post will relate to some of the initial stumbling blocks I encountered when building my first Xamarin app.