Florian @typ0genius.com · 23/09/2026Things 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/2026iPhone 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/2026Today, 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/2026I’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 · 10/09/2026Holy. macOS 26.6.2 to macOS 27 RC is a whopping 31 GB update on my M5 MBP. 030
Florian @typ0genius.com · 04/09/2026While 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/2026TIL: 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/2026If 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/2026In 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/2026This prints true for every comparison, so what am I missing? FB24576359 010
Florian @typ0genius.com · 30/08/2026Although 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/2026Look 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/2026Your 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/2026Also, 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/2026The 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 · 08/08/2026Why 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/2026But 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/2026With 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/2026The 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/2026I'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/2026A 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/2026To 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/2026So 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/2026I 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/2026Now 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/2026After 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/2026If 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/2026If 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/2026Interestingly, 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/2026However, 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/2026With 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/2026Good 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/2026With 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/2026I 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/2026You 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/2026The 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/2026Oddly, 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/2026I’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/2026For 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/2026As 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/2026If 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/2026I 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/2026Stats 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/2026First 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/2026Here’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/2026To 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