Welcome to another issue of Swift Developments! I hope you’ve had a great week! If I’m honest I’ve been a little distracted with non-development stuff this week so I’ve not been massively productive. I guess it’s the effect of some nice weather and count-down toward a little vacation time I’ve got planned however I’m sure iOSDevUK in early Sept will kick me back into action. In the mean time, there’s been a lot going on this week so let’s dive into the links. Enjoy.
So less than a week after releasing Beta 5, Apple have now released another round of new beta’s. A few of the big changes included in these iteration are the implementation of SE-0025 – Scoped Access Levels, changes to how Objective-C’s id type is imported into Swift and also some modifications to Swift’s inheritance rules. There’s actually a whole bunch more beyond this so I’d recommend reading the release notes to get a handle on what’s affected.
Sponsor Swift Developments
With the competitiveness of the app store user engagement is a key consideration if your app is to avoid disappearing into digital obscurity. In this article, @kenyarmosh provides a good roundup of 10 tactics that you can use to help improve user engagement within your apps.
There’s no getting away from it. Many of the apps we produce need to display text and how easy that text is to read is an important aspect of our apps design. So the question is, what is it that makes our text easy to read? In this article, @kharrison digs into color and contrast ratios to see just how they can affect the legibility of our apps text.
One of the big features of the impending Swift 3 release is “The Grand Renaming” – the updating of many C and Objective-C APIs to make them feel more ‘Swifty’. Some of the biggest impacts of these changes can be seen within Apple’s C APIs, Core Graphics being one of them and in this article, @borkware takes a look at just how these changes will affect your Swift code.
In addition to Swift’s “Grand Renaming”, one of the new additions in Swift 3 will be the addition of new value type wrappers for common Foundation Framework reference types such as NSData. In this article, @terhechte takes a look at the impact of these new changes, using them to write an example application to parse a Doom WAD file.
Although CloudKit remains Apple’s recommended solution for cloud-based storage for our apps, the development community has never been afraid to try alternatives. Up until last year, Parse was a popular choice but since the announcement of it’s shutdown and subsequent open sourcing, many developers have turned to Google Firebase as an alternative. For many this involves simply downloading a Cocoapod to get started but if your taking a leaner approach, this article from @mokagio might be just what your looking for.
Security has been a pretty big thing for Apple over the last year and one element of their campaign to make apps more secure is App Transport Security. Introduced last year, App Transport Security by default blocks outgoing non-secure network connections initiated by our apps and as of January 2017 apps that are not ATS-compliant will also be blocked from the App Store. This article from @nabla_c0d3 provides a good breakdown of the different options involved and what you need to think about to avoid issues in future.
StyleKit from @BernardGatt is a Swift micro-framework that uses UIAppearance under the hood and allows you extract and externalise your application styling into a simple external JSON file. Not only does this centralise the styling for your app but as the styling is configured externally it also opens up the possibilities of restyling your app without the need for a re-build.
I think I’ve mentioned it before in this newsletter but one of the best ways to improve your own Swift code is to read code that other people have already written. To this end, this collection from the team at @Mybridge looks like a good place to start with a compilation of 21 fully open sourced Swift apps for you to have a look through.
ReadabilityKit is a Swift micro-framework that helps extract preview information such as title, descriptions, images and videos from a given URL. The framework supports many of the top data sources such as YouTube, Facebook, Dribble and Medium and supports both synchronous and asynchronous operations.
Unless you have the freedom of writing Swift-only applications, the need for your Swift code to interoperate successfully with Objective-C and visa versa is an important part of app development. In this talk, @nlutsenko takes a deep dive into this topic looking at how to bridge Objective-C code into Swift, Swift code into Objective-C and also how to mix and match both languages within the same code base.
In this talk, @mishagray provides an overview of Futures/Promises in Swift using FutureKit. Within the talk Michael looks at how how to get started building a promise / future pair, how futures / promises can be used to simplify much of your asynchronous code and some of the futures based coding patterns that you can also use. It’s an interesting talk.
Ok, so I can’t say I’m particularly down with the cool kids but I have been known to use an emoji or two in my time. However, if you’ve ever brought up the emoji keyboard on OS X /macOS (ctrl + ⌘ + space if you didn’t know) it can get a little tiresome. This week though, I came across Rocket, a great little utility app from @_matthewpalmer that allows you to type slack-style emoji everywhere on your Mac. Pretty convenient. ?