Sponsored Link
Swift WebSockets: Starscream or URLSession in 2021?
In this article, we'll go over several positive and negative characteristics of Starscream and URLSession to help you decide which fits best with your requirements for WebSockets.
News
App transfer rules and the App Store Small Business Program
I understand not allowing members of the App Store Small Business Program to make app transfers. It'd make it far too easy to transfer apps out apps that were about to push revenue over the threshold. However, Sean Harding is correct that the rules are confusing, which left him in a less than ideal situation. It should act as a cautionary tale to steer well clear of any app transfers if you're planning to join the programme. I hope this prompts a clarification of the rules, and I also hope an exception gets made for Sean's case.
iOS Chats
This is a nice idea. Filip NÄmeÄek has started writing up interviews with various members of the community. He always begins by asking how they got started, but the conversations head in many different directions after that.
Tools
MacSymbolicator
I hadn't heard of MacSymbolicator from Mahdi Bchatnia before reading this post by Christian Tietze, but it sounds interesting. It's open-source too. If you're not using a service that symbolicates your crash logs, this might be interesting to you.
I'm also going to take this chance to remind you that if you like something that someone else made, to think about sharing it, just like Christian did! I'm sure the fact that this blog post exists just made Mahdi's day. ā¤ļø
TestApp
It's been a while since we've seen much news around third party app distribution services. Between TestFlight, App Center and Firebase, it's all wrapped up, right? Maybe not. TestApp recently launched a distribution-focused, cross-platform service for both iOS and Android.
I wish them good luck. It's a tough market!
Code
Since we wanted to support Catalina...
This is an interesting thread from Chris Eidhof and Florian Kugler about the reality of making an app with SwiftUI that still supports Catalina. It's a realistic look at some of the areas where AppKit is either necessary or will do a better job at platform-fit than SwiftUI at the moment.
Building a Customizable UITextField with Combine
Why don't all text fields in iOS apps look as if they belong in Stardew Valley? š¤·āāļø Daisy Ramos starts with the basics of customising a text field and ends with a fully custom, @IBDesignable
control that publishes its results using Combine. š
Mastering SwiftUI previews
My tip for mastering SwiftUI previews would be to learn the keyboard shortcuts to show and hide the previews. As Majid Jabrayilov suggests here, I like to set up multiple previews, but I also work with them hidden for 95% of the time. Being able to quickly show and hide the preview panel is a great time saver! š
Better Dictionary literals with Result Builders
I'm really not sure how I feel about this use of result builders from Alejandro Martinez. On the one hand, it's cute and does enable cleaner code in some circumstances. On the other, do you want to put another layer of code behind the process of creating a dictionary? Interesting article, though!
Why Swift reference types are bad for app startup time
I'm not sure that startup times should be the driving force behind your decisions on whether to use value or reference types, but this post from Noah Martin might make interesting reading if you're trying to eke a few last milliseconds out of your startup time. Who even invented pointers, anyway? š
Design
Things That Sucked
Thanks to Jordan Morgan for the reminder that making something is much more important than making something perfect.
Jobs
macOS Platform Engineer @ Vectorworks ā Super Bowl half-time shows, the World Trade Center Memorial, and the Oscarās stage were designed using our 3D modeling software. With over 685,000 global users in the Entertainment, Architecture and Landscape industries, we are building a Vectorworks community who are influencing the next generation of design with our software on both Mac and Windows. Join us! ā Columbia MD
iOS Engineer @ onX ā onX is a pioneer in digital outdoor navigation, where we bring our outdoor passion to work every day with a singular goalāto awaken the adventurer in everyone. We do this by engineeringĀ industry-leading technology, and by crafting dynamic outdoor experiences.Ā Come join a team that empowers millions of outdoor enthusiasts to explore the unknown! ā Remote within the US
Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.
And finally...
Poof šØ
Comment
In around three months, weāre likely to be settling into our comfiest chairs to watch this yearās WWDC announcements. Thinking about that made me consider what Iād most like to see this year, and if I had to pick only one thing, it would be improvements to Xcode.
Do I wish for an iPad version? Nope. Am I hoping for a complete overhaul from the ground up? Definitely not. Instead, what Iām looking for is less flashy but far more impactful. Iād like to see Xcode truly catch up with Swift.
Xcode gets a lot of criticism, and I am not usually part of the group that generates it. I think itās a great development environment that I thoroughly enjoy using. That said, I have felt more frustration with Xcode in the past year than ever before. Iād love to get accurate, fast code completion back like we had started to see for Objective-C code before Swift arrived. Iād also love to see speed and reliability improvements to features like Xcode Previews.
I want Xcode to feel like itās one step ahead of me, rather than feeling like itās trying to catch up with what Iām typing. If this yearās State of the Union delivers news along those lines, Iāll come away with a massive smile on my face.
Note: I want to finish by clarifying that Iām not trying to criticise the developer tools teams with what Iāve said here. Creating developer tooling for a language like Swift is a challenging task that is easy to underestimate from the outside. I believe this is much more a symptom of continuous, significant language changes that enable more concise code via features such as result builders and property wrappers. Those enhancements can benefit developers and enable technologies like SwiftUI, but some of the impact is lost if the tooling drifts.
Dave Verwer