Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
Apple Special Event – September 12th
So it’s finally here, set your reminders (and get your credit cards ready) – Apple have send out invitations for an event on 12th September which will undoubtedly introduce the new iPhone 8 and maybe a few other goodies. Taken along with the increased frequency at which beta releases are being pushed out into the world and it’s looking like the final GM version of iOS 11 won’t be far away either.
Good to see that Apple have upgraded the Human Interface Guidelines this week with a new section covering Augmented Reality and ARKit. The new section includes some great tips that are definitely worth a read if you’re starting to flex your ARKit muscles.
Although this one was announced at WWDC, with the imminent arrival of iOS 11, Apple have posted a reminder that starting this fall, apps that support in-app purchase must be able to handle the possibility of IAPs before your app has even been downloaded. The good news is that supporting this is as simple as implementing a new
SKPaymentTransactionObserver delegate method. Take a look at the link for more details.
Finding Your App Name
The first sentence in this article says it all – “Coming up with app names is hard!”. @_ryannystrom reflects on his process for generating ideas for new app names, iterating on those ideas and validating them – a process he’s gone through recently with the renaming of his open source app – GitHawk.
An interesting article from @hampelusken on how to correctly (and incorrectly), use icons in your user interface designs. There’s definitely a few lessons I’ll be taking away from this one.
A Perfectly Lazy Solution
@invalidname with a useful little workaround for the chicken-and-egg problem of creating objects that have other objects as properties where you want those objects to delegate back to the original object. Confused? Read the article, you’ll get what I mean.
@johnsundell looks at one of Core Animations more specialized
CALayer subclasses, the
CAReplicatorLayer, and shows how it can be used to create multiple copies of it’s sublayers, each with their own temporal, geometric and / or color transformations applied.
@MarcoSantaDev presents 4V Engine, a refinement of MVVM-C and VIPER architectures that looks to ensure that each layer in the architecture has a just a single responsibility. It looks a bit complicated to start with but is actually an interesting idea.
Build using Swift, Vapor and Sparse, WTF Auto Layout by @jpmmusic is a fun little site that parses error logs from Auto Layout and provides more intuitive visual descriptions of the conflicting constraints. The source code that powers the site is also available here if you want to know how it works behind the scenes.
With the introduction of multiple, concurrent simulators in Xcode 9, Fastlane has been quick to take advantage, with snapshot now boasting a 3x improvement in the time it takes to create screenshots. Definitely worth upgrading your install if you haven’t already (and if you’re not using Fastlane, go and check it out, it’s a great time saver!)
SpotifyLogin is a Swift 4 framework from @marmelroy and the team at Spotify for authenticating users using the Spotify API. Roy has also written an accompanying post for the launch which you can find here.
If you’re looking to get up the testing learning curve, @LawgarithmnS has written a nice introduction to test-driven development using Quick and Nimble.
In this video, @asparagui provides an overview of neural networks and how to build and train machine learning models of your own using Tensorflow and Keras. He also explains how to port those models to iOS as well.