Sign in

Axel Le Pennec

@alpennec.com
402 followers 128 following 753 posts

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

PostsRepliesMedia
Axel Le Pennec @alpennec.com · 15/07/2026
Maybe but it doesn't make sense to me that we can't use it on a NavigationStack to adjust the margins of the NavigationStack content.
000
Reposted by Axel Le Pennec
Axel Le Pennec @alpennec.com · 14/07/2026
In #SwiftUI, how to have a content always visible at the bottom of the screen (like the Apple Music mini player or an onboarding "next" button)? safeAreaInset/safeAreaBar modifier on a NavigationStack does not update the stack content inset. FB23732628 github.com/feedback-ass...
201
Axel Le Pennec @alpennec.com · 14/07/2026
In #SwiftUI, how to have a content always visible at the bottom of the screen (like the Apple Music mini player or an onboarding "next" button)? safeAreaInset/safeAreaBar modifier on a NavigationStack does not update the stack content inset. FB23732628 github.com/feedback-ass...
201
Axel Le Pennec @alpennec.com · 14/07/2026
Thanks, I would appreciate if you could duplicate my feedback so it gets weight in Apple system.
100
Axel Le Pennec @alpennec.com · 12/07/2026
Thanks. I’m trying to have a smooth row transition but I think it’s an iOS 26 regression still visible in iOS 27. It’s visible with a basic sample project that allows the user to move an item from one section of a List to another one. If you want to try it: github.com/feedback-ass...
github.com
FB23687733: SwiftUI List: Moving an item between List sections via swipeActions breaks row animations in iOS 26.5 and iOS 27b3 (Regression from iOS 18.6) · Issue #820 · feedback-assistant/reports
Submission Date 2026-07-11 Status Open Area SwiftUI Operating System Version iOS 27b3 Type Incorrect/Unexpected Behavior Description There is a visual regression in List row animations when an item...
110
Axel Le Pennec @alpennec.com · 10/07/2026
And of course it's working fine with UIKit in iOS 26 + iOS 27...
011
Axel Le Pennec @alpennec.com · 10/07/2026
Thanks for suggesting to check on iOS 18, it's working fine (iOS 17 too)... Do you have any suggestion? How to us the withTransaction? Thank you! bsky.app/profile/alpe...
100
Reposted by Axel Le Pennec
Axel Le Pennec @alpennec.com · 10/07/2026
Ah, obviously it's working fine on iOS 17 and iOS 18 🙈 And the issue appeared with iOS 26. So another regression it seems 🫤
111
Axel Le Pennec @alpennec.com · 10/07/2026
Ah, obviously it's working fine on iOS 17 and iOS 18 🙈 And the issue appeared with iOS 26. So another regression it seems 🫤
111
Axel Le Pennec @alpennec.com · 09/07/2026
I filed a feedback FB23661327 and posted on Apple Developer forums: developer.apple.com/forums/threa...
100
Axel Le Pennec @alpennec.com · 09/07/2026
Thanks for suggesting. I already tried that, it needs about 1s… a bit too much in my opinion.
000
Axel Le Pennec @alpennec.com · 09/07/2026
Is there a way to avoid the #SwiftUI List jumping when using a swipeAction that inserts/removes the same item in the List ("Favorites" section) while keeping the original item in the List? The animation is smooth if I perform the same action when tapping. Gist: gist.github.com/alpennec/f9d...
320
Axel Le Pennec @alpennec.com · 30/06/2026
Why? It's not always the case.
010
Axel Le Pennec @alpennec.com · 30/06/2026
It's back on iOS 27 😞 FB23500349
020
Axel Le Pennec @alpennec.com · 30/06/2026
An Apple Developer Tools Engineer confirmed we can't use a string catalog for this use case and we must use a .stringsdict file instead 🫡
140
Axel Le Pennec @alpennec.com · 28/06/2026
The solution is to translate the TypeDisplayRepresentation name in a .stringsdict file. For a DeleteIntent, it seems this is used instead of the @.Parameter title. See the "Accelerating app interactions with App Intents" sample code from Apple: developer.apple.com/documentatio...
010
Axel Le Pennec @alpennec.com · 28/06/2026
@mgorbach.name I posted my question and use case on Apple Forums here: developer.apple.com/forums/threa... And I also filed a feedback to get some guidances: FB23453134 Thank you!
developer.apple.com
AppIntents: how to present a searc… | Apple Developer Forums
000
Axel Le Pennec @alpennec.com · 28/06/2026
I filed this feedback FB23451186 @mgorbach.name 👋🏻
000
Axel Le Pennec @alpennec.com · 28/06/2026
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).
220
Axel Le Pennec @alpennec.com · 24/06/2026
Yeah I forgot that other companies aren't profitable yet except Google.
100
Axel Le Pennec @alpennec.com · 24/06/2026
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 🤑
200
Axel Le Pennec @alpennec.com · 24/06/2026
The CSSearchableItem(appEntity:) method is marked as iOS 18+ but my app crashes when it launches on iOS 18+, even if I wrap the lines in #if available(iOS 26, *). It works fine on iOS 26+. Any idea if that can be solved and how? Documentation: developer.apple.com/documentatio... cc @mgorbach.name
000
Axel Le Pennec @alpennec.com · 24/06/2026
Simulator regression summary 😭 - iOS 18.6: ✅️ - iOS 26.3.1: ✅️ - iOS 26.4.1: ✅️ Shortcuts & intents correctly run but only one suggestion is used to create the shortcuts❌️ - iOS 26.5: ❌️ No shortcuts created. Not possible to run shortcuts or intents. - iOS 27: ❌️ Same as 26.5.
030
Axel Le Pennec @alpennec.com · 24/06/2026
Apple, can you please explain why running Shortcuts & App Intents on an iOS 18 simulator works fine but fails miserably on iOS 26.4+ and iOS 27? Can you please fix that for this release cycle? Feedback: FB23342158 Project is a sample code from Apple: developer.apple.com/documentatio...
130
Axel Le Pennec @alpennec.com · 24/06/2026
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
020
Axel Le Pennec @alpennec.com · 24/06/2026
Thanks for answering Shawn. This is almost the same code that I have.
000
Axel Le Pennec @alpennec.com · 23/06/2026
IntentParameterDependency seems to be for another job. Filter an intent parameter (in the provider or AppEntity query) based on another intent parameter value if I understand correctly. Like if I select a country in an intent, show the list of cities for this country instead of all countries.
000
Axel Le Pennec @alpennec.com · 23/06/2026
Maybe, I'll have a look! Thanks. A "Find Books" app intent is created automatically because my BookEntityQuery conforms to Enumerable or PropertyQuery. I want to filter using an AuthorEntity. But I can't search the choices, it shows either suggestedEntities (too few) or allEntities (too much).
100
Axel Le Pennec @alpennec.com · 23/06/2026
cc @shawnhickman.me 👋🏻
100
Axel Le Pennec @alpennec.com · 23/06/2026
I tried with the attached code. Wdyt? It seems the available choices come from the suggestedEntities if implemented, then from allEntities (EnumerableEntityQuery). If suggestedEntities, there doesn't seem to be a way to choose something else. And allEntities could mean a lot!
200
Axel Le Pennec @alpennec.com · 23/06/2026
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?
210
Axel Le Pennec @alpennec.com · 22/06/2026
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.
000
Axel Le Pennec @alpennec.com · 22/06/2026
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...
000
Axel Le Pennec @alpennec.com · 22/06/2026
Why can I only search for an indexed item in Spotlight using the title or the displayName on iOS but I can search by any indexed attribute on macOS? 🤔 Is this a bug or expected? I also posted on Apple developers forums with a feedback (FB23317556): developer.apple.com/forums/threa...
010
Axel Le Pennec @alpennec.com · 18/06/2026
I don’t think it’s a good idea to run migrations from intents or queries because of RAM and other things. Apple doesn’t recommend that (see the answer to my question in the WWDC26 Group Lab) www.youtube.com/live/Sfl1uLm...
youtube.com
WWDC26: SwiftData Group Lab | Apple
YouTube video by Apple Developer
110
Axel Le Pennec @alpennec.com · 18/06/2026
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.
000
Axel Le Pennec @alpennec.com · 17/06/2026
I also have to make sure there is no required migration before using the NSPersistentContainer. How do you do that in your case? See my simplified code.
100
Axel Le Pennec @alpennec.com · 17/06/2026
Thank you Florian. I don't remember, when you use ModelContext(), does it run on the MainActor or not? For Core Data, I'm using newBackgroundContext on the NSPersistentContainer (passed as a Dependency).
100
Axel Le Pennec @alpennec.com · 17/06/2026
I'm looking for a sample #SwiftUI project using the AppIntents framework to read/write data from/to #CoreData (and/or #SwiftData). Do I use the AppDependencyManager thing? A database singleton? Do I use the main thread? A background thread/context? Any idea? Thank you!
120
Axel Le Pennec @alpennec.com · 28/05/2026
Mmm ok. First time I notice it (I login once per day at least).
010
Axel Le Pennec @alpennec.com · 21/05/2026
Oh you get rejected? Can you share the guideline(s) please?
000
Axel Le Pennec @alpennec.com · 14/05/2026
😩
010
Axel Le Pennec @alpennec.com · 14/05/2026
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
120
Axel Le Pennec @alpennec.com · 14/05/2026
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.
260
Axel Le Pennec @alpennec.com · 14/05/2026
Yep, case 2 is a “close”.
000
Axel Le Pennec @alpennec.com · 14/05/2026
This is the pattern I see yes. I need more examples of sheet with only a close option!
100
Axel Le Pennec @alpennec.com · 14/05/2026
Yes so it would be good to have a close ToolbarItemPlacement that would correctly position non-destructive actions.
000
Axel Le Pennec @alpennec.com · 14/05/2026
I don’t think the position is determined by the ButtonRole. If I use the cancel role for example, it’s also positioned on the trailing edge of the navigation bar. Which seems to be opposite to the cancellationAction ToolbarItemPlacement.
020
Axel Le Pennec @alpennec.com · 14/05/2026
It always puts the button on the leading edge. And Apple positions X button on the trailing edge. bsky.app/profile/alpe...
300
Axel Le Pennec @alpennec.com · 13/05/2026
Yup, but how best to combine the ButtonRole and the ToolbarItemPlacement? Because if you use a close role in a cancellation placement, the button is on the leading edge.
100