Building iOS store certificates on Windows

UPDATE Oct 2019: 2FA breaks things :(

How many times have you been working on a cross platform app and been ready to submit to the app stores, but then the Apple store needs a .csr that you should “use a Mac” to generate?

When I google this, I got lots of complicated methods using IIS to request certificates through a quite frankly terrible UI/UX, and most of the guides glossed over how to actually get that .p12 at the end you needed.

Incorporating .NET Core 2.1 into existing .NET Framework/UWP applications

EDIT: As a colleague pointed out, the method below could potentially cause errors at runtime if the .NET Core 2.1 runtime is not installed.

The recently announced .NET Core 2.1 brings some nice new features, but the big draw is the support of Span and it’s performance happy friends.

Adventures in Xamarin Forms

Issues getting started, and differences to WPF/UWP

Xamarin Forms should be an easy sell.

  • Work in C# and XAML. Two good (XAML…?) and well defined languages
  • Works across major mobile OS’s
  • Even works for UWP, enabling a desktop experience if desired

But there’s a shadow that hangs over Xamarin, one shared by most mobile dev platforms: FIDDLINESS.

Software Testing

Testing is an oft argued topic, as I discovered when I started at Readify.
As a bit of a testing noob, I’d only read a bit about testing and thought “That sounds useful, more things caught before deployment”, but upon trying to write them, I found it hard to come up with sensible scenarios. Many of the tutorials I’d seen were around calculations which just aren’t a part of my job in any way.

ASP.NET Core Background Service

Background tasks are often delegated to worker projects or external libraries to be handled, but ASP.NET Core has something like this inbuilt.
The actual interface is IHostedService and is registered in startup.cs like:

services.AddHostedServices<SOME_BACKGROUND_SERVICE>

Mailkit ASP.NET Core

Mailkit is the new official replacement for the SMTPClient as indicated here. There are much better tutorials than anything I can write right now, but here’s a quick primer (there’s also a good tutorial in the Readme for Mailkit)

Issues with Android Emulator DNS

The Android Emulator is pretty sweet now. Fairly performant, works with Hyper-V still enabled, etc.
Recently I started having an issue where the emulator wouldn’t get it’s network set up properly. My adapter list looks pretty crazy (15 or so adapters), so maybe it’s getting confused? Anyway, seems to be an issue that others have come across as well, because I found a few StackOverflow issues about it.

Adding Snyk to VSTS

Snyk is an open source tool for checking project packages for vulnerabilities. It currently checks the main package sources like npm and Nuget. While it has many integrations with source control (github, bitbucket, etc), there’s no VSTS build pipeline integration yet.
As such, I’ve gone and used the API instead! It was fairly straightforward to set up, which is good for the safety of our clients.

tl;dr

  • Setup Snyk account and get API key
  • Setup pipeline with SNYK_TOKEN (api key)
  • Have task to install Snyk and run snyk test

Forcing any version of Xcode on VSTS Mac build agent

Developers using the Apple Store might have recently noticed a message indiciating that “This app has been built for iOS 11.x. Starting March 2019, all apps will be required to target iOS 12.1 available in Xcode 10.1”