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
- Requires Xcode 14.1 Beta and adding NSSupportsLiveActivities key to info.plist
- Bridge native iOS with Flutter using ActivityAttributes protocol and platform channels
- Widget Extension and ActivityKit work together to power Dynamic Island displays
- Sample GitHub repo provides working pizza delivery tracking implementation
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.
About This Article
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.
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.
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.