<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Developer On Wheels</title>
    <description>The latest articles on DEV Community by Developer On Wheels (@devonwheels).</description>
    <link>https://dev.to/devonwheels</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3476246%2F22db9aa7-7df3-4256-bb8e-084548f561d7.jpg</url>
      <title>DEV Community: Developer On Wheels</title>
      <link>https://dev.to/devonwheels</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devonwheels"/>
    <language>en</language>
    <item>
      <title>Trying to Build a Simple Live Activity Timer… and Hitting OS Limits</title>
      <dc:creator>Developer On Wheels</dc:creator>
      <pubDate>Sat, 06 Sep 2025 07:00:12 +0000</pubDate>
      <link>https://dev.to/devonwheels/trying-to-build-a-simple-live-activity-timer-and-hitting-os-limits-5f61</link>
      <guid>https://dev.to/devonwheels/trying-to-build-a-simple-live-activity-timer-and-hitting-os-limits-5f61</guid>
      <description>&lt;p&gt;I thought it would be simple: show a custom timer counting up inside a Live Activity. Sounds like the perfect use case, right?&lt;/p&gt;

&lt;p&gt;Turns out — not so much.&lt;/p&gt;

&lt;p&gt;On iOS, Live Activities are heavily restricted. There’s no way to just run a continuous, updating timer in the background. You can’t refresh every second with push notifications (unless you want to spam Apple’s servers and drain the battery). Even the local ActivityKit updates are limited in frequency.&lt;/p&gt;

&lt;p&gt;So what looks like a trivial feature — a live-updating timer — is almost impossible to do cleanly. The official design assumes you’re showing snapshots of state that update occasionally, not a precise counter.&lt;/p&gt;

&lt;p&gt;Still, I wanted it badly enough to hack something together. It’s not perfect, but in my projects — &lt;a href="https://devonwheels.com/projects/bump-pulse" rel="noopener noreferrer"&gt;Bump Pulse&lt;/a&gt; (a free contraction timer) and &lt;a href="https://devonwheels.com/projects/nurtura" rel="noopener noreferrer"&gt;Nurtura&lt;/a&gt; (a baby growth tracker) — I integrated Live Activities anyway. They give parents a quick way to glance at what’s going on without opening the app, even if the timer behind it isn’t as smooth as I’d like.&lt;/p&gt;

&lt;p&gt;It was a good reminder: just because something looks simple in the UI doesn’t mean iOS makes it possible under the hood.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faz4a0pls5o4w78ih2pyk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faz4a0pls5o4w78ih2pyk.webp" alt="Screenshot of a Live Activity on lock screen with a running timer" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
      <category>mobile</category>
      <category>liveactivity</category>
    </item>
  </channel>
</rss>
