Category Archives: iOS

Top 100 Albums app – my approach to a code exercise

The completed project

I recently completed the development of an iOS app as a code exercise.   The goal was to display the top 100 albums across all genres using the Apple RSS generator.    You can find the TopAlbums project on GitHub.  The project description contains an animated GIF of the finished product, along with the detailed set of requirements.

What I wanted to do in this post is review my thought process in developing the app, along with any intricacies I came across.

Continue reading

Building an iOS app around the Unsplash API

Unsplash API

I enjoy discovering new APIs to experiment with.  In this case I came across Unsplash which is a source of high resolution images which are free to use.  The developer API is well documented and it is a simple process to register an app to obtain an API key.

To skip ahead and see what I built using this API, see my Unsplash demo app on GitHub.

An opportunity to build an iOS app

An Image API service provides a nice basis for building an iOS app.   It lends itself to working with table views, collection views, storage and many other iOS features.  The following screenshots show what I was able to achieve.

Continue reading

AppDeveloperKit – reusable, configurable Swift classes for iOS

Introducing AppDeveloperKit

I’ve completed the initial release of a project I’ve been working on called AppDeveloperKit.   It is a tool for iOS developers to assist in developing reusable, configurable Swift classes.

Properties are declared in classes and coded to affect appearance and behavior. The values for these properties are stored in a property list (plist) file. A macOS app provides a UI to edit these properties in real-time as an app is actively running on a device or simulator.  An iOS framework coordinates access to the plist file and communication to the macOS app.

 

Features

This is a list of the main features that AppDeveloperKit offers:

Continue reading

Debugging in LLDB with command regex

Overview

Add the following to ~/.lldbinit and examine Swift objects in LLDB with “mp myobject” for both iOS and macOS, including those in NSView for macOS.

command regex mp 's/(.+)/expr Swift.print(%1)/'

Read on for more info

Goodbye po

I wanted to share a quick tip I discovered that allowed me to more easily examine objects.

Continue reading

Thinking outside the box to debug: Charles Proxy, push and a forced crash

An issue on just one device

A couple of weeks ago, one of my colleagues reported that she found an issue with the iOS app for AAFES EXTRA, an app that I had developed for BlueSoHo for their client The Army & Air Force Exchange Service.

The iOS app was not displaying the expected updated content.  The Android app was working fine.  To make things more difficult, the problem was only occurring on one specific device and could not be replicated on any other devices, even of the same model.

Continue reading