Archive for the ‘ Uncategorized ’ Category



Create an Xcode project.

Open terminal at that folder location.

pod init
pod 'XMPPFramework', :git => "", :branch => 'master'
@import XMPPFramework;

Getting Started


Had issues setting up Ejabbered on the mac.

I’m using an OpenFire server I setup so used that instead, with a couple of clients connected to there instead.


Stack Overflow

Setting the Server

set the server url

set the port

Delivery Receipts

Read Receipts

Group Chat



So I’ve been learning MapKit this week.

It’s been a fun new framework to look into.

Create an Annotation so you can have custom properties.

@interface Annotation : NSObject<MKAnnotation>

Add a category to it so you have a way of telling what it is.

This could be an enum.

In the Delegate method

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation

You can use the category to set up some properties like a button and the pin colour.

I’m wondering if the “reuseIdentifier” should be unique here too?

You’ve added a button, now how to call it?

You could add a target and action

[rightButton addTarget:## action:## forControlEvents:UIControlEventTouchUpInside];

but instead you can use the “calloutAccessoryControlTapped” delegate method.

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

As this isn’t a  “MKAnnotation” like “viewForAnnotation” but an “MKAnnotationView” we need to get the annotation from the passed view.

if ([view.annotation isKindOfClass:[OotAnnotation class]]) { ... }

Then call pfs,

Then in the “prepareForSegue” you need to get the Annotation when you click on a Pin button, this can be cast from the Sender

if ([view.annotation isKindOfClass:[OotAnnotation class]]) { ... }
Annotation *annotation = (Annotation *)[(MKAnnotationView *)sender annotation];

You could then pass your custom Location details via the ViewController. (See code)

Searching for locations to add to the map:


Adding a route, need to investigate this more.


All Code

Goals for 2018


I’d started some training last year but didn’t make any useful apps, I’d like to progress this to a production one in 2018.


I’d like to make progress in either or both of my Tracking app ideas.


Actually release it, I’ve been holding off hoping the API will be re-written, maybe I should just release, then update when it is.

Although releasing the Android at the same time would be nice.


MS: Programming in HTML5 with JavaScript and CSS3

MCSA: Web Applications

MCPS: Developing ASP.NET MVC Web Applications

Microsoft Certified Solution Developer: App Builder

Goals for 2017 – Review


  • iOS
  • Re-wrote API interaction using the Facade pattern
  • Android
  • Asked a friend to help write this

Still waiting on Rich to make a proper API.

Jam Jar

Worked with PassSlot and have a local iOS app that creates them, with images

.NET Apps

I worked a little on a GNVQ tracking app for Learning Objectives, the back end is mostly there, still working on the UI.

In general I was working on a major iOS project at work so didn’t have a massive amount of spare time, learned lots of new APIs and techniques in ObjC and iOS dev which was great.


API Clients – Chaining Requests


var jsonData = JSON.parse(responseBody);

postman.setEnvironmentVariable("token", jsonData.token);





Variables from previous responses

In the response view, right-click on the field you’re interested in and pick Copy as Response Body Dynamic Value

Goals for 2017

  • 599CD (iOS)

Release it!

  • 599CD (Android)

Write an Android version of the iOS I’m hoping to release.

  • Wallet Jam Jar Cinema Passes

I’d like to write a Swift Server Side app to create Jam Jar Cinema passes (like CineWorld)

  • .NET apps (school tracking)

Goals for 2016 – Review

I created a post to motivate me to get things done.

  • 599CD (iPad)

I’ve nearly completed this, it’s currently in the final rounds of testing and I’m happy with how it’s come out.

  • 599CD (Apple TV)

Updated to the new TVML xml files instead of JS, its semi-working, I’m thinking of making it a native app instead.

  • 599CD (Android)

Hoping to start it this year, I’ve got the Dev tools ready on my mac.

  • Sign Language (Apple TV)
  • Carcassonne Score Keeper (iOS/Mac)
  • Bowling Score Keeper (iOS)
  • Wanted to add an Apple Watch

These aren’t as much a priority anymore.

  • Movem App

I worked on this a lot and managed to get a majority of it working. All the levels are created and the app works, just needs some polish. I tried porting it to the AppleTV but the controls don’t quite work.

Now I need to upgrade it to Swift 3, fun times ahead.

I’ve been using my time to learn other things. A lot more C# Dev.

I’ve been enjoying Server Side Swift with a set of videos from Ray Wenderlich.

I’ve been running through the Swift Apprentice book with the Playgrounds app.