Axel Le Pennec
@alpennec.com
📤 379
📥 127
📝 674
Indie app developer (Apple platforms) from Paris, France 🇫🇷
Who A/B tested if localized prices actually bring more money or not at the end? I know it depends on the app but curious if it's worth checking. What test methodology have you used and what volume of data required to conclude? Do
@revenuecat.com
or
@superwall.bsky.social
have some insights? 👀
11 days ago
1
1
0
After the Swift SDK for Android, Swift in the browser with ElementaryUI 🤩 The best time to learn Swift was eleven years ago. The second best is now 😉
elementary.codes
19 days ago
0
7
0
Have you experienced this issue with your app accentColor not being respected, even without using Mixpanel? If I just and only access UIScreen.main.bounds in my App init, the accentColor is ignored. This page on SO gives other reasons like modifying UIAppearance:
stackoverflow.com/questions/71...
add a skeleton here at some point
about 1 month ago
0
0
0
TLDR about performances with Xcode Previews ⬇️ When you update: - an “inline” value: 🚀 - a stored property: 🐌 - a computed property: 🚀 So if you centralize your design constants at the top of a View for example, computed variables are the way to go 👌🏻
add a skeleton here at some point
about 1 month ago
1
2
1
I dug a bit more in this issue where my accentColor is ignored by my SwiftUI apps when I initialize Mixpanel in my App init (early but required). I noticed it's due to the SDK accessing UIScreen.main.bounds.size... My fix is to comment this line ⬇️ More:
github.com/mixpanel/mix...
add a skeleton here at some point
about 1 month ago
0
0
1
Confirmed by Apple 🫡
add a skeleton here at some point
about 1 month ago
0
11
2
One tip to speed up your SwiftUI previews 🤩 I wanted to centralize constants like opacity, spacing, or sizes used by my View to speed up prototyping. Stored properties: slow 🐌 as Xcode recompiles the file every time I tweak a value. Computed properties: instant updates 🏎️
loading . . .
about 1 month ago
2
10
2
SwiftUI AnyShapeStyle, yay or nay? 🤔 I've been using two foregroundStyle for my shaped view backgrounds: one with a Color (often a UIKit one: secondarySystemBackground) + another one with a HierarchicalShapeStyle. But we can get the same with AnyShapeStyle + BackgroundStyle.
about 1 month ago
0
2
0
Thanks Craig! 😉
add a skeleton here at some point
about 2 months ago
0
7
0
Apple, don't be surprised if developers don't file feedback anymore in Feedback Assistant. I take the time to file detailed feedback with steps, device details + screen recording to help improve things for everyone. Please, don’t reply to ask for things I’ve already provided...
about 2 months ago
0
4
1
A solution suggested by
@fatbobman.com
is to "duplicate" the top/bottom content: one hidden in the safeAreaInset of each page + one visible/interactive in an overlay of the parent/container View (ZStack). Of course it depends on the onboarding design. Gist:
gist.github.com/alpennec/2a3...
add a skeleton here at some point
2 months ago
0
1
0
I'm building a custom
#SwiftUI
navigation flow for an app onboarding but I'm having layout issues when moving from steps with/without safeAreaInset content to steps without/with safeAreaInset content. See blue frame. Any idea how to fix this? Gist:
gist.github.com/alpennec/e9c...
@fatbobman.com
loading . . .
2 months ago
1
1
1
SwiftUI has been released more than 6 years ago but you still have to use UIDatePicker.appearance() to set a minuteInterval other than the default 1 minute to a date picker 🤦🏻♂️ Maybe mesh gradients are more used 🤷🏻♂️
2 months ago
0
5
0
TIL that we can create custom attributes for AttributedString 🤩 It's very useful for styling text while respecting localization, especially when the styled segments change per language. I specify each attributed segment directly in my string catalog translation, and voilà! ✨
2 months ago
0
1
0
Oops!…I Did It Again 😬 I renewed my Apple Developer Program membership! Here’s to another year of learning, building, shipping, failing, sharing, succeeding and doing it all over again. Let’s go! 🤪
3 months ago
0
4
0
You have to run the app on a physical device. If you’re running it on a simulator, the option is disabled in Xcode. And it doesn’t seem to be available for macOS apps.
add a skeleton here at some point
3 months ago
0
0
0
TIL the @.Observable macro doesn't trigger updates for equatable properties starting with iOS 26. But for prior releases, we have to manually check equality for the object properties to improve our app performances. Thank you for the tip Steven!
3 months ago
1
11
3
TIL Xcode 26 has a View Debugging tool to show when a View is rendered called “Flash Updated Regions”. This seems very powerful and useful, I’ll make sure to débug my apps with that turned on.
3 months ago
1
9
2
How does localization work in Xcode for languages with regional variants? Can I just localize the “base” language (es, pt, fr)? For example, if I localize for Spanish, do I have to include also Spanish (Latin America) and Spanish (United States) or will it fallback to “es”?
3 months ago
1
0
0
To clarify, the issue I shared happens when a .glassEffect(.regular.interactive()) is used on a Button. A workaround for now is to disable the interactivity if a sheet is presented. But this bug doesn’t occur anymore on 26.1 beta 2 (23B5059e) so it seems Apple fixed it 🥳
add a skeleton here at some point
3 months ago
0
2
0
Oh is that actually fixed on iOS 26.1 beta 2 (23B5059e)?! 😅
add a skeleton here at some point
3 months ago
0
0
0
It turns out .glassEffect(.regular.interactive(), in: .circle) is actually buggy too 😱 Another shape appears when the button is touched & the finger is moved around 🤦🏻♂️ I only tested on a white background in light mode before but it’s clearly visible on a contrasting background…
add a skeleton here at some point
3 months ago
0
0
1
Sigh 😔 On iOS 26, the touch gestures from a sheet are propagated below it and play the liquid glass effect on the controls 🫤 Luckily, it doesn’t trigger the button actions… Is there a fix for that?
loading . . .
3 months ago
0
4
1
Solution ⬇️ buttonStyle(.glass) = .glassEffect(.regular.interactive(), in: .circle)
add a skeleton here at some point
3 months ago
0
2
1
Is it possible to replicate the style of a liquid glass toolbar button in
#SwiftUI
? Using buttonStyle(.glass) + buttomBorderShape(.circle) shows another circle within the button when touched 🫤 And glassEffect(in: .circle) doesn’t render the same visual effect when touched 😞
loading . . .
3 months ago
0
1
1
Apple pulled Indie App Santa from the App Store in September 2025 😱 Lately, it warned developers running Apps Gone Free campaigns… And removed apps buying keyword installs or ratings/reviews! Apple is clearly cracking down on apps that manipulate or influence the App Store.
4 months ago
3
6
1
In SwiftUI, clipShape and shape + stroke don’t give the same result 🫤 Is there a way to have the same radius when clipping is required?
4 months ago
1
3
0
If only there was an option to compare side by side iOS 18 vs iOS 26 (Liquid Glass) in Xcode Previews instead of having to manually switch between simulators… 🤔 FB20482528
4 months ago
0
2
0
Want to have a sheet "zoom out" of toolbar buttons in iOS 26 instead of sliding up from the bottom of the screen? Two SwiftUI ways: 1. ZoomNavigationTransition (sheet content) + matchedTransitionSource (button) 2. .popover (button) + .presentationCompactAdaptation(.sheet) ➡️ see below for video
loading . . .
5 months ago
1
8
1
PSA: in iOS 26, use the new SwiftUI safeAreaBar modifier instead of safeAreaInset to get the progressive blur at the top/bottom of a scroll view with custom content. Handy if you want bottom content without a tab bar or system toolbar for example. Link to the documentation ⬇️
loading . . .
5 months ago
1
5
1
I wish we could customise the charts in an app overview on App Store Connect Analytics 🔮 - Unique Device Impressions - Proceeds per Download (CPA est.) - Active Paid Subscriptions - Subscription Retention Rate - Introductory Offer Conversion Rate What would you like to see? 🤔
5 months ago
1
1
0
Be careful if you’re using the localizedDescription of an in-app purchase subscription period in your paywall UI… With an Xcode StoreKit configuration file, a weekly subscription has a period of “1 Week” ➡️ 4.99/week is displayed. In Sandbox (and real App Store), it’s “7 Days” ➡️ 4.99/day 🚨
6 months ago
0
3
0
A friend sent me an ips file for my app. When symbolicating it using the dSYM from the archive, is that expected some lines are still desymbolicated? Like SwiftData? Is there a trick? I tried to used Xcode "Devices and Simulators" to open the crash with the project but it fails (see screenshot).
6 months ago
0
3
0
Not one, not two, but three App Store shortcuts! 🤩 I’ve created a small webpage to host them all because iCloud links don’t update when I make changes. Plus, I fixed the bug where parsing sometimes failed 🥳 Make sure to grab the latest versions! Link to the webpage below 🧵
6 months ago
1
0
0
If you use
@mixpanel.com
in a SwiftUI app, read carefully 🚨 Does your app’s accent color defaults to blue in various places? Check if you've enabled automatic event tracking 🤯 And disable it NOW! It took me so long, I'm sooooo happy I finally found the reason! 🎉 More below ⬇️
6 months ago
1
1
1
Hooray! Keywords for custom product pages are now available on App Store Connect! 🤩 Looks like it’s time to: 1. Start mass-producing app screenshots (with AI?!) 2. Stuff them with our beloved app keywords 3. See how the App Store algorithm reacts 😂 Do you plan to use them?
6 months ago
2
2
0
I hope the new
@revenuecat.com
switch component will fix all these paywalls that wrongly show a trial being available when it's not 😱 It's easy to check trial eligibility with checkTrialOrIntroDiscountEligibility(productIdentifiers:) and update the UI. PS: I love this paywall too! 🫶🏻
6 months ago
1
1
0
I hope the new
@revenuecat.com
switch component will fix all these paywalls that wrongly show a trial being available when it's not 😱 It's easy to check trial eligibility with checkTrialOrIntroDiscountEligibility(productIdentifiers:) and update the UI. PS: I love this paywall too! 🫶🏻
6 months ago
1
0
0
State of Apple documentation in 2025 😞 10 lines of codes, 3 compilation errors... Good luck training your LLMs 🤣 I'm curious to know if someone has actually tried to build this code in Xcode!? Oh, and by the way, Apple, I fixed it for you 🫶 FB19091882
6 months ago
3
6
0
6 months ago
1
1
0
I enjoy using
#SwiftData
until I have to use a RawRepresentable (String or Int) enum in a Predicate. Any tips to share? Should I only store the enum RawValue instead of using the Enum type?
6 months ago
3
2
0
Emojis in app names? 🤔 The US App Store suggests a search term with a snake emoji but I couldn't find any app with it in its name (yet?) 🐍 Have you already seen that?
6 months ago
0
0
0
Apple did it! 🤩 It just prereleased the Retention Messaging API that lets developers display custom messages, special offers, or alternate plans during the cancellation flow. Big news for subscription apps! I can't wait to see
@revenuecat.com
support this! More below ⬇️
6 months ago
1
6
0
Here are the two endpoints to get the App Store keyword popularity: /recommendation: one optional keyword ➡️ popularity for related keywords. /popularities: multiple keywords ➡️ popularity for these exact keywords. PS: you need an Apple Ads cookie session in the request header.
6 months ago
1
3
1
Let me share you a little ASO tip 🎁 The keyword popularity provided by all ASO tools comes from... Apple Ads! You can view the 5–100 scores by just inspecting network requests. No need for Appfigures or Astro for that. In case you need a free way to check search volumes 👀
6 months ago
3
10
0
If you think churn is the end of the story… think again 🤓 Weekly plans are great for occasional users that just want short-term access from time to time.
6 months ago
0
3
0
TIL: many app publishers use paid keyword install campaigns to boost their App Store visibility. By driving installs for specific keywords, they improve conversion rates, which leads Apple to rank their app higher for those terms. Have you tried this tactic before? Pros and cons?
6 months ago
0
2
0
The new App Store algorithm in one picture 🤕 June was a rollercoaster 🎢 July feels a little bit more stable but rankings still haven’t recovered. Same for you?
7 months ago
0
4
0
😨 Is the App Store launch boost gone? New apps suggested in the search used to rank first for exact keyword matches. Lately, that doesn't seem to happen anymore, making ASO harder 😱 Have you noticed this with your apps?
#ASO
#AppStoreOptimization
#iosdev
#indiedev
7 months ago
1
7
1
I finally found how to get the keyword popularities using an app-specific password for an Apple account protected with 2FA. This allows to run the code completely server-side without never asking the user to provide a time-based one-time 6 digit code. Much much much better! 🤩
add a skeleton here at some point
7 months ago
0
1
1
Load more
feeds!
log in