30Oct

Updating apps for iOS 9 – Part 2

Previously, I looked at several changes which developers needed to make for their apps to work smoothly on iOS 9. That post was based on the most recent beta version at the time. Now that iOS 9 is released there are a few more changes that have surfaced which you may need to make for your apps.

In this post, I’m going to look at some of the new changes which have since emerged that can initially cause confusion.

Read More »

16Aug

Updating apps for iOS 9

iOS 9 is currently quite far along in its development and is generally expected to be released in September. Five beta versions have already been released to both the public and developers and the new versions have stabilised nicely. Now is the perfect time to make sure that any of your apps are iOS 9 ready. In this post I’m going to run through any changes that I have needed to make for iOS 9 in my apps. As I find any additional changes I will continue to update this post with those changes.

Click here for part 2 of this post.

Read More »

25Jul

Solution for displaying third party licenses in iOS apps

It’s very common when building an app (or a game) to make use of third party code. In many cases that code may have been made freely available with a requirement to display an acknowledgement/license. Apart from being general good behaviour it is also typically a legal requirement to do so. In this post I am going to look at how to do that plus some catches that have resulted from recent changes that Apple have made. The solution here is slightly modified from JosephH’s excellent solution posted on Stack Overflow here.

Read More »

3Jul

Website back up and running

The website is now (assuming you are reading this) back up and running. The problem was due to a bug in a WordPress plugin I use to combat spam. That bug took down the site. Unfortunately that coincided with some very busy weeks for me which meant I didn’t realise until a kind reader let me know via Twitter.

After some table modification via phpMyAdmin the offending plugin was disabled and the site was back up, thankfully with everything intact. My apologies to everyone for not picking up on the issue sooner.

I will try and post more regularly, if for nothing else than to ensure I spot bugs like the site going down sooner!

20May

Open Source TouchID and Passcode Solution for iOS

Security is an increasingly important consideration for many mobile apps. This is particularly true if the mobile app in question contains sensitive information (financial, legal etc). Providing additional protection for sensitive information is both important and expected. To this end I have added a new set of security related code to my iOSCoreLibrary (available here). The security code allows you to easily add both passcode and TouchId authentication to your iOS app with minimal changes. In this post I will discuss how it was implemented and as always the code is fully available for commercial and non-commercial use.

Read More »

25Apr

Graph Generation in iOS

Graphs are a common feature of many iOS applications and I use them extensively in my latest application. I needed a graphing system that could generate a variety of types of graphs (pie charts, bar graphs, stacked bar graphs and line graphs). I also needed a graphing system that was flexible enough to work on iPad, iPhone and could generate high resolution graphs for printing and export. Finally, the graphing system needed to handle, as gracefully as possible, data sets that ranged from a few data points up to a few thousand.

There are other graphing systems out there but I wanted tight control over the visual appearance. I also wanted to learn how to build a graphing framework that could handle these constraints. Which brings me to this blog post. I have made my graphing code available on GitHub here. The code is free for you to use (commercial or non-commercial) and to modify. Attribution is appreciated but not required.

Read More »

29Mar

Financial Data Exporter

As a component of my latest application one of the things I wanted as a cornerstone was the ability to export a user’s financial data into a wide range of formats. In the interests of future proofing I setup a fairly generic system that takes financial data stored as a list of dictionary objects and can reformat that into the particular needs of each file format. In this blog post I’m going to give a very high level overview of the code. The code has been incorporated into my core library and is available here.

Read More »

3Mar

Retrieving Current Exchange Rates in Objective C

One of the recent features I added to my Travel app involved using the current (aka live) exchange rates. These exchange rates are easy to access courtesy of Yahoo. They very kindly make them available for free and the interface they have created for them is nice and easy to use.

In this post I’m going to walk you through the code to query the current exchange rate between two currencies. The setup is quite straightforward but it will introduce you to some potentially new concepts in how you need to structure code in Objective C. The biggest likely new concept is the idea of synchronous vs asynchronous code.

Read More »

10Feb
communication

Communication: Programmer vs Manager

One of the biggest difficulties when you have hired a programmer to build your idea for you is communication. Everyone has different approaches to communication and difficulties can occur at the best of times even between two people who have the same skillset, background and role. Those difficulties become more likely when you have a non-technical person and a technical person trying to communicate. In some of my earlier blogs I talked about some techniques you can use to mitigate these difficulties.

In this blog I am going to take a brief look at preventing and repairing communication problems.

Read More »

21Jan

Simple view controller to navigate data based on date

A common need in my apps has been the ability to navigate through a set of data based on the date. Rather than duplicating a lot of code every time I developed the Filterable View Controller discussed here. The Filterable VC allows users to easily navigate data that has an associated date. The main features it provides are:

  • Viewing a subset of the data (single week, single month, custom range or all)
  • Moving forward and backwards in time where applicable (eg. previous week/month)
  • Jumping to a specific week or month
  • Works on both iPhones, iPods and iPads. It will work on iOS 7 and up.

Using the Filterable VC is a relatively simple matter of hooking up the particular UI components and the methods to provide the source data. In this post I’ll discuss how to use the Filterable VC and how some of the more interesting aspects work. As always the code is available free to use, modify etc on GitHub here.

Read More »

Copyright © 2014-2015 Iain McManus, All Rights Reserved