iOS Dev Weekly - iOS Dev Weekly - Issue 652

We all make mistakes, but I just show 50,000 people my mistakes šŸ«£
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 652  March 15th 2024

 
Comment

  Comment  

 

I received two types of emails in response to last weekā€™s introductory comment. The first type had phrases like ā€œNo warnings at all? Wow!ā€ and ā€œIā€™m surprised you didnā€™t get anything at all!ā€ and the things said in the other type of email were much more along the lines of ā€œYou didnā€™t switch on the checks properly.ā€ šŸ«£

Yes, itā€™s true. I made a huge mistake with last weekā€™s intro, where I used enableUpcomingFeature instead of enableExperimentalFeature. Itā€™s crystal clear in the documentation that the former is for Swift 6, and the latter is for Swift 5.9/5.10. I was running with Xcode 15.3, which includes Swift 5.10. šŸ«¢

Itā€™s much more straightforward if youā€™re switching it on for Xcode, but if you are testing this with a package, thereā€™s a subtle difference between the two.

What tripped me up was when I tried inserting some code I copied from Matt Massicotteā€™s Concurrency Recipes repository to test that I had the checks enabled correctly. I knew the code would trigger a concurrency warning, and sure enough, a warning appeared as soon as I pasted it in! What I didnā€™t realise is that that warning would have appeared before I added the strict concurrency flag, too. šŸ˜¬

Iā€™ve been making lots of silly mistakes recently, and itā€™s frustrating. I used to have such an eye for detail, and in my mind, I like to think I still do. That said, errors like this are not uncommon for me these days. I donā€™t think Iā€™m quite old enough yet for it to be age-related, so itā€™s more likely to be the constant context-switching that I put myself through. I often close a window to find a stack of windows with an embarrassingly high number of half-completed tasks. Youā€™d think I would have got the hang of it by now. šŸ˜¬

Anyway, the long and short of it is that we do not have zero strict concurrency warnings in the Swift Package Index. We have 526! There appear to be a few common root causes though, so Iā€™m sure that number will come down quickly when we start fixing them. šŸ› ļø

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

Add paywalls in one line of code

Take the pain out of configuring and testing your app's paywalls. With RevenueCat Paywalls you can remotely configure and edit your entire paywall view without waiting on App Review. See how it works here.

revenuecat.com  Permalink

 
 
 

  News  

 

Google's Response to the Digital Markets Act

I wonā€™t try and make any comment on this other than to link to it, but this is an interesting round-up of what Google already had, and whatā€™s changing over in Android-land around the DMA legislation. Just remember that everything you read here is obviously biased, being written by Google.

blog.google  Permalink

 

New App Store, iOS, and CloudKit data analytics now available

Fifty new reports in App Store analytics is nothing to sneeze at, and thatā€™s what Apple has recently added to App Store Connect. Itā€™s also great to see all this data available via the API. Apple seems completely committed to making that API a priority when they make changes. šŸ‘

apple.com  Permalink

 
 

  Code  

 

Building Tiny Games in Swift for the Playdate

The Playdate was an impossible-to-resist purchase for me. Panic software and Teenage Engineering hardware are a powerful combination, and the device is a delight. It has an SDK, too, but can you write software for it in Swift? Now you can!!! ā¤ļø Rauhul Varma has been working on making that happen, and hereā€™s his write-up.

swift.org  Permalink

 

Swift Tooling on Windows

Arc for Windows entering beta is a clear indication that itā€™s possible to write Windows apps with Swift. Building a browser is no trivial task! Hereā€™s Jeremy Day with a round-up of the state of tooling is for Swift on Windows, covering writing code, debugging, and even building for Windows arm64.

substack.com  Permalink

 

If you use UserDefaults in an app

Isnā€™t that ā€¦ every app? If this applies to you then Craig Hockenberry has something youā€™ll want to read before you next upload a release to the App Store.

mastodon.social  Permalink

 

SwiftUI Tasks Blocking the MainActor

What a great reminder from Keith Harrison that compile time errors are not the only thing you can do wrong with concurrency! šŸ˜¬

useyourloaf.com  Permalink

 
 

  Videos  

 

Hacking Disneyland's App to fix a Freeze

I really enjoyed Bryce Paukenā€™s latest video on fixing a bug in the Disney app. Iā€™ve never seen a more straightforward demonstration of the techniques he uses here. šŸ‘

youtube.com  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...  

 

Swift puts Breakout on the Playdate. JavaScript puts it in Google Calendar! šŸ˜

 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 651

Friday, March 8, 2024

How do you make a software developer deeply suspicious? Have them turn on a feature they expect to show errors but produce none! 😂 View on the Web Archives ISSUE 651 March 8th 2024 Comment Swift 5.10

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

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your