Here’s a full list of content I’ve written over the years. I started developing for iOS in 2011, and started taking notes here since 2012.
Annual Summary
I've written a total of 412 articles for this site and counting!
Here's a list of how many articles I've written per year:
2020 (1)
2019 (4)
2018 (13)
2017 (20)
2016 (13)
2015 (70)
2014 (92)
2013 (151)
2012 (48)
Every article I've ever written for this site
In all these 412 articles, I've written a whopping 130,398 words on this site alone, not including the 10,337 that I've written as comments in response to my readers.
Combined together, that's a staggering 140,735 words!
By comparison, an average paperback contains about 50,000 words.
Top Secret: The WWDC 2020 Opening Video
Mothball Alert
What’s New in iOS 12.4
What’s New in iOS 12.3.1
What’s New in iOS 12.2
What’s New in iOS 12.0.1
ChargeGate: What’s going on with wired charging on iPhone XS?
iPhone XS and XR: It’s like New Coke all over again
What’s New in iOS 12
How to assign a variable inside a block in Objective-C
Why is Xcode getting worse with each passing year?
Two Million Visitors
Which iPhone should you buy (August 2018)?
iOS 12 – First Impressions
Building a Day Counter on iOS – Part 3
Building a Day Counter on iOS – Part 2
Building a Day Counter on iOS – Part 1
How to pick a random character from a string in Objective-C
How to use Version Control since Xcode 9
How to create a macOS Project without Storyboards in Xcode 8
How to detect an iPhone X
What to do with “Linker Command failed with exit code 1” error in Xcode 8
What’s New in iOS 11
How to load a different storyboard for different iPad Sizes
What is the NSPhotoLibrary Usage Description key?
How to delete a git branch with Xcode 8
How to fix missing file warnings in Xcode 8
How to create infinite loops in Objective-C and C
How to add a macOS target to your iOS App
How to resize a UITextView dynamically with Auto Layout
How to keep a UITextView scrolled to the bottom
How to determine the height of the keyboard in iOS
How to detect when the keyboard appears and disappears in iOS
How to read keyboard input in C
How to define a struct in C
How to submit your apps to the App Store with Xcode 8
How to fix http load errors in your apps since iOS 10
How to break a for loop in C and Objective-C
How to read Command Line Input on macOS
How to use a specific voice for text-to-speech in iOS
How to test if an NSArray or NSSet contains an object
What’s new in iOS 10.2
How to turn an ISO language code into the language identifier
How to explode an NSString into single NSString characters
What’s New in iOS 10
How to check if the Alex Voice is installed in iOS
What’s New in iOS 9.3.2
How to read MFi Controller input in iOS
How to avoid “Capturing ‘self’ strongly in this block is likely to lead to a retain cycle”
What’s New in iOS 9.3
Health Update
How to play videos in iOS 9
What’s new in iOS 9.2
How to use Arrays in Swift
How to fix “no rule to process file” warning in Xcode
How to build WordPress for iOS (2015)
How to write a Custom Initialiser in Swift
How to access values in a Swift Dictionary
How to present a view controller on top of a UISplitView Controller – Part 2
How to switch root view controllers in Swift
How to prevent the screen from sleeping in iOS
How to present a view controller on top of a UISplitView Controller – Part 1
Building a searchable UITableView in iOS 9 – Part 4
Building a searchable UITableView in iOS 9 – Part 3
How to use Swift classes in Objective-C
How to instantiate an NSManagedObjectContext in iOS 9
Building a searchable UITableView in iOS 9 – Part 2
How to test if a Navigation Controller’s Back Button was pressed
Getting started with Unit Testing in Xcode 7
How to extract a UIImage from a video in iOS 9
How to kill your app when it enters background mode
How to access the Step Counter and Pedometer Data in iOS 9
How to create a searchable UITableView in iOS 9
Building a searchable UITableView in iOS 9 – Part 1
How to access the barometer in iOS 8
What’s new in iOS 9.1
How to add your own shortcuts above the keyboard in iOS 9
How to share objects using your own UIActivity
How to share things with a UIActivityViewController
How to create Popovers in iOS 9
How to handle device rotation since iOS 8
How to use Key-Value Observing in Objective-C
How to display Live Photos in a view controller
How to track finger position and touch force in iOS 9
How to create alert views and action sheets in iOS 8
3D Touch in iOS 9, Part 4: Adding Static Shortcut Items
3D Touch in iOS 9, Part 3: Adding Dynamic Shortcut Items
3D Touch in iOS 9, Part 2: Preview Actions
3D Touch in iOS 9, Part 1: Peek and Pop
What’s new in iOS 9.0.1
How to link directly to your app’s Settings section
How to use Touch ID in iOS 8
How to avoid “whose view is not in the window hierarchy” error when presenting a UIViewController
Xcode: How to activate code completion for already completed methods
How to increase the font size in the Xcode Debugger
Tip: How to download apps again after changing the region of your Apple ID (for free)
How to fix "Couldn't communicate with a helper application" in Xcode 7
Why am I not seeing iCloud Store Log Messages in Xcode 7
Swift: How to iterate through all elements in an Array, Set or Dictionary
How to bring back Code Folding in Xcode 7
What’s new in iOS 9
How to preview storyboards in Interface Builder
How to fetch multiple Entities with an NSFetchedResultsController
How to tint the sections in your UITableVIew
How to implement Table Headers with NSFetchedResultsController in Core Data
FAIL: iOS 9 can’t restore iCloud Backups from iOS 8
Apple changes Developer Program
How to load UIStoryboards depending on screen height in iOS
What’s new in iOS 8.3 and Xcode 6.3
What's new in iOS 8.2
How to implement context menus for cut/copy/paste in a UICollectionView
How to build a UICollectionView in iOS 8
How to use UIPasteboard to share data with iOS
How to set the Root View Controller in Xcode 6
How to create an Unwind Segue in iOS 8
What’s new in iOS 8.1.3
How to use Categories in Objective-C
How to apply Blur Effects to images and views in iOS 8
How to take a screeshot in iOS programmatically
How to grab a reference to the top most UIWindow
How to control the Preview Screenshot in the iOS Multitasking Switcher
Deploying your app from Xcode to a device with Release Build Configuration
What’s new in iOS 8.1.1
What's new in iOS 8.1
How to change the Git user pictures in Xcode
What’s New in iOS 8
How to test which class presented a UIViewController
How to access values from the iOS Clipboard (from copy and cut operations)
How to add ordered image uploads in WordPress for iOS 4.0.3
How to open the Pinterest App from your own iOS App
Creating Multiple In-App Purchases in iOS
How to fix “The identity used to sign the executable is no longer valid” error in Xcode
How to compare two NSDates
How to reset your iCloud Ubiquitous Container
Completing an iCloud Restore when it's stuck on apps deployed from Xcode
How to test if your app needs an upgrade
How to fix a Region Mismatch on your Apple ID
How to speak Core Data
How to bring back Code Completion for @ literals in Xcode 6
Creating an In-App Purchase in iOS 7 – Part 6: Restoring
Creating an In-App Purchase in iOS 7 – Part 5: Testing
Creating an In-App Purchase in iOS 7 – Part 4: The Purchase
Creating an In-App Purchase in iOS 7 – Part 3: StoreKit Observer
Creating an In-App Purchase in iOS 7 – Part 2: Custom Shop Class
Creating an In-App Purchase in iOS 7 – Part 1: Setup
Where is the Documents Directory for the iOS 8 Simulator
How to use Popovers on iPad – Part 3: Image Picker
How to use Popovers on iPad – Part 2: Storyboard
How to test the existence of a file with NSFileManager
How to migrate your persistent store from one location to another
How to use Popovers on iPad – Part 1: Code
How to checkout a previous Tag in Git
How to convert your iPhone Storyboard into an iPad Storyboard
How to create multiple buttons in a UINavigationBar
iCloud in your iOS Apps – Part 5: Initial Import Hack
How to test why your iCloud Core Data store was changed
iCloud in your iOS Apps – Part 4: iCloud and Core Data
iCloud in your iOS Apps – Part 3: Document Storage
iCloud in your iOS Apps – Part 2: Key/Value Storage
iCloud in your iOS Apps – Part 1: Setup
How to check if the Main Window in your Mac App was closed
How to dismiss the keyboard from a UITextField in iOS
What is Cocoa error 134140
How to avoid Redefinition of 'Category' as different kind of symbol error in Xcode
How to populate an NSTableView in code
How to remove focus from an NSTextField
How to create pop-up help for your own code in Xcode 5
How to create an Alert View in Cocoa
How to open a URL in Safari (on Mac in Cocoa)
How to support iPad 1 rotation in Xcode 5
How to change the header in an NSTableView
How to add a background image to an NSView
How to disable touch events in iOS
How to test which iOS Hardware your app is running on
How to set a badge value on a UITabBarController item
How to implement a Shake Gesture in iOS
How to bind an NSArrayController to an NSTableView
How to handle mouse events in OS X
How to show the Master View button in a UISplitViewController app
How to execute a method on a background thread in iOS
Xcode crashes every time you open it – and how to fix it
How to tear down your Core Data Stack
What is the difference between NSSet, NSArray and NSDictionary
How to use Git Branches in Xcode 5.1
How to use Git Tags in Xcode 5.1
How to build apps for iOS 5 with Xcode 5.1
How to create a searchable UITableView (2014)
How to push a local Xcode Project to GitHub.com
How to draw an MKPolyline on a Map View
How to use Core Data with iCloud
What is the path to your iCloud Documents folder
How to fix "setPreferredContentSize" error in iOS 6 iPad Apps
How to open the Google Plus App from your own iOS App
How to let the user set a pin on your MKMapKit Map View
How to turn an NSString into an NSNumber
What to do if your iOS device refuses to install updates over the air
How to play video files in your iOS App
How to record video files in your iOS App
What is the URL to the Documents Directory in iOS
How to play audio in iOS
How to record audio from the microphone in iOS
How to enable iTunes File Sharing in your iOS App
How to save a UIImage to the Camera Roll in iOS
How to feed a location into an MKMapView
How to read the current location of an iOS device
How to open items in other iOS Apps
How to define a Code Snippet in Xcode
How many days are left this year in Objective C
How to save a UIImage in Core Data and retrieve it
How to react to Local Notifications in your iOS App
How to create Local Notifications in your iOS App
How to attach custom actions to an Edit Button Item (or The Dark Secrets of the Edit/Done Button)
How to reorder a UITableView with Core Data
How to display a "spinning wheel" indicator in the centre of your screen
How to load a different storyboard depending on screen size in iOS
How to dismiss the iOS Keyboard when the done button is pressed
Links to the latest Social Icons
How to increase your Build Number automatically every time you build your Xcode Project
How to read you App Version and Build from the Main Bundle
What are the button indexes in a three-button UIAlertView
How to restore your single In-App Purchase in iOS
How to create a single In-App Purchase in iOS 7
How to open the LinkedIn App from your own iOS App
How to create a Twitter Follow button in your iOS App
How to open the Twitter App from your own iOS App
How to open the Facebook App from your own iOS App
How to create a Facebook Like button in your iOS App
How to store a BOOL as NSNumber
How to test the size of an NSDictionary (in bytes)
How to create a UITabBarController in code
How to swap out a store file in Core Data
How to remove the gloss effect from your App Icon in Xcode 5
How to convert a file path into an NSURL (and back)
How to detect file changes in your ubiquitous iCloud Folder
How to find your own apps in Xcode
How to fix “Could not change executable permissions on the application” error in Xcode
How to restore your iOS device with DFU / Recovery Mode
How to fix “property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects”
How to add a custom initialiser to a Managed Object in Core Data
How to use the iOS 5 Simulator in Xcode 5
How to test for a (null) string in Objective C
How to dismiss a Popover from the current UIViewController
How to create a custom UIPickerView
How to use the speech synthesiser in iOS 7
How to share items with a UIActivityViewController
How to post to Facebook and Twitter using Social Framework
How to execute a method on another thread using Grand Central Dispatch
How to download a file and save it to your app's Documents directory
How to test the size of a UIImage (in bytes)
How to detect if your app is running on iOS 7
How to covert an NSUInteger / NSInteger into an int value
How to avoid WAL files in Core Data
How to delete a branch in Git
How to encode / convert a .strings file into UTF-16LE in Xcode
How to preload images in iOS
How to delete an NSManagedObject in Core Data
How to show SQLite Debug output from Core Data in iOS
How to add command line arguments in Xcode 5
How to check if your app is running in 64bit
How to create an NSDate object from a string such as 22/04/2013
How to return the section title in a UITableView with Core Data
How to receive Code Support from Apple for Xcode Projects
How to create a Fetched Results Controller
How to use a provided store file with Core Data
How to convert a UIImage into NSData
How to fix Core Data error: "Receiver type xxx for instance message is a forward declaration"
How to add 64bit support to your iOS apps
How to bring back the Status Bar in iOS 6 when compiling with Xcode 5
How to react to multiple UIAlertViews
How to fix “Use of undeclared identifier NSFoundationVersionNumber_iOS_6_1” error in Xcode 5
How to determine screen size in iOS
How to change the Deployment Target in Xcode 5 to an iOS Version lower than 7.0
How to load different Storyboards for different versions of iOS in Xcode 5
How to turn the Navigation Bar in iOS 6 opaque when compiling with Xcode 5
How to check if your iOS App comes into the foreground or background
How to reverse a BOOL in Objective C
How to detect changes in iCloud Key/Value Data
How to use iCloud to store Key/Value Data
How to use "iOS 6 Legacy Look" in Xcode 5
How to fix "ibtool failed with exit code 255"
How to animate a UIView
How to add touch events to a UITableViewFooter (or header)
How to tag a release in Git
How to deploy apps to an iOS 7 device and retain iOS 6 “Legacy Look”
How to add iOS 7 Icons in Xcode 4.6.3
How to fix "No unexpired provisioning profiles found that contain any of the keychain's signing certificates" in Xcode 4
How to set the colour in a UINavigationBar
How to hide a UIBarButtonItem in your Navigation Controller
How to check which iOS version your device is running
How to use Targets in Xcode
How to define Preprocessor Macros in Xcode
How to check if your app is running on an iPad or an iPhone
How to hide navigation elements with swishy animations
Managed Object Context arrives empty when passed via a segue in iOS 5
How to find out what class an NSObject belongs to
How to define a method that takes multiple parameters
How to list the contents of an NSURL
How to display a UIImage from an NSURL
How to copy a file from the Main Bundle into the Documents Directory in iOS
How to use Core Data with multiple Store Files
How to create an NSDate object
How to display the full month from an NSDate (such as "February")
How to create Linkshare Affiliate Links to iTunes Products
How to create a UIBarButtonItem in code and make it call a method
How to remove a Core Data Model Version
How to create a View Controller defined in you your Storyboard programmatically
How to add a Search Display Controller to a UITableView (in code)
How to parse a JSON URL in iOS and Cocoa
How to use a Selector
How to remove the first n characters from an NSString
How to create a Fetch Request in the Xcode Model Editor
How to retrieve a Managed Object in Core Data Fetch Requests
How to create a Managed Object in Core Data
How to create a Save As dialogue with NSSavePanel
How to create an Open File dialogue with NSOpenPanel
How to pass data from the App Delegate to your Top View Controller
How to return the number of rows in a UITableView with Core Data
How to return the number of sections in a UITableView with Core Data
How to convert a Persistent Store from XML to SQLite in Core Data
Binding an NSTableView to Core Data without code
How to assure your values are as intended with NSAssert
What is an Exception Breakpoint
How to activate a UISearchDisplayController
How to extract first n characters of an NSString
How to remove the last n characters from an NSString
How to create your own Data Type using typedef
How to create an Enumeration (enum)
How to create an NSIndexPath and specify its components
How to add some time to an NSDate
How to normalize NSDate objects (i.e. set the time to midnight)
How to determine how many days / months / years have passed between two NSDate objects
How to pop a UINavigationController in code
How to “quick save” in Core Data
How to change the back button text on a UINavigationController
How to define a Protocol in Objective-C
How to dequeue UITableViewCells
How to hide (and show) the UISearchBar in a UITableView
How to create a searchable UITableView
How to fix "this class is not key value coding-compliant" after accidentally adding an IBOutlet instead of an IBAction
How to convert an NSString into an integer
How to loop through every element in an NSArray
How to generate a random number in iOS
How to read the contents of a text file into an NSString
How to check for Network Connectivity in iOS
How to delete a file
How to test if a file exists
How to access the iPhone Simulator Directory Structure
How to update an iOS device from a Beta to a Release Version
How to create an NSTimer
How to load a UIImage that we’ve previously saved
How to save a UIImage
How to select a UIImage from the camera roll (and use it)
How to combine NSString objects
What is the iOS Signing Key in PhoneGap Build and Dreamweaver
How to create a PhoneGap project for Xcode 4.5
iOS 6 Table View crashes when deployed to iOS 5
How to set the title in a Navigation Bar
How to create a UIActionSheet and respond to it
How to change a cell's selection colour
How to retrieve the current URL from a UIWebView
How to open a URL in Safari programmatically
How to use iCloud key value storage
How to add an Observer to your class
When Xcode 4.5 suddenly stops running your app on a device (could not launch app)
How to place an existing Xcode project under Version Control with Git (and ignore files you don't want to track)
How to disable cell interaciton in UITableView
How to create a transparent cell in a UITableView
How to rename an app in Xcode 4.5
How to hide a UIBarButton item
How to close your app programmatically
Great tutorial on how to implement In App…
How to change the background colour of a UIView
How to create an NSString from an NSDate
How to retrieve the current User Locale
How to localize your project in Xcode 4.4
How to link to an iOS App
How to add version control to an existing project in Xcode
How to disable scrolling in a Table View
How to style a table view header / footer
How to add a cutsom accessory image to a Table View Cell
How to add a background image to a table view
How to react to a UIAlertView
How to handle an error while loading a UIWebView
How to show the Network Activity Indicator (spinning wheel in the iOS status bar)
How to pass an Index Path to another table
How to create a custom button
How to add the “spinning wheel” Activity Indicator to a web view
How to convert an NSArray into an NSMutableArray
How to change the text on a Button
How to convert an integer into a string (text object)
How to share data between Navigation Controllers
How to trigger a Modal Segue
How to load a URL into a UIWebView
How to make your iPhone vibrate
How to play an Audio Alert
How to play a sound effect
How to remove the gloss effect from iOS Logos
How to rename your iOS App in Xcode 4.x.x
How to add a Framework to Xcode 4.x.x
How to send an email in iOS
How to create an Alert View
How to load data in iOS
How to save data in iOS
How to exchange data between View Controllers
How to add a second View Controller
I’m trying to read out the value of…
How to concatenate strings (i.e. print several at a time)
How to check the battery level of your iOS device?
How to test the state of a UISegmentedControl
NSDate and NSDateFormatter
How to test the state of a UISwitch
Welcome to my iOS Dev Diary