Sign in

Florian

@typ0genius.com
476 followers 50 following 1K posts

CS Student & Indie Dev 2x  Swift Student Challenge Winner 👀 Explore SwiftUI exploreswiftui.com 🧙ConnectWizard @connectwizard.app 🐳 WhaleDeck @whaledeck.app 📊 Umami Manager apple.co/40MP50F

PostsRepliesMedia
Florian @typ0genius.com · 23/09/2026
Things that keep me awake at night: the sheet corner radius on iOS 27. Can someone at @Apple please fix this? 😭 FB24902633 #iOSDev #SwiftUI
130
Florian @typ0genius.com · 21/09/2026
iPhone Duo is coming to Explore SwiftUI, and I think it’s the most useful page I’ve ever made. Against all this AI slop, I think this will be the best way to truly experience and optimize how old, familiar, and new elements behave on such a complex device. #iOSDev #SwiftUI
191
Florian @typ0genius.com · 18/09/2026
Today, I gave my first-ever talk, opening day two of #nsspain2026. Thanks for being such a welcoming audience! (Photo taken before the doors opened – there were more than two people, I promise)
131
Florian @typ0genius.com · 16/09/2026
I’m now on my way to @nsspain.bsky.social. Let’s hope my 14+ hours of travel go according to plan. See you there!
040
Florian @typ0genius.com · 14/09/2026
Apparently, I am committing a crime in Swift
100
Florian @typ0genius.com · 10/09/2026
Holy. macOS 26.6.2 to macOS 27 RC is a whopping 31 GB update on my M5 MBP.
030
Florian @typ0genius.com · 05/09/2026
Having fun with RealityKit
030
Florian @typ0genius.com · 04/09/2026
While working on new content for ExploreSwiftUI, I found that neither separator/background customization nor concentricity works with forms on macOS, while both work on other platforms. Is there another way to achieve this with SwiftUI on macOS? FB24553047 #iOSDev #SwiftUI
240
Florian @typ0genius.com · 03/09/2026
TIL: You can also apply buttonBorderShape to pickers. Combined with the .tabs picker style, you get the same rounded, glassy picker style on macOS as on iOS. Thanks to the SwiftUI team for pointing that out in response to my feedback! #iOSDev #SwiftUI
140
Florian @typ0genius.com · 02/09/2026
If you want to build for Apple Silicon only while keeping a lower deployment target, click Other and change $(ARCHS_STANDARD) to arm64. Then confirm the change by selecting Build, not Update and Build. In my case, this reduced the archive size from 112 MB to 72 MB.
020
Florian @typ0genius.com · 02/09/2026
In case you were curious after yesterday’s Apple announcement regarding Intel support: As long as your architecture is set to Standard Architectures in the Build Settings for your target and the deployment target is lower than macOS 27, Intel support will still be included.
110
Florian @typ0genius.com · 30/08/2026
This prints true for every comparison, so what am I missing? FB24576359
010
Florian @typ0genius.com · 30/08/2026
Although it’s Sunday, can anyone help my smooth brain figure out the new OS 27 visibilityPriority modifier? Shouldn’t 1 and 2 disappear first? #iOSDev #SwiftUI
160
Florian @typ0genius.com · 27/08/2026
Look at my new app icon with cobwebs. /s I think draft one can be declared a failure. These do not look like app icon stickers. #iOSDev
131
Florian @typ0genius.com · 25/08/2026
Your app icons as stickers. Not a static set, the icons are automatically pulled from my App Store developer page.
020
Florian @typ0genius.com · 25/08/2026
Also, the sample code for “Integrating your calendar app with Apple Intelligence” and “Integrating your photo app with Apple Intelligence” have been updated. The changes are negligible. developer.apple.com/documentatio... developer.apple.com/documentatio...
021
Florian @typ0genius.com · 18/08/2026
This guy visionOSes! Thank you very much! 🤩
110
Florian @typ0genius.com · 18/08/2026
The thing that’s holding me back from adding #visionOS support to Explore SwiftUI is the simulator. Is there a reliable way to always have the same zoom, camera, and window position in the preview? #iOSDev #SwiftUI
130
Florian @typ0genius.com · 11/08/2026
👀 #SwiftUI
050
Florian @typ0genius.com · 08/08/2026
Why is the Shortcuts app perfectly capable of doing this while Siri AI is not? 😭 What’s the difference between Siri AI and on-device Apple Intelligence in the Shortcuts app?
010
Florian @typ0genius.com · 07/08/2026
But now our Dialog contains the same information as the View. Changing it to "Here is your cat" leaves AirPods users in the dark, since they can’t see the View. Thankfully, Apple has us covered: use IntentDialog(full:supporting:), with supporting read aloud alongside the View.
110
Florian @typ0genius.com · 07/08/2026
With our Get Cat intent working, it’s time to give Siri's answer a face. This is pretty straightforward: simply include a View in the result that displays our entity. The View appears both inside and outside the Siri app. #iOSDev #SwiftUI
110
Florian @typ0genius.com · 07/08/2026
The only way to fix this seems to be to implement a custom parameterPresentation with a custom OptionsCollection. However, this breaks my other shortcuts that don't have such a custom implementation, as they suddenly disappear from the Shortcuts app. Meh. FB24201400
000
Florian @typ0genius.com · 07/08/2026
I've noticed an annoying flaw with those parameterized entity shortcuts: they all have the same name as the entity. This makes it difficult to distinguish in Spotlight which result is the shortcut and which is the indexed entity.
110
Florian @typ0genius.com · 05/08/2026
A few attempts later, Siri still did not know the cat’s gender. Maybe I also needed to return the actual entity? So I updated the intent’s perform method to conform to ReturnsValue and return the entity. Unfortunately, Siri did not get any smarter. Hmm, what am I missing?
010
Florian @typ0genius.com · 05/08/2026
To investigate further, I added a hard coded gender property to CatEntity and marked it with the @Property wrapper. According to Apple’s documentation, property wrappers mark the properties you want the system to use: developer.apple.com/documentatio...
100
Florian @typ0genius.com · 05/08/2026
So I closed Gadse to stop Siri from reading the screen and asked again. This time, she answered “eight hours ago.” When I asked why, Siri said she had calculated it from a screenshot taken at 10 a.m. That would have been six hours earlier, not eight.
100
Florian @typ0genius.com · 05/08/2026
I opened Gadse to investigate and asked Siri how she got that answer. Apparently, she read the five minute value from one of my screenshots instead of using the entity’s properties.
100
Florian @typ0genius.com · 05/08/2026
Now I was hooked. Could Siri AI tell me when my cat was last petted using my new property? Apparently, yes. But the answer, five minutes ago, was wrong.
100
Florian @typ0genius.com · 05/08/2026
After far too many tries, I convinced old Siri to tell me more about my cat Cinnamon. Unlike Siri AI, she stuck exactly to the dialog I had defined. So apparently, Siri AI tries to make dialogs containing values sound more natural than old Siri did. Nice!
100
Florian @typ0genius.com · 05/08/2026
If you look closely, the displayed dialog does not fully match the one defined in the intent. Siri adds phrases like “classified as” or “described as” before the weight. Is this more natural behavior new with Siri AI?
100
Florian @typ0genius.com · 05/08/2026
If you look closely, the displayed dialog does not fully match the one defined in the intent. Siri adds phrases like “classified as” or “described as” before the weight. Is this more natural behavior new with Siri AI?
100
Florian @typ0genius.com · 05/08/2026
Interestingly, when I trigger the intent using one of the parameterized phrases, Siri only reads the dialog aloud. The response is not displayed on screen. Can anyone help me understand why?
100
Florian @typ0genius.com · 05/08/2026
However, the intent did not return anything when I asked Siri. To fix that, I added an IntentDialog containing the cat’s name, birth date, and weight. Siri now displays and speaks the dialog.
100
Florian @typ0genius.com · 05/08/2026
With Gadse’s new features in place, it is time to let Siri AI flex its muscles. As a starting point, I added a simple GetCatIntent with parameterized phrases to retrieve information about my cats. #iOSDev
100
Florian @typ0genius.com · 05/08/2026
Good morning! To add a bit of complexity to Gadse, I’ve added two new features. First, each cat now has a weight that can be edited at any time. Second, you can now pet a cat for X minutes. #iOSDev #SwiftUI
031
Florian @typ0genius.com · 04/08/2026
With updateAppShortcutParameters, I can now see all my beautiful kittens in the Shortcuts app. To make them easier to recognize, I replaced the generic cat symbol in displayRepresentation with each cat’s image. When Siri works, I can now open my cats directly using the phrase.
100
Florian @typ0genius.com · 04/08/2026
I initially suspected that not implementing EnumerableEntityQuery/allEntities or not declaring the cat’s name as a property had caused all the trouble, but neither was the issue. The problem was that I wasn’t calling MyShortcutsProvider.updateAppShortcutParameters at launch.
100
Florian @typ0genius.com · 04/08/2026
You may have noticed that the result in Spotlight isn’t very visually appealing. We can easily fix that by defining a custom attributeSet in our AppEntity. By the way, tapping the result automatically opens the cat in the app using the OpenIntent we defined earlier 🪄
110
Florian @typ0genius.com · 04/08/2026
The next step for Gadse is to make my cats discoverable via Spotlight. This is quite easy: I index the AppEntity instances using CSSearchableIndex.indexAppEntities. The method adds new entities and updates existing ones. To remove entities from the index, use deleteAppEntities.
130
Florian @typ0genius.com · 04/08/2026
Oddly, the phrase is unreliable on OS 27. It sometimes reports that in-app search is unsupported, which is correct. More on that later. FB24148994. Replacing the app name with target to open the cat by name does not work. The phrase must include the app name.
000
Florian @typ0genius.com · 04/08/2026
I’ve now added an AppEntity, an OpenIntent, and a phrase to my AppShortcutsProvider. I can now say “Open cat in Gadse,” and Siri asks me which one to open. This works with both the old Siri and Siri AI. Maybe there’s also a way to simply say “Open ${catName}”?
100
Florian @typ0genius.com · 04/08/2026
For now, you can only view an overview of your cats and add new ones. To speed up prototyping, you can generate cats using Foundation Models and get cute kitty pictures from cataas.com.
100
Florian @typ0genius.com · 01/08/2026
As has happened several times before, I noticed a bug while creating new content. This time, I noticed that the Subscribe button on tvOS has been unreadable since at least tvOS 26. FB24104261
011
Florian @typ0genius.com · 09/07/2026
If you're annoyed that App Store Connect is down again, give @connectwizard.app a try! Not only is your synced App Store Connect data stored locally, keeping it completely private, but it also unlocks insights and data you've probably never seen before. #iOSDev
000
Florian @typ0genius.com · 08/07/2026
I am going completely insane. Why isn't Siri AI even able to find and run my app shortcut? 😭 Help!
000
Florian @typ0genius.com · 08/07/2026
Stats in @connectwizard.app are getting a major upgrade soon. You’ll be able to switch between different visualizations, toggle between absolute and relative values, and finally apply filters – just like in the raw data view. #iOSDev #SwiftUI
120
Florian @typ0genius.com · 03/07/2026
First time seeing Explore SwiftUI mentioned in Google’s AI Overview 👀 Looking at the OG image, I should probably improve it so it actually shows part of the screenshot. More content coming this weekend. #iOSDev #SwiftUI
060
Florian @typ0genius.com · 26/06/2026
Here’s another fun case of #SwiftUI not working the same way on macOS as on iOS: listRowBackground in a grouped form works on iOS, but does absolutely nothing on macOS. Why? 😭 FB23411911 #iOSDev
160
Florian @typ0genius.com · 25/06/2026
To all the #SwiftUI experts out there: What’s the proper way to give a menu in the toolbar a background tint on macOS? I only got it working using this mess. Applying .menuStyle(.button) and then treating it as a button doesn’t work. #iOSDev
230