Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 2 Combining Libraries

This is part 2 of creating a iOS Binding for the Objective-C Library BEMCheckBox.  In part 1 we compiled the Xcode project into two separate libraries.  One for iphones (ARM architecture) and one for iOS simulators (x86/x64 architecture).

In this post I’ll discuss how to combine two libraries into one that contains all the architectures.  If you fail to combine the libraries then you will get errors when you bind to Xamarin.  If you only have the iphone library then it won’t run on the simulator and vice versa.

[Read More]

Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries - Part 1 Compiling the Objective-C Library

There is no checkbox for Xamarin Forms applications.  This is a problem because I wanted a checkbox in a application I’m working on.  A switch wasn’t going to cut it.

After a bit of research I found that Android had native checkbox.  Half my problem was solved.  I celebrated by eating a cookie.

Then I ran into a problem because iOS does not have a native checkbox control.  I found others had solved this problem by creating a iOS button and adding a checkbox image to it.  One image for checked and one for unchecked.  This works but it means I can’t easily change the colour, size, etc. of the checkbox.  Any changes would require me to create new images.  Using MS Paint or GIMP is not my strong suit.

[Read More]

Stack Overflow Developer Survey 2017

Stack Overflow Developer Survey Results 2017

The results of the Stack Overflow Developer Survey 2017 are live.  Some surprising highlights for me:

  • Most developers surveyed are white male web developers.  Just kidding, this was not surprising at all.
  • More than 50% of developers’ parents had a university degree of some type.  I wonder what the parent’s education level is like for other occupations?
  •  SQL is the 2nd most popular programming language.  Surprising to me because I don’t think of SQL as a programming language. Not sure why.  Maybe because you don’t run a SQL application but an application that uses SQL.  Guess I have to change my thinking.
  • Most dreaded language is VB6 which is what I started my professional career with.  Not sure why people dislike it so much.  Maybe it has more to do with the fact most VB6 projects are old and it’s hard to get a VB6 development environment setup.
  • The most dreaded platform is Sharepoint, which is something I’ve never liked and actively avoid.  Glad it’s not just me.
  • Visual Studio is a very popular IDE but the second most popular was Notepad++.  I assume that everyone has Notepad++ installed on their workstation.  Unless you are a sysadmin then you like Vim.  Don’t forget to quit Vim it’s Esc-q or Esc-wq if you want to save and quit.
  • Most developers outside of the United States are underpaid when you translate their salary to USD.  I wonder if this is because of the currently strong US dollar and if the difference wouldn’t have been so high 5 years ago.
  • Git won the version control war over Mercurial despite me personally liking Mercurial better.  Surprisingly Subversion is used more than Mercurial.

Save

Notes on Converting Mini-Compressor to UWP Application (Trying to at Least)

I was inspired to get Mini-Compressor to UWP into the Windows 10 Store a while back this summer. I saw this video several months ago when it was called Project Centennial:

https://channel9.msdn.com/Events/Build/2015/2-692

Then a couple weeks ago there was a form you could fill out and a Microsoft employee would help you convert your application.  So I filled out the form about my tiny little application called Mini-Compressor and was surprised when I heard back.  The fellow was very helpful but in the end we couldn’t get Mini-Compressor ported to UWP.

[Read More]

Fixing MSBuild not Exiting

After upgrading to Visual Studio Xamarin 4.1 from 4.0 our TeamCity build suddenly stopped working.  Actually it was working but won’t stop working.  The build would get hang after rebuilding out solution to create the IPA file.

The step in question looked like:

Solution Runner That Hangs

The TeamCity logs looked like:

[09:23:28][Foo\Foo.iOS\Foo.iOS.csproj] _SayGoodbye
[09:23:28][_SayGoodbye] SayGoodbye
[09:23:28][SayGoodbye] Compute signature for bin\iPhone\Release\FooiOS.app

The build would also hang if I logged into the build machine and ran the msbuild via the command line.  However, the build would not hang if built via Visual Studio.

[Read More]