iOS Dev Weekly - iOS Dev Weekly - Issue 651

How do you make a software developer deeply suspicious? Have them turn on a feature they expect to show errors but produce none! 😂
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 651  March 8th 2024

 
Comment

  Comment  

 

Swift 5.10 is here! Holly Borla introduced the release on the Swift.org blog, and if you haven’t dug into what this release is all about yet, I’ll let Holly explain by quoting the bolded sentence in her post:

Swift 5.10 accomplishes full data isolation in the concurrency language model.

As she explains, this is the culmination of years of work that will make our apps safer. In Swift 5.10, the feature to strictly check concurrency code is off by default and if switched on, introduces warnings, not errors.

The Swift Package Index isn’t the largest Swift project by a very long way, but it’s also not trivial, and it uses Swift concurrency extensively as a Vapor-based project, so I thought there would be no better way to test this than by enabling it on our codebase, so I did!

I followed this guide linked from Holly’s blog post and had it set up in a couple of minutes. I expected tens or maybe hundreds of warnings, but found zero! So I did a clean build and again found zero warnings. Deeply suspicious! 🕵️‍♂️

I chatted about it with Sven, and he suspects that we’re in such good shape because of the work he did with the Thread Sanitizer from some concurrency issues we had last year. The Thread Sanitizer does a similar job to these strict concurrency checks but at runtime. We still run our tests with the sanitiser switched on today.

Just to check I hadn’t messed up while enabling the feature, I quickly inserted some code I knew should trigger a warning, and sure enough, one appeared! It seems the Swift Package Index source code is ready for Swift 6! 🎉

Since switching it on didn’t add any warnings, I even committed those changes so we won’t accidentally introduce this class of error before Swift 6 arrives.

Checking for compatibility isn’t the only reason you would enable this flag, so why not give it a try to see how your apps fare? It only takes a minute to enable.

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

50+ CI/CD Workflow Recipes for Peak Performance

Explore Bitrise's curated workflow recipes, designed to speed up your mobile projects and improve performance. Download now.

bitrise.io  Permalink

 
 
 

  Code  

 

Everything you need to know about Swift 5.10

Donny Wals goes into more detail about 5.10’s strict concurrency checks and includes a video on the subject for those of you who prefer to learn that way. 👍

donnywals.com  Permalink

 

Concurrency Recipes

I love this idea. Matt Massicotte has created a repository full of problems you may encounter while dealing with strict concurrency and solutions to help you get your code up to speed. The project is open for contributions, too, so if you find any problems you can’t solve, I’m sure even just contributing a description of the problem would be useful!

github.com  Permalink

 

If you’ve created a visionOS app with a volume, you probably did it wrong

That’s a bold post title, but regardless of whether you got it wrong or not, there’s some useful information in this post from Drew Olbrich. He also followed up with more information on Volumes in a second post if you enjoy this one!

lunarskydiving.com  Permalink

 

How to use TipKit to create tool tips in SwiftUI

I mentioned how much I liked that TipKit exists a couple of weeks ago, and along comes Natascha Fadeeva with a great article on getting started with them.

tanaschita.com  Permalink

 
 

  Design  

 

Sometimes, a Button Just Wants to Look Like a Button

Max Rudberg:

What UI in your app could be solved better using a real world metaphor, or with just a really nice button?

I love all three examples in this post, but I especially like the button with the subtle blur behind it. ❤️

applaudstud.io  Permalink

 

You can put your app’s paywall in an Alert. But you probably shouldn’t

I’d love to see more data on what Ryan Klumph is trying here. I can see an argument that the more in-depth and “heavy“ your paywall screen is, the more significant that decision might seem to people using your app. As Ryan says in the post, I agree it depends on the type of app and the IAP purchase price. Interesting idea, though!

thatvirtualboy.com  Permalink

 
 

  Books  

 

Creating iOSExpert

It’s likely that at some point in your career in this industry, you’ll either decide for yourself or be approached by a publisher to write a book or create a training course. Should you do it? I really enjoyed this post from Josh Adams about what he learned while producing his new course on preparing for a Swift/iOS interview.

racecondition.software  Permalink

 
 

  Jobs  

 

iOS Engineer @ trivago – trivago, a metasearch engine using real-time auction and petabytes of data, enables millions of travelers compare hotel prices from hundreds of booking sites. Based in Düsseldorf, we foster a culture of learning and innovation, embracing flexibility for our talents to shape the travel industry. – On-site (Germany) with some remote work (Anywhere)

