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.
Since the introduction of the 4th Generation of the AppleTV, there has never been a way to link to tvOS apps or buy them from anywhere but the AppleTV. The only way to find apps was the AppleTV’s built-in App-Store search. This week has seen some improvements on this front with Apple providing the capability to create links directly to the product pages for Apple TV apps using the iTunes Link Maker which will also allow users to download apps straight to the AppleTV from their iOS devices. A nice improvement.
In a slightly premature announcement (which looks like it’s subsequently been removed) Microsoft have announced that their going to be bringing at least some of Visual Studio to the Mac in the middle of November. Rather than it being the full version of the IDE, it’s actually going to encompass the next iteration of it’s Xamarin Studio and will allow developers to create apps for iOS, Mac, Android and the server (via Microsoft’s .NET Core). If cross platform development is your thing, you can find more details of the announcement below.
If you’ve never been through the entire app-design lifecycle before, from the spark of an idea through publication on the app store and beyond, the process can be a bit of daunting one. Even some experienced developers work as part of large development teams only gain experience of a proportion of the full development lifecycle. This article from @flarup helps with this, providing a high-level view of the entire process and is a good guide for those looking to expand their experience.
Despite having built in collection types such as Arrays, Dictionaries and Sets there are occasions when Swift’s built-in collection types just don’t meet your needs. In this article, @ecerney explains how to build on Swift 3’s new collection architecture to create custom collection types of your own.
As I mentioned in last weeks issue, Xcode 8.2 will be the last release to support Swift 2.3. This increases the urgency of migrating your code bases to Swift 3. Having done this with a couple of small code bases recently (neither of which went completely smoothly) these notes from Chris Hulbert are a useful reference that might help you avoid some of the gotchas.
The need to rebuild and resubmit apps to the app store in order to make changes available to users has always been an issue since the first days of the App Store. In recent years though, new solutions such as Firebase have appeared helping to address this problem by allowing developers to externalise their apps configuration and push configuration changes to live apps without having to resubmit them to the store. In this article, @toddkerpelman shows you how to get started.
It’s that feeling that everyone around you is smarter than you and one day you’ll get found out and it’s a common issue with those working in high-tech, fast moving industries. It’s commonly known as Imposter Syndrome. Nobody is immune but with the size of the Swift language and all the different frameworks that are available there are always going to be some areas of iOS app development that you know better than others. In this article, @JordanMorgan10 does his bit for tackling imposter syndrome head on by talking about some of the areas of iOS development that he has had less experience in. I’ve a lot of respect for him putting himself out there. ?
Keeping your apps responsive is a key part of iOS app development and that usually means moving any significant amount of processing off of the main thread. There are a couple of main options for this in iOS development – NSOperationQueues and Grand Central Dispatch. In this article, @gabtheodor focuses on the latter, taking a detailed look at synchronous and asynchronous operations using GCD’s dispatch queues.
The title of this article says it all. Date math is hard. Time zones. Daylight Savings. None of it helps. In this article, @atomicbird provides some tips for avoiding unexplainable time warps when working with time and date calculations.
Custom Xcode build phases can be a useful technique for adding a dynamic aspect to your builds. Unfortunately, Xcode’s interface for custom build phases isn’t that great. In this article, @mokagio looks at a better way – pulling different build steps out in to separate files.
It’s been a few weeks since we discussed the soap opera surrounding Dash and the iOS App Store. After Dash’s exit from the iOS app store, many developers were unhappy about losing access to what was a very useful tool. However, after a few weeks letting the dust settle, yesterday saw another very positive twist in this story with it’s developer @kapeli releasing Dash as an open source project. Despite everything that has happened, it’s great to see him trying to do his best for his customers. ?
With the multitude of Swift UI libraries now available on GitHub it can often be difficult to identify the diamonds in the rough. In this article the team at @Mybridge have attempted just that, providing a roundup of 39 of the best… and using AI no less.
Playgrounds have been a bit of a revelation in changing many developers workflows, allowing them to dynamically develop and experiment with new features before pulling those feature into a full-blown Xcode project. One area this is particularly useful for is developing new UIControls and in this talk, @rompelstilchen shows us how to uses Core Animation to experiment with the animation curves of a new UI Control. The code for the talk can be found here.
TextKit is a powerful UIKit Framework providing a wide range of typographical layout, display and type setting capabilities and provides a fine level of control over how text is displayed in our apps. In this talk, @k_katsumi explains how to leverage some of it’s power.