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 368

7th September 2018

Written by Dave Verwer

Comment

I hope you’ve all been saving your pennies this year, next week is shaping up to be an expensive one! 💸

Integrate a document scanner into your app with the Scanbot SDK

Scan anything from documents, QR codes, bar codes, machine-readable zones and more right within your app. The document scanner SDK from the award-winning Scanbot team is easy to integrate, follows the latest best practices and has the highest privacy standards because it’s not server-based. Check out our example app and see how it works.

News

Does your app have a privacy policy?

A quick reminder from Apple that as of next month, you’ll need to have an explicit privacy policy for every app submission or update. Don’t say they didn’t warn you!


Next steps for the Swift Server work group

The try! Swift conference in New York this week hosted an announcement from the Swift Server work group about their plans, and here’s Ted Kremenek with a quick summary. It’s also worth checking out the Recommended Server Libraries section of the server page on Swift.org for a description of what this group is aiming for.

Tools

SwiftSyntax

Looks like this has been around for a while but was recently extracted into it’s own repository on GitHub.

SwiftSyntax is a set of Swift bindings for the libSyntax library. It allows for Swift tools to parse, inspect, generate, and transform Swift source code.

The example in the readme finds every integer literal in a Swift file and increments it, all in ~30 lines of code. Please go forth and build interesting things with this! 😀

Code

Early returning functions in Swift

I’ve been a fan of returning early throughout my entire programming career, so I was pleased to see that Swift seems to encourage it with certain language features such as guard. Oh, and if you’re returning early, don’t forget defer can also be your friend.


Hacking Hit Tests

Have you ever overridden hitTest(_:with:) on UIView? My guess is that you probably have not. Let’s go on a journey with Soroush Khanlou, shall we? 🚗


DataSourceKit

The table view data source delegate model is great for efficiency when hundreds of the same kind of cells are being used, but when you have lots of different types of cells managing the complexity of your table view controller can become challenging. This declarative style library from Yosuke Ishikawa isn’t the first time I’ve seen a declarative table view library, but it’s still interesting.


Private properties in protocols

Should Swift protocols allow access control on their properties? Olivier Halligon puts the case forward that they should.

macOS Development

Finder Quick Actions

Daniel Jalkut with an interesting investigation into whether Mojave Quick Actions might one day be able to be exposed by a fully native app as well as by Automator. There’s nothing official yet but what he found shows promise for the future.

Design

Lessons Learned From the RWDevCon 2018 Design Lab

The design lab at WWDC is one of the most valuable services available during the conference, but of course we never get to see what gets discussed in those little private booths. In this article Luke Freeman doesn’t exactly show what went on in the design lab at RWDevCon, but instead looks at some common lessons learned.


4 Concepts of Mobile Notifications

The stand out piece of information in this article from Nick Babich is that the top reason for people uninstalling an app was annoying notifications. Are you being annoying with your notifications? 🚨

Business and Marketing

Trailer

Yes, you could pay someone to build you a completely custom, flashy promo video in After Effects. Or you could stick up just a plain old screen recording. But what if you want something in between the two? This new app can get you something that’s better than a plain old screen recording without much extra effort.

Sponsored Jobs

Become an iOS Developer at Young Mavericks (Amsterdam, NL)

Boost your career and apply for our top notch iOS apprenticeship.


Swift Developer at Upside Business Travel (Washington, DC)

Hiring talented iOS engineers to reinvent the way business travel is booked and managed. Be a part of the journey!


Lead iOS Developer at Brilliant Basics in London

Brilliant Basics are a fast growing digital transformation studio. Offering a fantastic culture and exciting projects – We are Brilliant!

And finally...

It’s turtles all the way down...

😂