Eliminate Unused Swift Code
Unused code is a hidden risk you cannot afford to ignore. Avoid unwanted complexity and distractions - stay focused on growing your product. Get results in minutes - no signup or credit card required - simply install and run. Take pride in your work, keep it clean.
Invite Beta Testers with a TestFlight Public Link
Public beta invitations were one of the last major hurdles for large scale user testing on iOS, so I'm really happy to see this feature roll out. It's also a great reminder of just how far we have come from the days of being restricted to only a hundred UDID registrations per year. The spirit of beta testing on iOS has really changed since the acquisition in 2014. 🎉
Apple’s use of Swift in iOS 12
It's not particularly surprising that Apple's use of Swift increased again this year, but it is encouraging. The tech industry has a long history of new languages/frameworks/technologies ultimately failing if the creators do not adopt them internally so I'm happy to see Swift getting serious use inside Apple. 👍
Swift 5.0 Release Process
The most interesting thing about the Swift 5 release process is its continuing divergence from the annual platform and Xcode release cycle. With minor iOS versions quite regularly getting new APIs and a Swift major version being planned just a few months after the release of iOS 12, it's a very different world to where we were a few years ago. Great news!
I wasn't really expecting to see a git client from the makers of Sublime Text, but here it is and it looks good. I'm not sure it'll tempt me away from Tower which is really second nature at this point, but I'm happy to see more new git clients that support clear, easy, line by line staging and committing.
Why #if DEBUG Conditional Should Be Avoided in Library Code
A tale of caution from Arek Holko on why using conditional compilation in compiled libraries isn't a great idea. This makes a lot of sense when you think about it, but did you think about it? 😀
How Mirror Works
If you've been mourning the reduced frequency of Friday Q&A articles from Mike Ash since he joined Apple then you'll enjoy this. It's one of his trademark "you don't need to know this, but you'll find it interesting" articles over at the official Swift blog. 🎉
This library from Alex Aubry is lovely. It's a general purpose card based UI library, but it's especially well suited for permission priming and on-boarding. I really like it.
Oh and if you read my comments last week, this is a fantastic example of a great readme. It tells you what the project does, it shows you what it looks like, includes a video and doesn't waste too much time on how to install it. ✅
Migrating to Unified Logging, Swift Edition
There are certainly disadvantages with switching to use os_log, but there are also many advantages! Here's Jared Sinclair with why you should consider using it, as well as some of the pitfalls you should avoid.
If your app is one where adjusting the volume is something your users will commonly do, and you also display content in the centre of your screen, then the default volume UI can be a little... much. I like this replacement from Andrea Mazzini. The only point I'd make is that you should always think carefully before replacing standard UI. I feel like you should have a pretty solid feeling that the system UI is really not working for you before replacing it.
I think I've linked to several articles about microcopy before, but the links will continue until I see an improvement in the apps I use! 😂 I'm just finishing up a small project at the moment (which I'll talk more about soon) and I think my incessant tweaking of field labels and button copy is driving the people I'm working with a little crazy, but it's important.
Business and Marketing
The Evolution of the App Store and the App Business
Our 135 person team has built more than 40 products. 32 of them failed, but we didn’t give up.
Really great post by Denys Zhadanov of Readdle on what it takes to build, and sustain a successful company on the App Store.
Swift & Fika 2018 Videos
It's definitely independent conference season at the moment, especially here in Europe. I didn't make it across to Swift and Fika, but that doesn't mean I need to miss the content that was shared there. Here's all the videos!
iOS Engineer with Strong 3D Experience at MartianCraft (U.S.-based Remote)
Create custom iOS solutions for companies that are pushing forward the boundaries of mobile software.
Collection View Tetris
I’d like to tell the story of how exploring table view animations led me to this beautiful use of Xcode’s color literals.
This has been in my queue for And Finally... for a while but something more topical always pushed it out. I'm really glad it eventually made it in.
Happy Friday! Are you all enjoying your shiny new devices? I picked up both a new phone and a new watch this year and they both feel great. The watch especially is a huge upgrade from the Series 2 that I was using. It's so much faster!
I remain fairly skeptical on the watch as an app platform, as I have been since its debut in 2015. Since getting the new watch, I went through all my apps looking for updated watchOS 5 versions to see if any caught my attention. Even though there have been some notable updates, I still don't use any third party apps at all. What I do use it for is health and fitness tracking, so the biggest improvement for me is that I can now start a workout in 3 seconds rather than the 10+ seconds it used to take! 🏃♂️
I'm also very impressed with watchOS 5, it has always felt like the initial releases of previous major watchOS versions always brought some quite serious bugs with them, but this one has been rock solid for me.Dave Verwer