Flutter iOS Live Activity启动失败:PlatformException错误求助
解决Flutter iOS Live Activity启动报错(com.apple.ActivityKit.ActivityInput error 0)
以下是针对性的排查和修复步骤:
检查iOS版本与设备兼容性
Live Activity仅支持iOS 16.1及以上版本,且仅在iPhone设备上可用(iPad暂不支持)。确保测试设备系统版本符合要求,优先用真机测试(模拟器对Live Activity的支持有限,部分场景会触发无意义报错)。验证Widget Extension配置
- 确认已正确创建并配置Widget Extension,且Extension的Deployment Target设置为iOS 16.1+。
- 检查Extension的
Info.plist中是否添加NSSupportsLiveActivities键,值设为YES。 - 确保主App和Widget Extension的Bundle ID符合关联规则——Extension的Bundle ID必须是主App的后缀,比如主App是
com.example.myapp,Extension应为com.example.myapp.widget。
检查Live Activity数据模型与配置
- 确认传递给Live Activity的
ActivityAttributes和ContentState数据模型,在主App和Widget Extension中完全一致(包括属性名称、类型,不能有任何差异)。 - 启动Live Activity时,传入的数据不能包含
nil或不合法类型,比如日期格式错误、字符串为空但模型要求非空等。
- 确认传递给Live Activity的
检查权限与签名
- 确保开发者账号已开启App Groups功能,且主App和Widget Extension都添加了相同的App Group ID。
- 验证Xcode中的签名配置:主App和Extension都使用正确的开发者证书和Provisioning Profile,且Profile包含Live Activity的权限。
排查Flutter插件问题
- 如果使用第三方Live Activity插件(如
flutter_live_activity),确保插件版本为最新,且严格按照官方文档完成所有配置步骤。 - 尝试直接在原生iOS代码中测试启动Live Activity,排除Flutter层的调用问题。如果原生能正常启动,再检查Flutter侧的参数传递是否有误。
- 如果使用第三方Live Activity插件(如
清理缓存与重建项目
- 清理Xcode缓存:执行
Cmd+Shift+K清理项目,再用Cmd+Option+Shift+K清理构建文件夹。 - 删除设备上已安装的App,重新编译安装。
- 若用模拟器测试,选择
Device > Erase All Content and Settings重置模拟器。
- 清理Xcode缓存:执行
内容的提问来源于stack exchange,提问作者Am Koem Heang
相关产品推荐
相关产品推荐

