{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Axel Le Pennec","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/alpennec@iosdev.space","_microblog":{"about":"https://micro.blog/about/api","id":"1303364","username":"alpennec@iosdev.space","bio":"Indie dev for Apple platforms (Swift & SwiftUI). Find me on X and Bluesky (@alpennec).","pronouns":"","is_following":false,"is_you":false,"following_count":0,"discover_count":0},"author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg"},"items":[{"id":"91151156","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@shinze\" class=\"u-url mention\">@<span>shinze</span></a></span> no. I just export as a JPEG then import the same exported file back into Figma and the colors are not the same (compression when importing a JPEG). But the exported jpeg is actually correct (same colors than with a png) when checking in Sketch or Previews.</p><p>I think it’s easy to test and reproduce.</p>","url":"https://iosdev.space/users/alpennec/statuses/116658507813697989","date_published":"2026-05-29T15:12:43+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-29 15:12","date_timestamp":1780067563,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"91145428","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@shinze\" class=\"u-url mention\">@<span>shinze</span></a></span> just for your information, it's an issue when importing the JPEG into Figma (compression).</p>","url":"https://iosdev.space/users/alpennec/statuses/116658048022181907","date_published":"2026-05-29T13:15:47+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-29 13:15","date_timestamp":1780060547,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"91145401","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@jamesthomson\" class=\"u-url mention\">@<span>jamesthomson</span></a></span> talking about iMessage: a better way to jump to an image in a chat when searching for images. I want to jump to the exact position in the thread where the image is located.</p>","url":"https://iosdev.space/users/alpennec/statuses/116658045867077748","date_published":"2026-05-29T13:15:14+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-29 13:15","date_timestamp":1780060514,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90728555","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@shinze\" class=\"u-url mention\">@<span>shinze</span></a></span> actually the issue is different. The export seems correct but when I import into Figma an exported JPEG, the colors are different. If I import the exported PNG, colors are the same.</p>","url":"https://iosdev.space/users/alpennec/statuses/116619810601197461","date_published":"2026-05-22T19:11:30+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-22 19:11","date_timestamp":1779477090,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90720013","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@shinze\" class=\"u-url mention\">@<span>shinze</span></a></span> I just checked. It was already this setting 🫤</p>","url":"https://iosdev.space/users/alpennec/statuses/116619366190629595","date_published":"2026-05-22T17:18:29+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-22 17:18","date_timestamp":1779470309,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90704249","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@shinze\" class=\"u-url mention\">@<span>shinze</span></a></span> oh maybe! I’ll check asap and let you know. Thank you!</p>","url":"https://iosdev.space/users/alpennec/statuses/116618354226499152","date_published":"2026-05-22T13:01:07+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-22 13:01","date_timestamp":1779454867,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90702699","content_html":"<p>My <a href=\"https://iosdev.space/tags/Figma\" class=\"mention hashtag\">#<span>Figma</span></a> file color profile is set to \"Assign to Display P3\". But when I export a frame (JPEG or PNG), some colors don't match between the original Figma frame and the exported file (see HSB values from Figma).</p><p>Any idea why? And how I could get the exact same colors?</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F618%2F241%2F821%2F956%2F233%2Foriginal%2Fdf8b9c39ffd74ec6.jpg\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116618242039864102","date_published":"2026-05-22T12:32:36+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-22 12:32","date_timestamp":1779453156,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"90207321","content_html":"<p><span class=\"h-card\"><a href=\"https://iosdev.space/@appfrosch\" class=\"u-url mention\">@<span>appfrosch</span></a></span> people suggested nice tips or workarounds on X, if you want to check: <a href=\"https://x.com/alpennec/status/2054936364160852338\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">x.com/alpennec/status/20549363</span><span class=\"invisible\">64160852338</span></a></p><p>Things like disabling the swipe in case of changes, and alerting on cancel. Or also playing with detents.</p>","url":"https://iosdev.space/users/alpennec/statuses/116577112654108522","date_published":"2026-05-15T06:12:51+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-15 06:12","date_timestamp":1778825571,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90160687","content_html":"<p>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?</p><p>In UIKit, we can use the presentationControllerDidAttemptToDismiss method.</p><p>Feebdack: FB22777840</p><div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F573%2F477%2F913%2F192%2F628%2Foriginal%2F6b02b827077d3d46.png\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F573%2F478%2F312%2F935%2F472%2Foriginal%2Fc2a09f856a87deee.png\" alt=\"\" loading=\"lazy\">\n</div>","summary":"","url":"https://iosdev.space/@alpennec/116573478767410719","date_published":"2026-05-14T14:48:42+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-14 14:48","date_timestamp":1778770122,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"90064383","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.world/@jordanhipwell\" class=\"u-url mention\">@<span>jordanhipwell</span></a></span> do you know if there is a page that shows all changes made to all pages (instead of having to go through each page)?</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F565%2F888%2F324%2F195%2F863%2Foriginal%2Fa1980172ca71120e.png\" alt=\"\" loading=\"lazy\"></p>","url":"https://iosdev.space/users/alpennec/statuses/116565891098157225","date_published":"2026-05-13T06:39:04+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-13 06:39","date_timestamp":1778654344,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89886187","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@ricobeck\" class=\"u-url mention\">@<span>ricobeck</span></a></span> doesn’t the MapKit JS geocoder provide the same results than the iOS one?</p><p><a href=\"https://developer.apple.com/documentation/mapkitjs/geocoder/geocoderconstructor\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">developer.apple.com/documentat</span><span class=\"invisible\">ion/mapkitjs/geocoder/geocoderconstructor</span></a></p>","url":"https://iosdev.space/users/alpennec/statuses/116550731604559683","date_published":"2026-05-10T14:23:48+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-10 14:23","date_timestamp":1778423028,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89885923","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@ricobeck\" class=\"u-url mention\">@<span>ricobeck</span></a></span> why do you want to get rid of iOS geocoder?</p>","url":"https://iosdev.space/users/alpennec/statuses/116550696301166965","date_published":"2026-05-10T14:14:49+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-10 14:14","date_timestamp":1778422489,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89876254","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@aemre\" class=\"u-url mention\">@<span>aemre</span></a></span> I hope I’ll be more lucky this year at WWDC ⬇️ . So many MapKit feedback open…</p><p><a href=\"https://iosdev.space/@alpennec/114584305580544492\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1145843</span><span class=\"invisible\">05580544492</span></a></p>","url":"https://iosdev.space/users/alpennec/statuses/116549282663247462","date_published":"2026-05-10T08:15:19+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-10 08:15","date_timestamp":1778400919,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89810239","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@stroughtonsmith\" class=\"u-url mention\">@<span>stroughtonsmith</span></a></span> I don’t get what this device adds? An iPhone but also an iPad mini at the same time? The form factor looks very odd to me.</p><p>I’m not quite sure I understand why Apple focuses and puts energy on this (or either the device is amazing or there is a market and demand?) instead of launching cheaper devices like glasses, bands (see Google Fitbit Air),  pins/pendants all powered by AI.</p>","url":"https://iosdev.space/users/alpennec/statuses/116539499662234656","date_published":"2026-05-08T14:47:22+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-08 14:47","date_timestamp":1778251642,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89754696","content_html":"<p><span class=\"h-card\"><a href=\"https://iosdev.space/@angomarcello\" class=\"u-url mention\">@<span>angomarcello</span></a></span> thanks. Apple Translation API has limitations from my experience (lacking context for translations). I'm talking with the developer on X about his app by the way.</p><p><a href=\"https://x.com/MaartenBorsje/status/2052266324408070546?s=20\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">x.com/MaartenBorsje/status/205</span><span class=\"invisible\">2266324408070546?s=20</span></a></p>","url":"https://iosdev.space/users/alpennec/statuses/116532424270586876","date_published":"2026-05-07T08:48:00+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-07 08:48","date_timestamp":1778143680,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89748421","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@chbeer\" class=\"u-url mention\">@<span>chbeer</span></a></span> <span class=\"h-card\"><a href=\"https://iosdev.space/@Jeehut\" class=\"u-url mention\">@<span>Jeehut</span></a></span> thank you, I’ll check.</p>","url":"https://iosdev.space/users/alpennec/statuses/116531400686800263","date_published":"2026-05-07T04:27:42+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-07 04:27","date_timestamp":1778128062,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89737281","content_html":"<p><span class=\"h-card\"><a href=\"https://iosdev.space/@angomarcello\" class=\"u-url mention\">@<span>angomarcello</span></a></span> interesting. It's incompatible with my device (still on Sequoia). What AI does the app use? Apple Intelligence?</p>","url":"https://iosdev.space/users/alpennec/statuses/116529534299547066","date_published":"2026-05-06T20:33:03+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 20:33","date_timestamp":1778099583,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89735195","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@rogelin\" class=\"u-url mention\">@<span>rogelin</span></a></span> I'm not sure I've done the correct thing 😅</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F529%2F315%2F737%2F524%2F334%2Foriginal%2Ffb80f1d5ecdeaa2a.png\" alt=\"\" loading=\"lazy\"></p>","url":"https://iosdev.space/users/alpennec/statuses/116529316676055270","date_published":"2026-05-06T19:37:42+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 19:37","date_timestamp":1778096262,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89734227","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@rogelin\" class=\"u-url mention\">@<span>rogelin</span></a></span> I'll check if there is a documentation and tutorial to get it running.</p>","url":"https://iosdev.space/users/alpennec/statuses/116529219517952685","date_published":"2026-05-06T19:13:00+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 19:13","date_timestamp":1778094780,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89733980","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@rogelin\" class=\"u-url mention\">@<span>rogelin</span></a></span> this is basically the structure of the catalog when you open it as source code instead of the native string catalog. It can be more complex to support variations based on arguments (like plurals). But I think once the English and French is solid, the LLM should be able to process it.</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F529%2F188%2F968%2F551%2F652%2Foriginal%2Fbe0c61ec3226850a.png\" alt=\"\" loading=\"lazy\"></p>","url":"https://iosdev.space/users/alpennec/statuses/116529195477032525","date_published":"2026-05-06T19:06:53+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 19:06","date_timestamp":1778094413,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89733458","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@rogelin\" class=\"u-url mention\">@<span>rogelin</span></a></span> the catalog catalog is a single fat JSON with all the languages in it, I was thinking about providing the EN + comments for each key and maybe another language (French, my native language) so it has more context to translate accordingly.</p><p>I did it with Claude, but it’s consuming many token from my experience.</p>","url":"https://iosdev.space/users/alpennec/statuses/116529147880480828","date_published":"2026-05-06T18:54:47+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 18:54","date_timestamp":1778093687,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89733184","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@rogelin\" class=\"u-url mention\">@<span>rogelin</span></a></span> thank you, I’ll have a look. I’m a little bit new to these local agents though.</p>","url":"https://iosdev.space/users/alpennec/statuses/116529118386405535","date_published":"2026-05-06T18:47:17+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 18:47","date_timestamp":1778093237,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89732592","content_html":"<p>Is there a local LLM I can run on my Mac to translate my app’s string catalogs?</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F529%2F051%2F283%2F643%2F139%2Foriginal%2F409b94cff4ac2125.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116529051549481916","date_published":"2026-05-06T18:30:17+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-05-06 18:30","date_timestamp":1778092217,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89145568","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@ghalldev\" class=\"u-url mention\">@<span>ghalldev</span></a></span> thanks for sharing this update!</p>","url":"https://iosdev.space/users/alpennec/statuses/116480370049067229","date_published":"2026-04-28T04:09:56+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-28 04:09","date_timestamp":1777349396,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89118125","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@ghalldev\" class=\"u-url mention\">@<span>ghalldev</span></a></span> thanks for sharing! navigationTransition was my intuition but I thought the result wouldn't be that great. I'll try it!</p>","url":"https://iosdev.space/users/alpennec/statuses/116478072809713744","date_published":"2026-04-27T18:25:43+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-27 18:25","date_timestamp":1777314343,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89115913","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@obrhoff\" class=\"u-url mention\">@<span>obrhoff</span></a></span> very well done! 🤩Where is the Gist?! 😬</p>","url":"https://iosdev.space/users/alpennec/statuses/116477965074191571","date_published":"2026-04-27T17:58:19+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-27 17:58","date_timestamp":1777312699,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89115650","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@ghalldev\" class=\"u-url mention\">@<span>ghalldev</span></a></span> unfortunately I won’t be able to help but I’m very curious how you achieved this effect. Can you share a bit more how you’re transitioning from the player to the full screen please? Thank you!</p>","url":"https://iosdev.space/users/alpennec/statuses/116477952636350627","date_published":"2026-04-27T17:55:09+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-27 17:55","date_timestamp":1777312509,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"88870563","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@clarko\" class=\"u-url mention\">@<span>clarko</span></a></span> mmm I see! But to me (French), “next weekend” is the weekend of this week until Friday.</p>","url":"https://iosdev.space/users/alpennec/statuses/116455342695583932","date_published":"2026-04-23T18:05:09+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-23 18:05","date_timestamp":1776967509,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"88838119","content_html":"<p>Flo found an alternative to the free trial toggle on its paywall that seems compliant with Guideline 3.1.2 😮</p><p>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.</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F453%2F097%2F816%2F715%2F179%2Foriginal%2F9e6a37212c38c040.jpeg\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116453098161972688","date_published":"2026-04-23T08:34:20+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-23 08:34","date_timestamp":1776933260,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88226644","content_html":"<p class=\"quote-inline\">RE: <a href=\"https://iosdev.space/@alpennec/111186072369160604\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1111860</span><span class=\"invisible\">72369160604</span></a></p><p>I just realised that specifying the transaction to have the Text contentTransition effect doesn't work anymore on iOS 18 and iOS 26 😱 I'm not sure if it's a bug or intended...</p><p>Any idea how to have this effect when using a specific Text style like timer?</p><p><a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a> <a href=\"https://iosdev.space/tags/iOSDev\" class=\"mention hashtag\">#<span>iOSDev</span></a></p><blockquote class=\"quoteback\" data-author=\"alpennec@iosdev.space\" data-avatar=\"https://cdn.micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg\">\n<p>I finally found how to have the nice <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a> Text+timer style animation in an app (the default behaviour in a widget). I just missed to specify a transaction for the Text. It's working like a charm now!</p>\n<p>.transaction { t in<br>      t.animation = .default<br>}</p>\n<p class=\"microblog_hashtags\"><a href=\"https://iosdev.space/tags/buildinpublic\" class=\"mention hashtag\">#<span>buildinpublic</span></a> <a href=\"https://iosdev.space/tags/indiedev\" class=\"mention hashtag\">#<span>indiedev</span></a> <a href=\"https://iosdev.space/tags/indiedev\" class=\"mention hashtag\">#<span>indiedev</span></a></p>\n<footer>alpennec@iosdev.space <cite><a href=\"https://iosdev.space/@alpennec/111186072369160604\" class=\"u-in-reply-to\">iosdev.space/@alpennec/111186072369160604</a></cite></footer>\n</blockquote>","summary":"","url":"https://iosdev.space/@alpennec/116402847090216659","date_published":"2026-04-14T11:34:50+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-14 11:34","date_timestamp":1776166490,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87891732","content_html":"<p>Any idea how to fix this Liquid Glass visual bug?</p><p>In my app, I have a <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a> 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 🫤 </p><p>Works fine on iOS 17/18.</p><p>Code: <a href=\"https://gist.github.com/alpennec/31e2ca4ce0980986afff0884afd7f477\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/alpennec/31e2c</span><span class=\"invisible\">a4ce0980986afff0884afd7f477</span></a></p><p><a href=\"https://iosdev.space/tags/iOSDev\" class=\"mention hashtag\">#<span>iOSDev</span></a></p><p><video controls=\"controls\" playsinline=\"playsinline\" src=\"https://cdn.masto.host/iosdevspace/media_attachments/files/116/373/535/709/105/811/original/7e3bdc6c080a3ac4.mp4\" preload=\"none\"></video></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F373%2F536%2F189%2F614%2F173%2Foriginal%2F36dff892b0c73d42.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116373538385749350","date_published":"2026-04-09T07:21:14+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-04-09 07:21","date_timestamp":1775719274,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"86913732","content_html":"<p>New app analytics are finally live in App Store Connect! Time to explore 🥳</p><p>Next: dark mode? 🌚</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F288%2F734%2F771%2F877%2F512%2Foriginal%2Fc47253a484eaa5bd.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116288735017911405","date_published":"2026-03-25T07:54:37+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-03-25 07:54","date_timestamp":1774425277,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85002568","content_html":"<p class=\"quote-inline\">RE: <a href=\"https://iosdev.space/@alpennec/116126877692412568\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1161268</span><span class=\"invisible\">77692412568</span></a></p><p>Apple Feedback:</p><p>\"Please know that this is not a regression, nor is it a bug. SwiftUI makes no guarantees about when or how the views body is called. This is behaving correctly.\"</p><p>🫡</p><blockquote class=\"quoteback\" data-author=\"alpennec@iosdev.space\" data-avatar=\"https://cdn.micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg\">\n<p>Dear <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a>, can you please fix the regressions you introduced on iOS 26? FB22043999</p>\n<p>In my View, I read the dismiss value from the Environment. </p>\n<p>Whenever a Menu or Picker is opened, the View body is re evaluated 🤷🏻‍♂️</p>\n<p>This unexpected behaviour doesn't happen on iOS 18.5 🙃</p>\n<p class=\"microblog_hashtags\"><a href=\"https://iosdev.space/tags/iosdev\" class=\"mention hashtag\">#<span>iosdev</span></a></p>\n<footer>alpennec@iosdev.space <cite><a href=\"https://iosdev.space/@alpennec/116126877692412568\" class=\"u-in-reply-to\">iosdev.space/@alpennec/116126877692412568</a></cite></footer>\n</blockquote>","summary":"","url":"https://iosdev.space/@alpennec/116131900752891629","date_published":"2026-02-25T15:09:37+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-02-25 15:09","date_timestamp":1772032177,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84940036","content_html":"<p>Dear <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a>, can you please fix the regressions you introduced on iOS 26? FB22043999</p><p>In my View, I read the dismiss value from the Environment. </p><p>Whenever a Menu or Picker is opened, the View body is re evaluated 🤷🏻‍♂️</p><p>This unexpected behaviour doesn't happen on iOS 18.5 🙃</p><p><a href=\"https://iosdev.space/tags/iosdev\" class=\"mention hashtag\">#<span>iosdev</span></a></p><p><video controls=\"controls\" playsinline=\"playsinline\" src=\"https://cdn.masto.host/iosdevspace/media_attachments/files/116/126/876/020/743/297/original/468820214ac8e267.mp4\" preload=\"none\"></video></p>","summary":"","url":"https://iosdev.space/@alpennec/116126877692412568","date_published":"2026-02-24T17:52:11+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-02-24 17:52","date_timestamp":1771955531,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84834234","content_html":"<p>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.</p><p>I wonder whether this added friction hurts conversion rates 🫤 </p><p>Have you experienced this as well?</p><div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F118%2F748%2F444%2F232%2F561%2Foriginal%2F16bdedd7ad924db0.jpeg\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F118%2F748%2F477%2F333%2F453%2Foriginal%2F3891bab8b6ad8596.jpeg\" alt=\"\" loading=\"lazy\">\n</div>","summary":"","url":"https://iosdev.space/@alpennec/116118748741702586","date_published":"2026-02-23T07:24:53+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-02-23 07:24","date_timestamp":1771831493,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84790149","content_html":"<p>TIL SwiftUI has a pixelLength environment value.</p><p>It's a shortcut to dividing 1 by the displayScale environment value as I did before 🙃</p><p>Documentation: <a href=\"https://developer.apple.com/documentation/swiftui/environmentvalues/pixellength\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">developer.apple.com/documentat</span><span class=\"invisible\">ion/swiftui/environmentvalues/pixellength</span></a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F116%2F114%2F783%2F303%2F619%2F733%2Foriginal%2F5dc307f0fce3a34e.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/116114783688238767","date_published":"2026-02-22T14:36:31+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-02-22 14:36","date_timestamp":1771770991,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84787342","content_html":"<p>I use .frame(in: .scrollView) to read a scroll view offset and show/hide a title.</p><p>But I observe a jump in the offset if the content extends below the safe area (when there's no View above).</p><p>Does adding the title change the frame I read? Should it?</p><p>Code: <a href=\"https://gist.github.com/alpennec/388b144ff4ef9a6f07a58181adac29bc\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/alpennec/388b1</span><span class=\"invisible\">44ff4ef9a6f07a58181adac29bc</span></a></p><p>cc <span class=\"h-card\"><a href=\"https://indieweb.social/@curtclifton\" class=\"u-url mention\">@<span>curtclifton</span></a></span> <span class=\"h-card\"><a href=\"https://mastodon.social/@lucabernardi\" class=\"u-url mention\">@<span>lucabernardi</span></a></span></p><p><a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a> <a href=\"https://iosdev.space/tags/iOSDev\" class=\"mention hashtag\">#<span>iOSDev</span></a></p><p><video controls=\"controls\" playsinline=\"playsinline\" src=\"https://cdn.masto.host/iosdevspace/media_attachments/files/116/114/566/147/410/299/original/abe8cdc0c9cbe79b.mp4\" preload=\"none\"></video></p>","summary":"","url":"https://iosdev.space/@alpennec/116114569090471373","date_published":"2026-02-22T13:41:56+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-02-22 13:41","date_timestamp":1771767716,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"83051147","content_html":"<p>I often find myself wanting to log the same message when previewing my app in the Xcode canvas and when running it on a Simulator or a physical device.</p><p>How would you handle using print() for preview and the unified logging system (Logger) at the same time without repeating?</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F972%2F596%2F572%2F360%2F456%2Foriginal%2F4a17b283b029a010.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115972597966333350","date_published":"2026-01-28T11:56:49+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-01-28 11:56","date_timestamp":1769601409,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"82141532","content_html":"<p>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.</p><p>What test methodology have you used and what volume of data required to conclude?</p><p>Do <span class=\"h-card\"><a href=\"https://mastodon.social/@revenuecat\" class=\"u-url mention\">@<span>revenuecat</span></a></span> or <span class=\"h-card\"><a href=\"https://mastodon.social/@superwall\" class=\"u-url mention\">@<span>superwall</span></a></span> have some insights? 👀</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F900%2F967%2F968%2F157%2F641%2Foriginal%2F69ebe075d330e1b3.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115900969567077383","date_published":"2026-01-15T20:20:46+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-01-15 20:20","date_timestamp":1768508446,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"81563889","content_html":"<p>After the Swift SDK for Android, Swift in the browser with ElementaryUI 🤩</p><p>The best time to learn Swift was eleven years ago. The second best is now 😉</p><p><a href=\"https://elementary.codes\"><span class=\"invisible\">https://</span><span>elementary.codes</span><span class=\"invisible\"></span></a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F855%2F529%2F145%2F096%2F057%2Foriginal%2F805d13e1b43c87c4.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115855529389802764","date_published":"2026-01-07T19:44:44+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2026-01-07 19:44","date_timestamp":1767815084,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80333291","content_html":"<p class=\"quote-inline\">RE: <a href=\"https://iosdev.space/@alpennec/115740558924648506\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1157405</span><span class=\"invisible\">58924648506</span></a></p><p>Have you experienced this issue with your app accentColor not being respected, even without using Mixpanel?</p><p>If I just and only access UIScreen.main.bounds in my App init, the accentColor is ignored.</p><p>This page on StackOverflow gives other reasons like modifying UIAppearance: <a href=\"https://stackoverflow.com/questions/71213275/wrong-accentcolor-showing-color-ignored\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">stackoverflow.com/questions/71</span><span class=\"invisible\">213275/wrong-accentcolor-showing-color-ignored</span></a></p><blockquote class=\"quoteback\" data-author=\"alpennec@iosdev.space\" data-avatar=\"https://cdn.micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg\">\n<p>I dug a bit more in this issue where my accentColor is ignored by my SwiftUI apps when I initialize <br>Mixpanel in my App init (early but required).</p>\n<p>I noticed it's due to the SDK accessing UIScreen.main.bounds.size...</p>\n<p>My fix is to comment this line ⬇️</p>\n<p>More: <a href=\"https://github.com/mixpanel/mixpanel-swift/pull/682#issuecomment-3669915133\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/mixpanel/mixpanel-s</span><span class=\"invisible\">wift/pull/682#issuecomment-3669915133</span></a></p>\n<footer>alpennec@iosdev.space <cite><a href=\"https://iosdev.space/@alpennec/115740558924648506\" class=\"u-in-reply-to\">iosdev.space/@alpennec/115740558924648506</a></cite></footer>\n</blockquote>","summary":"","url":"https://iosdev.space/@alpennec/115744353662181473","date_published":"2025-12-19T04:31:17+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-19 04:31","date_timestamp":1766118677,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80300414","content_html":"<p class=\"quote-inline\">RE: <a href=\"https://iosdev.space/@alpennec/115739761001561220\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1157397</span><span class=\"invisible\">61001561220</span></a></p><p>TLDR about performances with Xcode Previews ⬇️ </p><p>When you update:</p><p>- an “inline” value: 🚀 <br>- a stored property: 🐌 <br>- a computed property: 🚀 </p><p>So if you centralize your design constants at the top of a View for example, computed variables are the way to go 👌🏻</p><blockquote class=\"quoteback\" data-author=\"alpennec@iosdev.space\" data-avatar=\"https://cdn.micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg\">\n<p>Confirmed by Apple 🫡</p>\n<p><a href=\"https://iosdev.space/@alpennec/115729444379908949\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1157294</span><span class=\"invisible\">44379908949</span></a></p>\n<footer>alpennec@iosdev.space <cite><a href=\"https://iosdev.space/@alpennec/115739761001561220\" class=\"u-in-reply-to\">iosdev.space/@alpennec/115739761001561220</a></cite></footer>\n</blockquote>","summary":"","url":"https://iosdev.space/@alpennec/115742010155452033","date_published":"2025-12-18T18:35:18+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-18 18:35","date_timestamp":1766082918,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80279328","content_html":"<p>I dug a bit more in this issue where my accentColor is ignored by my SwiftUI apps when I intialize <br>Mixpanel in my App init (early but required).</p><p>I noticed it's due to the SDK accessing UIScreen.main.bounds.size...</p><p>My fix is to comment this line ⬇️</p><p>More: <a href=\"https://github.com/mixpanel/mixpanel-swift/pull/682#issuecomment-3669915133\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">github.com/mixpanel/mixpanel-s</span><span class=\"invisible\">wift/pull/682#issuecomment-3669915133</span></a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F740%2F558%2F564%2F232%2F919%2Foriginal%2F6b8ec0bd118d97fe.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115740558924648506","date_published":"2025-12-18T12:26:14+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-18 12:26","date_timestamp":1766060774,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80270391","content_html":"<p>Confirmed by Apple 🫡</p><p><a href=\"https://iosdev.space/@alpennec/115729444379908949\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1157294</span><span class=\"invisible\">44379908949</span></a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F739%2F759%2F175%2F656%2F729%2Foriginal%2Fb06a46cf1600312f.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115739761001561220","date_published":"2025-12-18T09:03:19+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-18 09:03","date_timestamp":1766048599,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80131918","content_html":"<p>One tip to speed up your <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a>  previews 🤩</p><p>I wanted to centralize constants like opacity, spacing, or sizes used by my View to speed up prototyping.</p><p>Stored properties: slow 🐌 as Xcode recompiles the file every time I tweak a value.</p><p>Computed properties: instant updates 🏎️</p><p><video controls=\"controls\" playsinline=\"playsinline\" src=\"https://cdn.masto.host/iosdevspace/media_attachments/files/115/729/441/834/607/802/original/78dea52f21ed2c08.mp4\" preload=\"none\"></video></p>","summary":"","url":"https://iosdev.space/@alpennec/115729444379908949","date_published":"2025-12-16T13:19:40+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-16 13:19","date_timestamp":1765891180,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"80046670","content_html":"<p>SwiftUI AnyShapeStyle, yay or nay? 🤔</p><p>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.</p><p>But we can get the same with AnyShapeStyle + BackgroundStyle.</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F722%2F666%2F176%2F127%2F220%2Foriginal%2Fcd7bc9220f3084a3.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115722667286164919","date_published":"2025-12-15T08:36:09+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-15 08:36","date_timestamp":1765787769,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"79635681","content_html":"<p>Thanks Craig for taking the time to read my mail and check internally! 😉</p><p>Context: see my previous post about a silly request from Apple regarding a feedback I filed in Feedback Assistant.</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F688%2F639%2F316%2F905%2F558%2Foriginal%2F1f29b254097d951c.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115688646784900046","date_published":"2025-12-09T08:24:18+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-09 08:24","date_timestamp":1765268658,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"79509063","content_html":"<p>Apple, don't be surprised if developers don't file feedback anymore in Feedback Assistant.</p><p>I take the time to file detailed feedback with steps, device details + screen recording to help improve things for everyone.</p><p>Please, don’t reply to ask for things I’ve already provided...</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Fmedia_attachments%2Ffiles%2F115%2F677%2F855%2F887%2F189%2F824%2Foriginal%2F53ffb360d623c087.png\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://iosdev.space/@alpennec/115677856488910250","date_published":"2025-12-07T10:40:11+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-12-07 10:40","date_timestamp":1765104011,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"79018729","content_html":"<p><span class=\"h-card\"><a href=\"https://social.telemetrydeck.com/@telemetrydeck\" class=\"u-url mention\">@<span>telemetrydeck</span></a></span> <span class=\"h-card\"><a href=\"https://social.telemetrydeck.com/@daniel\" class=\"u-url mention\">@<span>daniel</span></a></span> </p><p>Hey!</p><p>I noticed you have a helpful iOS 26 Rollout Dashboard available but I observed the data hasn't been updated for few weeks. </p><p>Do you have plan to keep this page updated?</p><p>Also, same for this other page (iOS Versions Market Share in 2025): <a href=\"https://telemetrydeck.com/survey/apple/iOS/majorSystemVersions/\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">telemetrydeck.com/survey/apple</span><span class=\"invisible\">/iOS/majorSystemVersions/</span></a></p><p>Thank you!</p>","summary":"","url":"https://iosdev.space/@alpennec/115637597873909843","date_published":"2025-11-30T08:01:53+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-11-30 08:01","date_timestamp":1764489713,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"78108107","content_html":"<p class=\"quote-inline\">RE: <a href=\"https://iosdev.space/@alpennec/115559070604107952\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">iosdev.space/@alpennec/1155590</span><span class=\"invisible\">70604107952</span></a></p><p>A solution suggested by @fatbobman 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).</p><p>Of course it depends on the onboarding design.</p><p>Gist: <a href=\"https://gist.github.com/alpennec/2a336eefa8e5dd5783dafb71b6f4ee0a\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/alpennec/2a336</span><span class=\"invisible\">eefa8e5dd5783dafb71b6f4ee0a</span></a></p><blockquote class=\"quoteback\" data-author=\"alpennec@iosdev.space\" data-avatar=\"https://cdn.micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg\">\n<p>I'm building a custom <a href=\"https://iosdev.space/tags/SwiftUI\" class=\"mention hashtag\">#<span>SwiftUI</span></a> 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.</p>\n<p>Any idea how to fix this?</p>\n<p>Gist: <a href=\"https://gist.github.com/alpennec/e9c68e23290a04cbeeb03ad4f30d20f3\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/alpennec/e9c68</span><span class=\"invisible\">e23290a04cbeeb03ad4f30d20f3</span></a></p>\n<p>cc <span class=\"h-card\"><a href=\"https://mastodon.social/@fatbobman\" class=\"u-url mention\">@<span>fatbobman</span></a></span></p>\n<footer>alpennec@iosdev.space <cite><a href=\"https://iosdev.space/@alpennec/115559070604107952\" class=\"u-in-reply-to\">iosdev.space/@alpennec/115559070604107952</a></cite></footer>\n</blockquote>","summary":"","url":"https://iosdev.space/@alpennec/115560575487436340","date_published":"2025-11-16T17:34:05+00:00","author":{"name":"Axel Le Pennec","url":"https://iosdev.space/@alpennec","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fiosdevspace%2Faccounts%2Favatars%2F109%2F364%2F900%2F064%2F615%2F812%2Foriginal%2F3c2bb1414ac837cd.jpeg","_microblog":{"username":"alpennec@iosdev.space"}},"_microblog":{"date_relative":"2025-11-16 17:34","date_timestamp":1763314445,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}}]}