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

Issue 340 - Elon Musk hints at a new model for large families

Thursday, November 21, 2024

View this email in your browser If you are just now finding out about Tesletter, you can subscribe here! If you already know Tesletter and want to support us, check out our Patreon page Issue 340 -

Data Science Weekly - Issue 574

Thursday, November 21, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Programmer Weekly - Issue 232

Thursday, November 21, 2024

View this email in your browser Programmer Weekly Welcome to issue 232 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Writing software is a very intense,

Better - An AI Powered Code Reviewer

Thursday, November 21, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 21, 2024? The HackerNoon

Python Weekly - Issue 677

Thursday, November 21, 2024

View this email in your browser Python Weekly Welcome to issue 677 of Python Weekly. Let's get straight to the links this week. From Our Sponsor Get Your Weekly Dose of Programming A weekly

Web Tools #592 - JS Libraries, Git/CLI Tools, Media/SVG

Thursday, November 21, 2024

WEB VERSION Issue #592 • November 21, 2024 Advertisement Deploy AMD Instinct™ MI300X on Vultr AMD Instinct MI300X accelerators are now available on the Vultr cloud platform. With thousands of AMD

Stop Using the Wrong State Management in Jetpack Compose

Thursday, November 21, 2024

View in browser 🔖 Articles Benchmark Insights: Direct State Propagation vs. Lambda-based State in Jetpack Compose Here, we'll dive into some benchmark analysis on the state propagation approach in

wpmail.me issue#694

Thursday, November 21, 2024

wpMail.me wpmail.me issue#694 - The weekly WordPress newsletter. No spam, no nonsense. - November 21, 2024 Is this email not displaying correctly? View it in your browser. News & Articles State of

Turn off Google AI with two letters

Thursday, November 21, 2024

$250 off M4 MacBook; Linux Foundation marks 20 years; Bluesky tips -- ZDNET ZDNET Tech Today - US November 21, 2024 laptop This absurdly simple trick turns off AI in your Google Search results There

PHPWeekly November 21st 2024

Thursday, November 21, 2024

Curated news all about PHP. Here's the latest edition Is this email not displaying correctly? View it in your browser. PHP Weekly 21st November 2024 Hi everyone, PHP 8.4 id due for a release today,