Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 313

11th August 2017

Written by Dave Verwer

Comment

With the fifth round of betas released this week, we’re in the final stretch before the public release of iOS 11. Even still, Apple is making some pretty significant changes, such as pushing Messages iCloud sync to a future release. I’d rather have a feature pushed than for it to be buggy, so I’m glad they are waiting until they know it’s working well.

The iOS SDK seems just about finalized though, so if you haven’t started optimizing your app for iOS 11 now would be a good time – especially since you only have about a month left! While I don’t have projects taking advantage of any new technologies, I can’t wait to see all the new third-party apps that take advantage of them.

<p>Evan Dekhayser</p>

Add features to your app that’ll keep your users coming back

Trusted by over 150k developers, Pusher’s APIs make it easy to build interactive features that bring your app to life. Add in-app notifications, chat, live dashboards, or multi-user collaboration, in minutes with just a few lines of code. Get started for free.

News

Changes to the iOS 11 location-sharing bar

The first four iOS betas included a blue bar at the top of the screen whenever an app was using the user’s location in the background. Whether this was a bug or a feature, this behavior has now become an opt-in setting for developers who want to make it easier for users to return to their app. I almost liked the idea of this bar shaming apps that constantly used location data, but I can see how it would be harmful for apps that need this information (e.g. Dark Sky).


Swift 5: Start your engines

The Swift team is no longer accepting proposals for Swift 4, which will be released this fall, and is now looking toward Swift 5. One of the main priorities for Swift 5 is ABI stability and although this was also a goal of Swift 4 (and 3!), they have now stated that it’s a requirement of the release for Swift 5. If you want a quick recap on what ABI stability actually means (which you might, as a lot of people get this wrong!) you should recap on the ABI Stability Manifesto.

Code

Managing Temporary Files in Swift

Temporary files are a pain to deal with, and if you don’t take care of them correctly you can end up with gigabytes of cached images and videos, which isn’t the best use of space on a 16GB iPhone. Victor Pavlychko introduces an interesting solution to this problem – tie these files to the lifecycle of a container object.


Mental models in API design

Users don’t always expect things to work the same way as the developers who created them – this is true for products as well as API designs. Analyzing the String model in Swift 3, Ole Begemann points out ways in which this API goes against the expectations of third-party developers (a large factor in the String redesign in Swift 4). API developers, take note! 🤓


Local Receipt Validation for iOS in Swift From Start to Finish

Andrew Bancroft with a great 7-part series on receipt validation in Swift. Looking at this post, I didn’t realize how little I knew about receipt validation – what in the world is a PKCS7 container, anyway? Should receipt validation be this complicated? Probably not, but until Apple helps to simplify the process this series should be your new reference.


iOS 11 Password Autofill

One of my favorite little features announced at WWDC 2017 is the new password autofill in third-party apps. Luckily for developers, there are only three easy steps required to bring this feature to apps. This feature is currently limited to passwords stored in the iCloud Keychain, but I hope this will extend to apps like 1Password in the future. In the meantime, this is a great start 👍

Design

Designing Multiple Layers into Search

Alex Couch goes through the design process that went into building a more powerful search tool for ThoughtSpot. Before he does anything else, he outlines the requirements in great detail for the new search bar, making the rest of the design process much more straightforward. Developers who need to design apps themselves can learn a lot from how he approaches this task.


Typography in UI: Guide for Beginners

Fonts and typefaces, kerning and tracking, ascenders and descenders – what are these, and how can you use them to improve your UIs? This blog post covers most of what you will ever need for UI design without information overload.

Videos

I’m an Idiot

Rich Turton discusses his life as an “idiotic” programmer and how it ultimately makes him write better code. Although I’m inclined to believe that Rich is underselling himself, this talk includes a lot of great insight, whether you consider yourself and idiot or a genius.

Books

ARKit for iOS Developers

Augmented reality is quite intimidating, but don’t let that get in the way of creating your dream ARKit app. This book by Mohammad Azam guides you through the important areas of the framework so you don’t have to figure it out on your own. Although the book is not finished, the first few chapters are already available.

Sponsored Jobs

Senior iOS Engineer @ Cisco Meraki, San Francisco

Your work will run on hundreds of thousands of devices and impact customers who touch the Meraki app on a global level.


Bold and innovative iOS Developer wanted @ youSee/TDC Group in Copenhagen

Denmark’s biggest TV streaming app needs new blood and highly ambitious developers.

And finally...

Apple’s Next Dongle

“I’m sorry I didn’t pick up your call, I forgot my dongle.”