Sponsored Link
Launch Scalable iOS Chat In Days With Stream
This tutorial shows how easy it is to use Stream’s scalable chat API & UI components to ship in-app chat in a fraction of the time. Start a free trial now and try out Stream’s chat SDK and see why Stream powers the feeds and chat for over 500 million end-users.
News
WWDC20 - Online Only
In the least surprising move of the week, Apple just announced that WWDC 2020 would be an online-only event. The web site is predictably vague on the subjects of why, and what that means in practice. But that's understandable given how quickly this must have come together.
Naturally, AltConf is going virtual too, and I'm sure every other event that was pencilled in for early June in San Jose will follow suit in the next few days.
I wrote a bit about what an online-only WWDC could look like last week, but it'll be fascinating to see how Apple see it, and whether we see it come back in person next year. 🤞
Tools
Manage automation tasks using Swift Package Manager
Does Xcode having support for opening Package.swift
as projects mean we may one day see .xcodeproj
files replaced? Who knows, but if it were to happen one of the things that'd be needed would be a replacement for build phases. Andrew Lord takes a look at approximating this with what we have available right now.
Code
UIAlertController with Function Builders
Pierre Felgines on using Swift 5.1's function builders to build a new UIAlertController API. It's a well thought out post, but this line from the conclusion really resonated with me:
The feature is really limited at the moment and maybe it’s for the best, to avoid overly complicated DSLs
It can be so tempting to do things like this, but even though the official API is verbose, it's stable and supported. In my opinion, that's much more important.
Also, in a weird twist of fate, this week saw Andy Ibanez write on exactly the same topic. What are the chances? 🤯
Avoiding massive SwiftUI views
I really liked John Sundell's take on refactoring SwiftUI code. I especially agree with him on this point:
If we only look at the above view’s line count, it isn’t really massive at all. However, it’s arguably quite difficult to quickly get a grasp of what the resulting UI will look like.
Learning to be good at this is going to make your life so much easier. 👍
Going deep with Decodable
Richard Turton with a fantastic article on real-world, practical JSON parsing with Codable
.
Your networking/decoding layer is there to take the filth from the outside world, and transform it into nice, usable model types for your app.
It's like washing your hands, but for code... aaaaaand there's my topical commentary for this week... ✅😂
ErrorAssertions
Ever wish you could pass an Error
to assert
, precondition
, or fatalError
? What about writing tests that expect one of those to be called? Jeff Kelley has just what you need for both of these situations. What's the saying? I heard you liked asserting, so I asserted that you asserted. 😂
Business and Marketing
Creating a Retail Demo for Apple
Here's Jordan Morgan talking about the experience of having your app selected to be pre-installed on phones in Apple retail stores. It's fascinating, and it must have been a wonderful feeling to walk into a store and see your creation sitting there on every phone. 😍
Dealing with Apple’s App Review
Max Ott with a great article, full of practical advice on how to deal with rejections during app review. You should read the whole article, but you can very much sum it up with this one sentence quote:
The general strategy we recommend is: (1) persistence, (2) not taking criticisms or reviewer responses personally, and (3) being friendly and open to feedback.
Those three things can be hard to stick to in a tense app review, but they are always the right approach.
Jobs
Mobile Senior Software Engineer @ SmartThings – Did your things make you go “wow” today? At SmartThings, we are dedicated to making every home a Smart Home - and as the IoT platform of Samsung, with millions of users and connected devices, we are well on our way. We strive to create an easy-to-use, secure, and above all intelligent IoT solution for the home that delights our customers. Our fun, intelligent, and creative teams need your help. – Mountain View CA
Lead iOS Engineer @ TrueCoach – TrueCoach is a small but mighty company located in the heart of the greatest place to work and play in the country, Boulder, Colorado. We were also recently named one of the 50 Best Small Companies to Work For in Colorado. – Boulder CO
iOS Developer @ komoot – Komoot is changing the way people explore. Our technology empowers millions of people to get outside and discover more of the great outdoors - and we want you to join us! – Remote (within UTC-1 to UTC+3 timezones)
Is your company hiring? You'd really help me out if you let your recruiting/HR department know that they can post iOS development job listings, right here. Thanks. ❤️
Comment
I read a very entertaining post yesterday from Dan Gauthier on imposter syndrome. If you didn't see it mentioned on Twitter, you should read it.
Maybe you're just starting out learning Swift, or perhaps you're on the road to releasing your first app? Or like Dan, you might be on your way to becoming independent. Whatever it is you're trying to achieve, remember that you're capable of doing astonishing things, no matter what other people are doing or saying.
It doesn't matter whether you're struggling with imposter syndrome, a technical issue, finding time and space to work on your projects, or anything else. Remember that every long journey is just a series of small steps. I guarantee that if you keep chipping away at your goals when you have time, you'll be blown away by how far you've come by this time next year.
Also, while I found the joke at the end of Dan's piece funny, 😂 don't worry too much about Twitter or Instagram. Social networks are rarely a great place to be when you're feeling imposter syndrome. Instead, focus on just putting one foot in front of another as often as you can.
Also, I should really listen to my own advice... 😬
Dave Verwer