Sponsored Link
The best VPN is one that's running on a dedicated server
But, who has the time to manage configuration, updates, and everything else that goes along with keeping a dedicated server up and running? Let us do all the work for you – we make personal dedicated VPN servers a snap. Get one spun up in less than five minutes, and take advantage of the best privacy you've ever had. Start your 7-day trial now.
News
Swift Playgrounds on the Mac
Swift Playgrounds in Xcode, and Swift Playgrounds on the iPad never really felt like the same thing. You know why? They weren't! But now the iPad incarnation of Playgrounds, complete with all of the wonderful educational content is on macOS as a Catalyst app. Yes, Catalyst still has rough edges, but I'm really glad this exists. 👍
Tools
SwiftPlaygroundsCLI
Sven Tiigi was quick off the mark after the release of Swift Playgrounds on macOS with this command-line tool. It can create blank playgrounds, playgrounds with a simple view, or it can create playgrounds from a git repository template. 👍
ControlRoom
simctl
is awesome, but with 34 subcommands and hundreds of different command-line options, it can also be overwhelming. This app from Paul Hudson tames simctl
. Not only can you use it to do my very favourite thing but it also does so much more. What's the best way to see everything it can do? Compile it, run it, and flick through the pages of functionality. 👍
Maintaining a Homebrew Tap for Swift Projects
I maintain that a super large hindrance to the success of your work is adoption pain.
This! I know the temptation with something you've built is to just get it out there, but honestly, the number of repositories I look at where something as simple as a one-sentence description of what the repository contains is missing is remarkable. Listen to Max Howell on this, he knows what he's doing.
Xcode's Find Navigator & Search Scopes
Xcode’s built-in search and replace function, present in the find navigator is severely underrated and unknown to many developers.
It really is. It's just slightly hidden away in an already complex app. Here's Patrick Balestra to unlock some of the secrets of our favourite Swift IDE.
Code
Exploring Swift 5.2’s new functional features
I was a bit grumpy when talking about callAsFunction
last week. So let's allow John Sundell to convince us of the merits of this new language feature in Swift 5.2. Need more convincing? How about Mattt's attempt, Static and Dynamic Callable Types in Swift.
Note: I read these with an open mind, but I must admit I'm still not at all turned around on this feature. The words at the words at the bottom of Mattt's post resonated with me too.
DefaultCodable
I like this µpackage idea from Guille Gonzalez. It uses a property wrapper to set a default value when Codable
is doing its thing. Anything that gets rid of an optional is 👍 in my book.
Business and Marketing
Apple cares about devs, it turns out
I saw Vojtech Rinik's tweet about being rejected for a silly reason last last week, so I was pleased to see this blog post saying everything had turned out OK in the end. There's no shortage of stories of Apple rejecting apps for silly reasons, and I certainly wish they were less common, but if you remain calm and talk to them, it works out more often than it doesn't.
Videos
Videos from dotSwift 2020
I love the format of dotSwift talks. Preparing a great talk that only lasts 15-20 minutes is significantly harder than one that lasts 45 minutes, but the effort is worth it. This year's talks look fantastic.
Jobs
Senior Project Manager @ WillowTree – As a Senior Project Manager, you’ll partner with Fortune 500 clients to create a product vision while advising and managing scope, risk, and new product opportunities. You’ll have the unique opportunity to build and grow a team as the Virtual CEO of your project! – Charlottesville, VA
Lead iOS Engineer @ Volley – Volley is hiring a Lead iOS engineer to help us create the future of voice-controlled entertainment. We've created the #1 game on Alexa (Song Quiz) and 7 games in the top 20. We raised our Series A last year and are growing quickly – join us! – San Francisco, CA
iOS Developer @ freenet – Join our app development team to build mail, cloud and mobile communication apps for over 1 million users in the German market. If you like to write clean code with maintainable tests and work with a modern tech stack like Swift, SwiftUI, MVVM & REST/GraphQL, apply now! – Remote, or Hamburg Germany
Intermediate iOS Developer @ Dr. Bill – Dr. Bill saves time for Canadian doctors by making medical billing delightful (OK... at least suck less). Join us as we accelerate our growth to dominate medical billing in Canada! – Remote, or Vancouver Canada
iOS Developer @ Shape – If you're passionate about making state-of-the-art iOS apps, why not work together with some of the best developers and designers who share this passion? Our office is in Copenhagen - one of the most liveable cities in the world. We offer relocation support and help you get a VISA. We also like to host social events, morning runs, Friday bars, board game nights, LEGO days and much more. – Copenhagen Denmark
Senior iOS Engineer @ Ground News – Award-winning startup, backed by Facebook, TechStars is looking for Senior iOS developer to launch 'Spotify for News'. Looking for strong consumer app experience. – Remote, or Kitchener Ontario
iOS Developer @ reBuy – Ready to make the world more sustainable with reBuy? We are an international and innovation-friendly company that strives for a more sustainable future. Join our small mobile team and enjoy truly flexible working hours and our weekly 'Try-day' for professional development. Follow the link on our job ad to have a sneak peek to our tech department! – Berlin Germany
There are more than 45 jobs currently listed over at iOS Dev Jobs, so if you're looking for something new, you know what to do!
And finally...
Yes, this is five years old. Yes, it still made me laugh. 😂
Of dubious practical benefit.
Aren't all the best things?
Comment
I'd like to start this week's newsletter with a little apology. I promised that I'd publish the results of the iOS Developer Community Survey at the end of January, and here we are two weeks into February. 😱 Sorry. I've been working hard on the results site, but it has taken longer to create than I thought it would. Yes, I'm bad at estimating, aren't we all? 😂
The good news is that the site is really, really close to being finished and will launch officially next week. However, before I send it out to everyone, I'd love to get a few eyes on it to make sure I've not made any terrible mistakes. If you have a bit of free time on Tuesday or Wednesday next week and would be willing to do some checking, please leave your name here.
What I can say is that the results are fascinating, and I can't wait for you all to see them.
Dave Verwer