First version is always rough, though.
14.11.2025 09:15 β π 0 π 0 π¬ 0 π 0@davuthdv.bsky.social
indie iOS developer β’ making small simple apps π― target: 50 apps π³οΈ now: 3 apps π progress: ββββββββββ 3/50 Apps: https://appgallery.io/davuthdv
First version is always rough, though.
14.11.2025 09:15 β π 0 π 0 π¬ 0 π 0Icon Composer, as the name implies, is not an icon designing tool. It's a composing tool.
ο»Ώ
Functionality is limited. (And it's quite clunky to use, in my opinion.)
ο»Ώ
The primary reason to use it is to apply the glass effect.
The secondary reason is to remove the glass effect.
#iOS26
So far so good. Except that in Swift 6.2, you will need to set model as nonisolated.
But I'm only using it in a small part in the app. My usecase is small.
Ahhh... kinda make sense, actually. I was thinking along the line that... since model will be used to update some views anyway, it should be MainActor.
11.11.2025 18:45 β π 1 π 0 π¬ 1 π 0I also feel that it's a bit strange, although I don't really know why.
Luckily, Supabase covers only a small feature in my app. So I only have to set one model as nonisolated. It would be weird if every model has to be nonisolated.
I see. I'm not even attempting to understand the whole protocol conformances for Swift 6 right now. Sounds like it's a whole complicated issue on its own.
But my question is... any potential issues for declaring model (struct) as nonisolated?
If you're using Supabase with Swift 6.2 and default MainActor, the execute() function will fail even if your model is Sendable.
The fix is to declare your model as nonisolated.
#swift6
github.com/supabase/sup...
Yes! I'll send the Matt Signal. Thank you so much π
11.11.2025 10:12 β π 1 π 0 π¬ 0 π 0Don't rely on AI to update your apps to support Swift 6.2.
ο»Ώ
I was doing it and it gave me all sorts of weird suggestions, and it did with confidence. Do it the hard way.
ο»Ώ
Read the articles, understand the principles, and then update your apps manually like the good old days.
#swift6
I did that, but without understanding what swift6 tries to solve, it was just very difficult. I mindlessly added Sendable and MainActor here and there just to silent the compiler. And it backfires.
But yeah, if I didn't start with something, I wouldn't know what to search for.
Luckily, there are a ton of articles on this. I read both yours and Donny's.
I'm to blame for this. I didn't catch up when Swift 6 was introduced. I was waiting for the approachable concurrency to release to catch up at once. That's why.
This feels like Swift 3 all over again.
Not disappointed, just overwhelmed.
I thought I can just figure things out 1 error at a time, but no. Without knowing the whole thing, there's no way I could understand what's going on. I can't even understand the error message.
I need to read and compare the before and after of Swift 6 & 6.2.
Much better than yesterday. That's for sure. π¬
10.11.2025 14:40 β π 1 π 0 π¬ 1 π 0@.Sendable, Sendable, sending, nonisolated, @.concurrent, @.preconcurrency, _dispatch_assert_queue_fail
π΅βπ«
#swift6
I was commenting out code line by line, section by section, to try to find what the root cause was.
Thanks to the great @massicotte.org for this article. I finally understood what's going on.
Reading @donnywals.bsky.social's article about Swift 6.2 and ended up clicking every related link.
Clearly shows how "much" I really know about concurrency in Swift π
www.donnywals.com/should-you-o...
Got it. π
08.11.2025 16:28 β π 1 π 0 π¬ 0 π 0What check are you referring to, by the way?
08.11.2025 16:12 β π 0 π 0 π¬ 1 π 0I can always stay in swift 5, but I just think it's a good idea to learn the new stuff.
Anyway, thank you so much for your help. Really appreciate your time. π
Maybe I'm an idiot, but what if I keep using Swift 5?
Yes, Swift 6 is supposed to help make concurrency safer, but it definitely comes with its own challenge. And also, my apps are generally small apps anyway.
making the extension nonisolated fixes it. Gosh! I could never guess this is an issue.
And sadly, this is what I refer to in my original post. I didn't have this concurrency issue before but now I do.
this is where my lack of knowledge on concurrency is causing me trouble.
1. How do you know it will run on background thread?
2. I'm going to read up on when to use the @.Sendable closure. This is a blur right now.
3. Things like this, I really expect the compiler to help spot the issue.
you mean... something like this?
08.11.2025 15:19 β π 0 π 0 π¬ 0 π 0I don't know if this is the root cause or not, but I see this file as part of the trace. What do you think?
I just want a convenient method where I can initialize a Color that adapts to both light and dark.
I see... Got it.
08.11.2025 14:53 β π 1 π 0 π¬ 0 π 0Hmm... I'm struggling to read the backtrace. If it's something to do with my code, it normally points me to where it originates from. But I can't seem to find any.
And what you say about missing @.Sendable, it sounds to me like something a compiler could catch. No?
2. Honestly, I'm not sure what's wrong. The error is related to AsyncRenderer, which is related to UI. However, I didn't do anything apart from trying to fix all the errors after switching to Swift 6.2. Xcodes doesn't point to where causing the error, so I'm trying to comment out code to find out.
08.11.2025 14:31 β π 2 π 0 π¬ 1 π 01. Both Approachable Concurrency and default MainActor. It's 2 separate settings, but I'm under the impression that setting both is the norm now. Right?
08.11.2025 14:31 β π 1 π 0 π¬ 2 π 0I refer to the Swift 6.2 (approachable concurrency). Honestly, the main issue is me. My knowledge on concurrency is limited. And someway somehow, after I fix all the errors and the code compiles again, I get error with thread that doesn't happen on Swift 5.
08.11.2025 04:36 β π 0 π 0 π¬ 1 π 0