How I got around AlarmKit volume control situation
We all know the Clocks has only one volume, the system ringtone slider.
AlarmKit is no different. To use your own ringtone as alarms, the tone must be eithered budled in app OR included in Library/Sounds. Bundled make the app huge. My first release was 200MB for an alarm clock so had to cut down on options as human’s eardrump is actually not able to tell between 45 and 46% volume. Ths slider is replaced by 3 presets.
Then it comes Crescendo. For each tone, 4 volumes level with 3 crescendo, that comes out to 84 different files for 7 tone. Managable but still too big.
So my Swift did the heavy lifting and generate according files at app first launch. Finally, downw to 7 tones and 11MB package. This also lets user process their alarm tone as they import.
Depending on the option they chose, each file is associated with the system. AlarmKit doesn’t help with controlling volume and crescendo at run time like Android.
This was in January where the only thing going for my app is adjustable volume per alarm by passing volume adjusted file to the daemon and a time picker that mirrors analog clock.

![[IOS26] Many IOS users are automating their daily alarms according to their calendar. Why aren't you?](https://external-preview.redd.it/uo21w87aJRJVh-F1xPvVNbDp46Z03yRqkpZ6lRXOZDk.jpeg?width=1080&crop=smart&auto=webp&s=b11179a2ff7928e43902ecd6f8ec1764d003b25a)