Xcode Visual Memory Debugger

I cannot believe it was over five years ago that I wrote about using the heapshot tool to find abandoned memory. I have never liked switching out of Xcode into Instruments for memory debugging. It is distracting and I can never remember how to use the heap and leak tools.

The good news is that Xcode 8 is bringing a new visual memory debugger. Even better is that you use it directly from the Xcode debugger so you don’t need to use Instruments.

Read On →

Slow App Startup Times

Apple suggest to aim for a total app launch time of under 400ms and you must do it in less than 20 seconds or the system will kill your app. You control what your application delegate does but how do you debug slow startup times that happen before your code is even called? Here is a tip from WWDC 2016 that might help.

Read On →

Pro Swift and Swift Algorithms

A couple of extra books to consider if you are learning Swift that did not make my recent round up of new iOS books.

Read On →

Privacy Settings in iOS 10

It has long been the case with iOS that if you want to access a user’s private data you need to first ask the user for permission. In iOS 10 Apple is extending the scope of these privacy controls by including access to the user’s music library as well as new in iOS 10 features such as Siri and Speech Recognition.

A significant change in iOS 10 is that you must declare ahead of time any access to private data or your App will crash. The fix is quick but easy to overlook if the usage is not a major feature of an App so here is your reminder if you are planning an iOS 10 migration.

Read On →

Auto Adjusting Fonts for Dynamic Type

It seems like a common theme of iOS 10 and Swift 3 is to remove boilerplate code. Here is a quick example where it is now easier to support dynamic type without the need to register an observer for the UIContentSizeCategoryDidChangeNotification. In passing we will also see some examples of the Swift 3 Grand Renaming.

Read On →
Archives Categories