Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Viktor Rutberg

@vrutberg@masto.nu
mastodon 4.7.3
  • Open on masto.nu

iOS developer. I press keys in intricate patterns to make screens of pocket computers behave in peculiar ways. Girl dad. I tweet in 🇬🇧 and 🇸🇪.

27 Followers
104 Following
19 Posts
Joined December 18, 2022
Open post
Viktor Rutberg @vrutberg@masto.nu
· 7mo ago

I’ve been putting off migrating my Combine stuff to AsyncStream, simply because I know how the Combine stuff works (and it works well), but I thought I would start now.

I’m about to replace a CurrentValueSubject having multiple downstream subscribers with an AsyncStream. Am I missing something obvious, or is this difficult with AsyncStreams?

#iosdev #swift

masto.nu

masto.nu

3
5
1
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 5mo ago

The app I have been working on as a solo developer for the past 2½ years has recently been featured in the App Stores of South America, Southeast Asia, and now Canada! Woo!

https://apps.apple.com/us/story/id1879808653

apps.apple.com
1
1
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 7mo ago
Replying to
@ole@chaos.social @mattiem@mastodon.social Ooh, thanks for sharing. I’ve been lurking around on the Swift Forums but missed this thread.
2
0
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 5mo ago

How are people writing their UI tests for iOS these days? I've used KIF earlier with great results, running UI tests in-process greatly simplifies things. It feels dated through, and bringing in KIF now would feel like a risk. Any alternatives? #iosdev #ios

masto.nu

masto.nu

1
2
1
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 5mo ago
Replying to
@simonnickel@mastodon.social I would avoid macOS 26.4 if you are using SwiftUI previews! https://developer.apple.com/forums/thread/820635
developer.apple.com
1
2
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 5mo ago
Replying to

Is it just me, or has the quality in Swift/Xcode/Simulator had a terrible streak lately?

  • Emojis broken on iOS simulator 26.3 runtimes
  • Release builds broken in Swift 6.3
  • Previews are broken on macOS 26.4
1
4
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 6mo ago

PSA: There’s seems to be a regression in the Swift 6.3. compiler, causing crashes when running optimized code on device.

I stumbled upon it while testing this week’s app update, reverted to building with Xcode 26.3 for now.

Links:

https://github.com/swiftlang/swift/issues/87481
https://github.com/firebase/firebase-ios-sdk/issues/15974

github.com
1
0
2
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 7mo ago
Replying to
@mattiem@mastodon.social Oh, cool, I’ll have to check that out, thanks! I suppose going from Combine to AsyncStreams is more than just simply “migrating from Combine to AsyncStreams”, it’s also an architectural migration, which I honestly didn’t (but should’ve?) understand at first.
1
3
1
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 8mo ago

Whisper these words to an iOS developer in their sleep and they’ll start having nightmares:

"SwiftUI, UIViewControllerRepresentable, safe area, UINavigationController, contentInsetAdjustmentBehavior, UIScrollView”

#iosdev

masto.nu

masto.nu

1
1
1
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 8mo ago

As a solo developer it can be hard to justify taking the time to deep dive into a bug report, but often times I feel like it’s still worth it. If just one user reported the bug, how many users experienced it without reporting it?

Even if I don’t manage to fix the bug, maybe I realize that I need more logging to fix it in the future, or I learn something which will help me fix it the next time a similar issue appears.

1
0
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 8mo ago
Replying to

Setting contentInsetAdjustmentBehavior = .never fixes the tap issue, but it also puts the table view content under the top safe area (under the navbar). So now I’m looking into implementing this manually instead. Sigh!

0
2
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 8mo ago
Replying to

It seems like I finally found a working solution after a lot of back and forth with Codex. It just gave me different solutions that were broken in one way or another, before I eventually gave up and came up with a solution for myself (yay! AI! 😒).

  1. Set tableView.contentInset to view.safeAreaInset in viewSafeAreaInsetsDidChange
  2. Set tableView.contentOffset once in viewDidLayoutSubviews
0
1
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 11mo ago
Replying to
@Catfish_Man Wow, to be honest, this has never even crossed my mind. But now I feel like it should have. :-) In “everyday code”, how much of a practical efficiency win is this? I suppose in code that is more algorithmic in nature (needs to be as efficient and performant as possible), I imagine this could have a real impact, but otherwise?
0
1
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 7mo ago

Ugh, my app has been stuck in App Review for over a week now because the reviewer can’t find the Delete Account feature, even though it’s included in ‘Notes for App Review’, *and* I’ve replied to their two rejections telling them where to find this feature in the app.

0
0
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 7mo ago

@Cyberbeni@mastodon.art Of course, you are right! Initially I, somewhat naïvely, thought those two systems were more similar than what they are.

The sentiment around Combine tends to be that it’s stagnant, soon-to-be (or even de facto) deprecated, and that one should move away from it ASAP. But maybe that’s not completely right, if it’s successor seemingly doesn’t support all the same use cases.

0
0
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 8mo ago

@overenginerd@mastodon.social

0
0
0
0
Open post
Viktor Rutberg @vrutberg@masto.nu
· 5mo ago
Replying to
@simonnickel@mastodon.social Oh, this setting has completely passed me by. I will give it a try!
0
0
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 03:10:37 UTC