iOS Dev Weekly - iOS Dev Weekly - Issue 670

Do you want to stay with Swift 5 language mode forever? 👨‍🦳
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 670  July 19th 2024

 
Comment

  Comment  

 

I’ve heard many people echoing Alex Grebenyuk’s thoughts about Swift 6 language mode recently. It’s a long post, but it’s worth reading. Give it a read and come back.

What Apple is doing with Swift 6 language mode is bold, and if it works, there’s a clear and significant upside. Swift apps will benefit from fewer crashes and unexpected behaviour. But, as Alex and the others who messaged me point out, using the new language features correctly puts a significant burden on developers, and this is especially true for those maintaining larger apps.

One of the problems with designing a language intended to scale from embedded systems, through every modern computing platform, to the largest back-end systems chock-full of concurrent code is that not all those use cases need all the language’s features. Swift’s answer to that has always been progressive disclosure, and it works well. You could go through a great many Swift tutorials and even publish an app to the store without needing any concurrency. You will need it at some point, though, and unless you’re experienced with understanding data races, you’ll likely hit a fairly steep slope with the warnings/errors produced by Xcode. The grumbling I hear isn’t coming from novice developers, either. For example, from Alex’s post:

There’s also been a notion that the new warnings are easy to fix. I’m sure some of them are, but that wasn’t the case in my experience. In my frameworks and apps, I had to carefully think about almost every individual instance and then often update tests, etc, which was extremely time-consuming even in smaller well-maintained codebases. Migration seems easier once you’ve done it, but at this point, it’s too late. I wouldn’t underplay how complex it is, especially anything related to closures and delegates.

It’s important to note that no one is forcing anyone into adopting Swift 6 language mode, where the concurrency warnings turn into errors. You can continue with Swift 5 language mode. But what happens if significant numbers of people choose that path permanently? I’m confident Apple has thought about this possibility and has a plan, but it has the potential to be a messy situation.

Don’t get me wrong, I’m not calling this a failure by any stretch of the imagination. We’re only 5 weeks into Swift 6's beta. There’s plenty of time before anyone needs to worry about people who might choose never to switch. I hope it’s also clear that I hope the bold move succeeds. There are also possibilities for Apple to do more work to ease the transition, and not only in the few weeks we have left until a 6.0 release, but onwards into 6.x releases. As many people often like to joke when Apple releases something new, this is the very worst version of data race safety checks that the Swift compiler will ever have! 😂

I have no conclusion to make here. Like I say, it’s way too early to call it either way, but it’s definitely worth listening to developers who are raising warning flags and writing blog posts like Alex’s.

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

Join the FREE iOS Architect Crash Course

If you're a mid/senior iOS developer looking to improve both your skills and salary level, join this free online crash course. It’s available only for a limited time, so get it now.

essentialdeveloper.com  Permalink

 
 
 

  News  

 

Apps For Apple Vision Pro

Thanks for all the apps and TestFlight links you all sent me after my comment last week. I had a great time trying lots of them out. But, one link that came through loud and clear in all the emails I got was this site. It's by brothers Perjan and Krist Duro. What a great site, and I’m linking to it here in case you have a visionOS app that’s not listed, get it on there!

appsforapplevision.com  Permalink

 
 

  Tools  

 

Xcode-Kotlin 2.0

This is a very cool article from Tadeas Kriz on a new release of xcode-kotlin, the LLDB plugin for Kotlin Native. Surprisingly, this allows full visual debugging support in Kotlin Multiplatform (KMP) native code, including (by the look of it) support for mixing languages in one debug session. If you use KMP, you’ll want to check this out. 👍

touchlab.co  Permalink

 
 

  Code  

 

Xcode 16’s Entry macro

I love that SwiftUI’s new @Entry macro doesn’t need the latest platform SDKs to run, only Xcode 16. That’s good news for anyone wanting to utilise the SwiftUI environment. What exactly does it do? Donny Wals is here to show you.

donnywals.com  Permalink

 

Using SwiftUI in Command Line Tools

You may be feeling the same way I felt when I first read Natan Rolnik’s latest post title; confused. How would using SwiftUI from a command line tool make any sense? Luckily, I clicked through to read the post to find out how, and it’s by using the ImageRenderer. Now that is useful.

swifttoolkit.dev  Permalink

 

Make SF Symbols Wiggle

I didn’t think I’d ever need to say the words “by-layer wiggle” and yet here I am talking about Rudrank Riyam’s latest blog post writing those exact words! He takes us through what wiggle options we have and then shows us how he’s using it in his LyricsLink app.

rudrank.com  Permalink

 

Some vs Any

Let’s finish this week’s Code section with this piece by Mohammad Faani, which has the clearest explanation of the difference between Swift’s some and any keywords I’ve seen. 👍

mfaani.com  Permalink

 
 

  Business and Marketing  

 

AltStore: Q&A with Riley Testut

You may have heard some of what Riley Testut says in this interview with Peter Meinertzhagen. Much of it is in blog posts and articles on other sites, but this snippet caught my eye:

Riley: The notarization process often takes longer than App Review. For instance, submitting Delta for notarization might take a whole day, whereas App Review could be just a couple of hours. We have several apps waiting for notarization for weeks now.

