Kasikornbank Sep 30, 2022

How to Create Dynamic Island and ActivityKit with Flutter

Article Summary

Amorn Apichattanakul from KBTG shows Flutter developers how to tap into iOS's Dynamic Island feature. Yes, you can build Live Activities in Flutter apps—here's the bridge you need.

When Apple launched Dynamic Island with iOS 16, Flutter developers faced a challenge: how to integrate this native iOS feature into cross-platform apps. This tutorial walks through the complete setup process, from creating Widget Extensions in Xcode to connecting them with Flutter code using ActivityKit.

Key Takeaways

Critical Insight

Flutter developers can implement Dynamic Island by creating native iOS Widget Extensions and bridging them to Flutter through ActivityKit, enabling Live Activities in cross-platform apps.

The article includes a critical step about target membership that most tutorials skip—miss it and your Dynamic Island won't work at all.

About This Article

Problem

Flutter developers couldn't use iOS 16's Dynamic Island feature because Apple hadn't released sample code for ActivityKit integration. They had to build custom solutions using only Apple's documentation.

Solution

Amorn Apichattanakul created a PizzaDeliveryAttributes struct that implements the ActivityAttributes protocol and built a WidgetBundle combining Widget Kit with PizzaDeliveryActivityWidget to enable Live Activities on Dynamic Island.

Impact

The tutorial and GitHub repository let Flutter developers add Dynamic Island support without needing native iOS skills. A working pizza delivery tracking example with live timer updates proved the approach works.