Axel Le Pennec
banner
alpennec.com
Axel Le Pennec
@alpennec.com
Indie app developer (Apple platforms) from Paris, France 🇫🇷
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à! ✨
November 14, 2025 at 10:52 AM
App Store on the web 🤩

Of course the first thing I do is check is if we can get the ranks for a given keyword 😂

But a search only provides up to 12 results as static HTML, so I’m not sure we can get more ranks for a given keyword…

Wdyt? Let me know!

apps.apple.com
November 3, 2025 at 8:03 PM
Reposted by Axel Le Pennec
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! 🤪
November 2, 2025 at 8:00 AM
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! 🤪
November 2, 2025 at 8:00 AM
Maybe AI + being online 24/7 emphasized my impatience, and having faster reviews wouldn’t fundamentally change a lot 🤷🏻‍♂️

But I would definitely love if we had more visibility with a “review queue”, though it probably wouldn’t work with how the review process is done by Apple 🤔
Apple, we don't need 2x more Custom Product Pages for our apps 🙅🏻‍♂️

We need 10x faster review times instead 🚀

A Product Page Optimization I created has been waiting for review for 48 hours. 2 days! 😱

I’m not sure how increasing the number of CPPs helps improve this situation…
November 2, 2025 at 7:22 AM
Apple, we don't need 2x more Custom Product Pages for our apps 🙅🏻‍♂️

We need 10x faster review times instead 🚀

A Product Page Optimization I created has been waiting for review for 48 hours. 2 days! 😱

I’m not sure how increasing the number of CPPs helps improve this situation…
November 1, 2025 at 9:04 AM
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.
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.
October 31, 2025 at 4:21 PM
Reposted by Axel Le Pennec
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!
October 30, 2025 at 6:37 PM
Reposted by Axel Le Pennec
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.
October 30, 2025 at 5:36 PM
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!
October 30, 2025 at 6:37 PM
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.
October 30, 2025 at 5:36 PM
Reminder: the “Optimize your app’s speed and efficiency” session by Apple is starting in 40 minutes!

I hope I’ll be able to watch it live as I’m not sure there will be any recording available for replay 🤔

developer.apple.com/videos/play/...
Optimize your app’s speed and efficiency - Meet With Apple - Videos - Apple Developer
Join us online to learn how to elevate your app experience by maximizing performance and resolving inefficiencies. Whether you're...
developer.apple.com
October 30, 2025 at 4:20 PM
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”?
October 24, 2025 at 12:09 PM
Reposted by Axel Le Pennec
Best hack I’ve ever seen to make a soft paywall look hard 🤯

Just hide the close “X” inside a whiteboard full of math symbols 😂
October 20, 2025 at 11:34 AM
Best hack I’ve ever seen to make a soft paywall look hard 🤯

Just hide the close “X” inside a whiteboard full of math symbols 😂
October 20, 2025 at 11:34 AM
Reposted by Axel Le Pennec
Oh is that actually fixed on iOS 26.1 beta 2 (23B5059e)?! 😅
October 18, 2025 at 1:26 PM
Reposted by Axel Le Pennec
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 🥳
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?
October 18, 2025 at 4:45 PM
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 🥳
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?
October 18, 2025 at 4:45 PM
Oh is that actually fixed on iOS 26.1 beta 2 (23B5059e)?! 😅
October 18, 2025 at 1:26 PM
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…
October 18, 2025 at 12:26 PM
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?
October 17, 2025 at 2:47 PM
Solution ⬇️

buttonStyle(.glass) = .glassEffect(.regular.interactive(), in: .circle)
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 😞
October 17, 2025 at 1:08 PM
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 😞
October 17, 2025 at 12:21 PM
Sometimes App Store Connect Product Page Optimization gives nice results 🤩

Conversion rate +19.51% 💪🏻

It took 1 month and 10K total impressions to get at least 90% confidence level (it probably could have been faster with only 2 variants, ie one treatment).
October 15, 2025 at 8:55 AM
Reposted by Axel Le Pennec
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.
October 9, 2025 at 7:35 AM