I know it’s early days, and processes inside Apple will still be being tweaked but I’m surprised to hear this. The process should be relatively straightforward.

For full disclosure, Peter works for RevenueCat who regularly sponsors this newsletter. This interview is from their blog.

revenuecat.com  Permalink

 
 

  Jobs  

 

Software Engineer, iOS @ amo – Amo values speed, creativity, and high performance. Focused on meaningful social apps, they prioritize creation over consumption and simple, fun experiences. The diverse, skilled team uses a modular monorepo tech stack with Rust, Bazel, and RxSwift, leveraging efficient data processing on GCP. – On-site (France)

Product Engineer (iOS, Full-Stack) @ Emerge Tools – Have a huge impact working with our small, technically elite team (just 8), build tools used some of the biggest & best mobile teams in the world (DoorDash, Square, Spotify, Duolingo, Tinder, Bumble) – Remote (within US timezones)

Senior iOS Developer @ Komoot – Your work will contribute to helping millions of people enjoy lovely outdoor experiences and you can work from wherever you want, be it a beach, the mountains, your house, or anywhere else that lies in any time zone between UTC-1 and UTC+3. – Remote (within European timezones)

 Permalink

 
 

  And finally...  

 

I didn’t think I’d watch a 20-minute video on building a keyboard, today, but I did! ⌨️

 Permalink

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
iOS Dev Weekly is published by Verwer Services Ltd. with a registered office at 5 Albert Road, Southsea, Hampshire, England, PO5 2SE.
 
 

 
 

RSS

 
Š2024 iOS Dev Weekly | Privacy Policy | Mastodon | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 669

Friday, July 12, 2024

I am always going to use 🥽 to reference Vision Pro until we get a VR headset emoji! 🫨 View on the Web Archives ISSUE 669 July 12th 2024 Comment Earlier today, I stepped into my very own spatial

iOS Dev Weekly - Issue 668

Friday, July 5, 2024

Should we all move to CocoaPods to avoid security issues? It's a bit more complicated than that. 🔐 View on the Web Archives ISSUE 668 July 5th 2024 Comment This story of a CocoaPods security

iOS Dev Weekly - Issue 667

Friday, June 28, 2024

No comment from me this week, but there are plenty of links! 🥂 View on the Web Archives ISSUE 667 June 28th 2024 Comment Time got away from me so quickly today that by the time I would normally be

iOS Dev Weekly - Issue 666

Friday, June 21, 2024

WWDC isn't completely over just yet! How about a chance to get together with your peers to watch some videos at Apple offices around the world? 🗺️ View on the Web Archives ISSUE 666 June 21st 2024

iOS Dev Weekly - Issue 665

Friday, June 14, 2024

Ready for a recap of WWDC? Before we get to that, I want to talk about some masterful marketing from Apple this year. ✨ View on the Web Archives ISSUE 665 June 14th 2024 Comment What a week! I hope you

You Might Also Like

Laravel VS Code Extension, Laravel 11.36, Wirechat, and more! - №544

Sunday, December 22, 2024

Your Laravel week in review ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Kotlin Weekly #438

Sunday, December 22, 2024

ISSUE #438 22nd of December 2024 Announcements klibs.io JetBrains has introduced the alpha version of klibs.io – a web service that speeds up and simplifies discovering KMP libraries that best meet

Weekend Reading — Happy "That's a January Problem" week

Saturday, December 21, 2024

Can Christmas season start a little earlier this year Tech Stuff Ramsey Nasser fuck it happened i am in a situation where i do actually need to reverse a linked list Atuin I just learned about Atuin

Daily Coding Problem: Problem #1644 [Easy]

Saturday, December 21, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by IBM. Given an integer, find the next permutation of it in absolute order. For example,

🐧 Whatever Happened to Unix Workstations? — My Incredibly Cheap Alternative to a Soundbar

Saturday, December 21, 2024

Also: Here's Why More Games Need Expanded Difficulty Settings How-To Geek Logo December 21, 2024 Did You Know Lake Wendouree, an artificially created and maintained shallow urban lake in Australia,

Supercharge Your Knowledge Capture Workflow with the Obsidian Web Clipper

Saturday, December 21, 2024

Stop juggling multiple tools and supercharge your knowledge capture workflow with Obsidian's powerful Web Clipper browser extension Sébastien Dubois DeveloPassion's Newsletter Supercharge Your

Charted | The World's Most Valuable Automakers 🚙

Saturday, December 21, 2024

Tesla shares reached a record high, setting a new valuation milestone. This graphic highlights the world's most valuable automakers by market cap. View Online | Subscribe | Download Our App

Next Holiday Season, Ignore Everyone Except One Customer

Saturday, December 21, 2024

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 21, 2024? The

🐍 New Python tutorials on Real Python

Saturday, December 21, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: 🎓 Master Python's Core Principles (New Live

Post from Syncfusion Blogs on 12/21/2024

Saturday, December 21, 2024

New blogs from Syncfusion ASP.NET MVC Suite Update: Aligning with .NET Changes By Rajendran R Discover key updates in our ASP.NET MVC suite, aligning with Microsoft's latest .NET changes for