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.
AccuWeather have come under fire this week over their app sending location-identifying information to a monetisation firm without their users permission. @gruber has written up a pretty good summary of the situation. The TLDR; version is if you haven’t got a users permission to use their data for something then (and it’s not rocket science) DON’T use it (and yes, that includes sharing it with third-parties without the users permission). Not only that but if your app HAS been using a users data without their permission (and you subsequently get caught), don’t try and use clever language and sleight of hand to try weasle your way out of it. Honesty and transparency is ALWAYS the best policy.
App reviews can provide a goldmine of information on both what your doing well and also on areas for improvement. In this article, @saitojohn hightlights some of his biggest take aways from reading over 1000 reviews of his and his teams app at Dropbox.
By far the easiest way to promote your app is through word of mouth but turning your app users into fanatics who will spread the word is not always an easy task. So how DO you go about turning your apps users into raving fans. The team at @AppPartner provide some guidance.
Love them or hate them, push notifications are here to stay but with users being bombarded with useless and distracting push notifications every day, how to you make yours stand out from the crowd? @101babich provides some tips.
With the introduction of Swift 4’s new
Codable protocol, serialising and deserialising data from external formats has become significantly easier. In this article, @kharrison look at how to use some of this new serialisation goodness with Property lists.
@zntfdr combines Swift, graph theory and Dijkstra’s Algorithm to to find the shortest distance between two nodes in a graph. If you’ve never touched on graph theory before its a gentle and interesting introduction with applications in a wide range of areas.
Although CoreML has delivered some significant new capabilities through the use of .mlmodel files, these files normally need to be included at compile time and changing them tends to require a full recompile of your app. In this article though, Camilla Dahlstrøm outlines a few techniques for updating these models without requiring a full recompile and discusses the speed and storage tradeoffs that each approach introduces.
With Auto-renewable subscriptions working differently in TestFlight, the Sandbox and on the App Store, @drbarnard attempts to bring some clarity to the situation with an extremely useful set of notes on what to look out for when using auto-renewable subscriptions in your own apps.
One of the big steps forward for Xcode 9 will be the inclusion of a brand new refactoring engine supporting a wide range of refactorings within your Xcode project. The bigger news though is that this new engine has also been open sourced allowing additional refactoring actions to be contributed by the community opening up a wide range of possibilities as we move forwards. With this in mind, @xge_apple has published a great article on the Swift.org blog that explains how to get started if you want to contribute a refactoring of your own.
StorageKit from @MarcoSantaDev and @ennioma helps reduce the complexity of apps persistence layer by providing a clean separation between your application logic and your persistence layer of choice. This in turn lets you focus on building your app whilst also making it easy to change your persietence layer in future (should you need to).
As you might have guessed, collecting links for Swift Developments each week, I’m a big fan of RSS, Atom and JSON Feeds. As a result, this Swift library from @nmdias caught my eye letting you easily incorporate feed parsing capabilities into your own apps. Maybe that should be my next side-project. 🤔