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.
So the wait is over and it looks like the vast majority of the leaks were true!
After Wednesday’s announcement of the new iPhone 7 and Apple Watch and Sega’s on-stage appearance for Super Mario Run, many spent much of Friday improving their Sega Olympic Gold skills by seeing how fast they could tap and click to get their preorders in. As with many of Apple’s previous launches, stocks looked like they were pretty low though and it sounds like many lost out in the inevitable first-day rush.
From my perspective, although the camera and some of the other new features look pretty compelling, this time around I’ve decided to exercise a bit of self control before deciding whether to “splash-the-cash”. Apple’s iPhone upgrade program (which has now come to the UK) looks a particularly interesting option that I’ve been considering but given some of the tweets I’ve seen this week, the process doesn’t seem to have gone particularly smoothly for many of the American’s who took this route last year. Matte black does look pretty cool though… ?.
At same time as announcing the new iPhone 7 and Apple Watch at Wednesday’s event, Apple released GM seeds for Xcode, macOS, iOS 10, watchOS 3 and tvOS. It’s also opened up the doors for app submissions with Swift 3 to the app store. Time to get your skates on!
With the recent introduction of subscription pricing models were set to see another change in how developers make money in the app store. In this article, @_DavidSmith reflects on how changing app store business models have affected his business over the last 8 years.
Making money in the app store has never been easy but with the recent introduction of subscription pricing models, Apple have opened up another potential revenue model for developers. @parrots provides a nice introduction.
If you’re faced with a code base which is difficult to maintain and difficult to change, one option you might be considering is rewriting your app from scratch. However, it’s a big decision and one that might not be as simple as you think. Kasia Pawlaczyk weighs up the pros and cons.
We all want more users for our app but how do we increase the odds of this happening? In this article, Kamo Asatryan provides some growth hacking tips to incorporate into your own apps in order to drive user growth.
One of the nice new features in the latest versions of the iOS 10 SDK is the ability for developers to provide haptic feedback to users through the use of UIFeedbackGenerator and it’s three subclasses, UINotificationFeedbackGenerator, UIImpactFeedbackGenerator and UISelectionFeedbackGenerator. Quick off the mark, @twostraws provides a quick introduction.
In Swift, functions and closures are first-class objects allowing you to store them and pass them around just like any other value or object. Commonly used as completion handlers, Swift 3 introduces a new little gotcha with closure parameters in that they are non-escaping by default. But what does non-escaping actually mean? @gregheo provides a great explanation.
In this article, @cocotutch turns typography tamer, with his current solution for handling completely custom fonts in Swift.
If you’ve not come across it before, dependency injection, the act of providing an object with its instance variables, is a great technique for writing modular and testable code. However, getting dependency injection to play nicely with storyboards can be a little tricky. @obusek highlights some techniques you can use to get the best of both worlds.
SwiftLocation is a lightweight library @danielemargutti for monitoring locations and beacons. Supporting, amongst other things, beacon advertising and reverse geocoding with both Apple and Google services this might be one to watch.
Haneke is a lightweight generic memory and disk caches for iOS and AppleTV. Written in Swift 2 (there is a branch for Swift 3 that is in progress) and with a full set of unit tests, Haneke provides a thread-safe and asynchronous access for a range of different data types with data retrieval being as simple as a single line of code.
I’m a big fan of unit testing for both checking that your code does what you think it does, improving it’s structure and for making your code more maintainable in the longer-term. However, if you’ve never attempted unit testing before getting started can be a bit of a challenge. In this two-part series (Part 1, Part 2) @trozware provides a great introduction to this topic.
I’ll be honest. I always find code signing a bit of a pain and throw in multi-developer teams and it seems to require some sort of black magic that sadly, I seem to have missed out on most of the time. However, I did come across this article this week from @queersorceress which has gone along way toward illuminating some of Xcode’s dark and mysterious code signing secrets. Great article.
Depcheck is a useful little tool from @wojteklu which analysed your Xcode projects and workspaces to identify the dependencies between classes in your project, allowing you to quickly identify those classes that have too many dependencies or aren’t being used at all.
Our lightest product ever…
Kudos to the team at @nicerstudio for this brilliant and inspired parody! ?