Senior iOS/macOS Developer @ Paste – Joining Paste means crafting impactful, user-focused products alongside a team that values innovation, flexibility, and a culture of collaboration. Dive into projects that push the boundaries, enjoy freedom in how you work, and help shape the future of productivity tools. – Remote (within European timezones)

 Permalink

 

If you’d like to see your job featured in iOS Dev Weekly, post it on iOS Dev Jobs and select “Featured listing” as you check out, and it’ll be in next week’s newsletter. 🎉

 Permalink

 
 

  And finally...  

 

This looks like fun, especially if you have kids.

Also, don’t forget you can already run Swift on a Raspberry Pi Pico! 🫨

 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.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 

RSS

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

Older messages

iOS Dev Weekly - Issue 650

Friday, March 1, 2024

Tell me again about your new app idea… 😴 What's that? Sorry, I dropped off for a second 💤 View on the Web Archives ISSUE 650 March 1st 2024 Comment People often ask me about a new app idea they

iOS Dev Weekly - Issue 649

Friday, February 23, 2024

Platform fit? What kind of platform is it, and where are you trying to make it fit? 🫣 View on the Web Archives ISSUE 649 February 23rd 2024 Comment I know it's possibly a less popular opinion

iOS Dev Weekly - Issue 648

Monday, February 19, 2024

Have you ever wanted to learn SwiftUI with a focus on how the layout system works? 💭 View on the Web Archives ISSUE 648 February 16th 2024 Comment Did you see Chris Eidhof's announcement of The

iOS Dev Weekly - Issue 647

Friday, February 9, 2024

Is visionOS closer to macOS than it is to iOS? In one specific way, yes! 🪟 View on the Web Archives ISSUE 647 February 9th 2024 Comment From Stuart Varrall's recent article on Inspiring Apple

iOS Dev Weekly - Issue 646

Friday, February 2, 2024

Happy Vision Pro launch day! But before we celebrate, we need to talk about the App Store and the Core Technology Fee. 🤑 View on the Web Archives ISSUE 646 February 2nd 2024 Comment From John

You Might Also Like

See what Apple did to the iPads

Tuesday, May 7, 2024

Plus: A sperm whale alphabet and Oyo wants some discounted funding View this email online in your browser By Christine Hall Tuesday, May 7, 2024 Hello, and welcome back to TechCrunch PM. Today's

🍿 5 Things to Do With Your Old TVs — Ditching Google Search for Perplexity AI

Tuesday, May 7, 2024

Also: How to Turn Off Vanish Mode on Instagram, and More! How-To Geek Logo May 7, 2024 Did You Know The lens of your eye casts everything it sees upside down onto your retina; only when the image

JSK Daily for May 7, 2024

Tuesday, May 7, 2024

JSK Daily for May 7, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Building Large Scale Web Apps | A React Field Guide I had the privilege to work with Addy

Random Web App Ports, unittest, TypeIs vs TypeGuard, and More

Tuesday, May 7, 2024

`TypeIs` Does What I Thought `TypeGuard` Would Do in Python #628 – MAY 7, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo TypeIs Does What I Thought TypeGuard Would Do in Python In this post,

Daily Coding Problem: Problem #1434 [Medium]

Tuesday, May 7, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Airbnb. You are given a huge list of airline ticket prices between different cities

Chaos, Coyotes & Palm Trees 🌴

Tuesday, May 7, 2024

John Mulaney helps Netflix nail its final comedic frontier. Here's a version for your browser. Hunting for the end of the long tail • May 07, 2024 Chaos, Coyotes & Palm Trees John Mulaney's

Issue 155

Tuesday, May 7, 2024

🧑‍🚀🚀 Humanity has entered the 3rd space age. Professional fraud fighter goes undercover at a “Yahoo Boy School.” The AI music app that actually makes good music. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

A very random issue

Tuesday, May 7, 2024

Plus a new language that compiles to Go, charts for the terminal, and some Go books from Packt. | #​506 — May 7, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Evolving the Go Standard

Chart | The Growth of a $1,000 Investment, by Stock Market Index 📈

Tuesday, May 7, 2024

In this graphic, we've visualized stock market growth by country over the past five years using major indices. View Online | Subscribe Presented by: Discover the motivations and behaviors of

⚙️ A new LLM for Microsoft

Tuesday, May 7, 2024

Plus: A revenue beat for Palantir & a new partnership for OpenAI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