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.
This week saw new beta releases for Xcode 8.2, iOS 10.2, macOS 10.12.2, tvOS 10.1 and watchOS 3.1.1. Although there’s not that much of note in the releases themselves, the release notes do mention that:
“Xcode 8.2 is the last release that will support Swift 2.3.”
With this in mind, if you’ve not migrated yet you probably need to start thinking about it.
Due to timings, this one didn’t quite make last weeks issue. Announced last week, Apple are now allowing developers to use promo codes to provide free copies of your app or in-app purchase for promotional purposes. You’re limited to around a 1000 per app per six-months and there are a couple of over limitations, but it’s a nice step forwards. More details can be found at the link below.
If you haven’t experienced it yourself, you’ll no doubt have heard about it. A potential client gets in touch with an app idea that is going to be HUGE but can’t possibly discuss any of the details until you’ve signed an NDA. The thing as @apike points out in this article this can be one of many warnings signs you need to look out for.
A Wish List for the Mac App Store
The Mac App Store hasn’t been getting much love from developers in recent months and with a number of high-profile apps such as Sketch and now PaintCode deciding to leave the store, @dancounsell puts forward some ideas on how the store could be improved. I wonder if @pschiller is reading this. ?
“Over the last year, the new design trend coming from forward thinking innovators in the App design space has been to take ‘minimal design’ to a whole new level.”
Due to the ergonomics of mobile devices, bottom navigation approaches such as toolbars or tab bars can play a key component in creating a simple, clear and consistent navigation experience for users. @101babich investigates further.
How to Persist Data in iOS Apps Using Property Lists and the Correct Architecture for Handling Persistent Storage
With the array of storage options now available on iOS such as Core Data, Realm or even SQLite, simpler persistence solutions such as property lists can sometimes be overlooked. @MatManferdini brings this solution back to the fore, with a nice tutorial on how to use property lists as your apps storage solution.
As you are no doubt aware, since Swift was open sourced, Vapor has quickly become one of the most-used server-side Swift libraries available. If you’re looking to get started, @brentschooley has written a great getting-started tutorial and also has a useful follow-on post that explains how to deploy your masterpiece to Heroku.
The Facebook Engineering team have released a number of useful libraries in recent months and this week saw them release another tool for developers. Origami Studio, is a new Mac app for designing and prototyping user interfaces and their interactions and whilst also providing the ability to preview them live on a device. As an added bonus, it works hand in hand with my favourite design tool Sketch and can import Sketch layers directly into your designs. They’ve also got an introductory tutorial to help you get started.
JSON parsing is a common problem with iOS app development. However, json2swift from @ijoshsmith takes a different approach. json2swift is a command line tool that takes in representative JSON data and generates Swift struct definitions and parsing code to consume that data removing the need to write that code yourself. A useful tool.
RHPreviewCell by @Roherdzik is a custom UITableViewCell that allows users to preview the content hidden behind the table view cell in a form akin to the table view cells seen in the Spotify iOS App and all without the need for 3D touch.
Although a lot has changed in the move from Objective-C to Swift, the Swift language still retains some of it’s Objective-C legacy by relying on ‘stringly-typed’ APIs. In this talk from try!Swift, @AndyyHope looks at the issues with stringly-typed APIs and some approaches we can us to make our code more cleaner, safer and more readable.
A developers life is generally a busy one. Day jobs, side projects, the development community, on top of a family, home-life and other commitments means that there’s a lot to balance. @milkmanstl did an experiment, applying programming principles to different aspects of his life to see if it could make things a little easier.