Recently I had the honor of being interviewed by Xamarin about what we're doing at Olo, which is now featured on their blog. Check it out! How Olo Powers 150+ Restaurant Ordering Apps with Mobile DevOps…
Updated Olo.BuildTools Xamarin Studio Add-In
A couple years back I posted about an add-in we wrote to expose a command to use as part of our build process to grab a snapshot of the current versions of all the tools in the Xamarin Studio build chains. For us this is essential in being able to track how a specific app was built long after versions have been updated on the build server. With the release of Xamarin Studio 6 the add-in…
Determining the Correct String for UIFont.FromName
We use a lot of different fonts throughout the different apps on our platform, and often it can be a little bit of a chore to figure out the correct string to feed to UIFont.FromName() in order to properly instantiate a font from the files. One approached I've used in the past is to throw some lines in my app's startup code like this: foreach (var family in UIFont.FamilyNames) foreach (var fontName in UIFont.…
Write Automated UI Tests for iOS and Android Apps
Previously in this column, I've written about unit testing iOS apps, but what can you do when unit tests just won't cut it? If you're a Web developer you're probably already familiar with libraries like Selenium, which allow you to drive automated testing of your Web app's front-end. Xamarin offers a library named Xamarin.UITest that enable the similar possibilities for your iOS and Android apps. In addition to being able to run those tests locally…
Tips For Uploading Apps to Organizations in HockeyApp
Like many others right now, we're in the process of migrating our testing infrastructure from TestFlight to HockeyApp before the TestFlight shutdown next week. As we did in the past with Xamarin and HipChat, we also open sourced the FAKE helper we made for uploading builds to HockeyApp. For example, to upload a build to HockeyApp and then send a notification to a room in HipChat you can do: HockeyApp (fun p -> {p with…