Axel Le Pennec

@alpennec.com

Indie app developer (Apple platforms) from Paris, France 🇫🇷

When conforming to DeleteIntent, is there a way to show the plural form of the entity ("Books" vs "Book") in the Shortcuts app? DeleteIntent requires an AppEntity array, but it ignores the parameter title and instead uses the entity typeDisplayRepresentation (which is singular).

Bild

I don’t get why I need to connect external coding agents (OpenAI Codex, Claude Agent, etc.) in Xcode instead of using Apple Intelligence with Private Cloud Compute 🤔 Turning your $99/year Apple Developer Program fee into a monthly subscription could be a real cash machine 🤑

We can't drag and drop files to DeviceHub as we used to be able to using Simulator? It was quite handy to import files into apps (onOpenURL) 😒 FB: FB23368633

App Intents question (again 😅): I notice that some "Find" intents allow to choose specific related items when filtering (e.g. an album when searching for a photo or an author when searching for books) instead of a textfield. How's that done? What drive the available choices?

BildBild

Fixed 😮‍💨 I had to change the extension minimum deployment from iOS 26 to iOS 18.6 (it was not set automatically when I added the widget extension). But then I had other issues about invalid widget kinds that were not in the scheme's Environment Variables... Cleaning solved it.

Axel Le Pennec@alpennec.com · last mo.

I'm trying to run the basic widgets extension template from Xcode on a physical device (iOS 18.7.9) but it fails. I tried rebooting my device twice. I tried using Xcode 26.6 too, same issue. I don't know what to do to get it work...

I'm trying to run the basic widgets extension template from Xcode on a physical device (iOS 18.7.9) but it fails. I tried rebooting my device twice. I tried using Xcode 26.6 too, same issue. I don't know what to do to get it work...

Bild

With “Find…” actions in Apple #Shortcuts, is there a way to specify only the date part (not the time) for a filter? I now I can omit the time part in my app’s queries but it’s not very intuitive for a user in my opinion. Asking for a friend implementing #AppIntents.

Bild

Is there a way in #SwiftUI to detect when a sheet is being dismissed by a user to present a confirmationDialog in case of unsaved changes, as recommended by Apple HIG about Sheets? In UIKit, we can use the presentationControllerDidAttemptToDismiss method. Feebdack: FB22777840

BildBild

So it seems if there is a confirmation action associated with the cancellation action, we should put the cancellation at the leading edge (what iOS has been doing for ages). But if it’s just a close button in the toolbar, we should put it at the trailing edge, like what Apple seems to be doing.

Axel Le Pennec@alpennec.com · 3mo ago

But some people on X pointed that Apple doesn’t respect this guideline. Or maybe a “Close” behaves differently than a “Cancel”? 🤔 What’s Apple stake on this @mikestern.bsky.social? Could you please specify in the Apple HIG if this is valid for both Close and Cancel? Thanks! x.com/vistar941/st...

Flo found an alternative to the free trial toggle on its paywall that seems compliant with Guideline 3.1.2 😮 It replaced the toggle by a “Not sure yet? Start a free trial” button that selects the offer with the free trial while presenting a sheet with all subscription options.

Bild

The solution is to use .compositingGroup() on the SwiftUI Menu 🎉 Thanks to @saschagordner.de who pointed me to a StackOverflow answer about the exact same issue: stackoverflow.com/a/79884587 Documentation about compositingGroup: shorturl.at/btdM6

Axel Le Pennec@alpennec.com · 4mo ago

Any idea how to fix this Liquid Glass visual bug? In my app, I have a #SwiftUI Menu that presents an overlay over the whole view. But the Menu stays visible for a short period of time until it goes below the overlay 🫤 Works fine on iOS 17/18. Code: gist.github.com/alpennec/31e...

Dear SwiftUI, can you please fix the regressions you introduced on iOS 26? FB22043999 In my View, I read the dismiss value from the Environment. Whenever a Menu or Picker is opened, the View body is re evaluated 🤷🏻‍♂️ This unexpected behaviour doesn't happen on iOS 18.5 🙃

Lately, I’ve often had to approve transactions in my banking app when making in-app purchases (even free trial). It asks for approval even if I approved another purchase just a few minutes earlier. I wonder whether this added friction hurts conversion rates 🫤 Have you experienced this as well?

BildBild