You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Xcode构建报错:Info.plist dict内BGTask配置段存在非键项

Xcode构建Flutter应用报non key inside dict line 52错误修复

错误原因

这个报错是iOS项目的Info.plist配置文件XML结构不符合plist规范导致的:plist的<dict>节点有严格的结构要求,内部节点必须按照「<key>标签 + 对应value标签(array/string/number/dict等类型)」的顺序成对出现,不能存在错位标签、多余闭合标签、游离的非key-value节点。
你贴出的配置段存在明确语法错误:第一行的<key>BGTaskSchedulerPermittedIdentifiers</key>已经是完整闭合的key标签,后面跟的<array>是该key对应的配置值,在</array>闭合后多写了一个冗余的</key>闭合标签,这个多余标签不属于任何合法的key-value结构,Xcode解析到对应行时就会抛出dict内存在非法非键元素的报错。这类问题大多是复制粘贴第三方SDK配置片段时,残留了多余的闭合标签导致的。

修复步骤

  • 打开Flutter项目下ios/Runner/Info.plist文件,定位到你贴出的这段配置位置
  • 删除配置段最后一行多余的</key>标签,修正后的合法配置代码如下:
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string></string>
</array>
  • 补充校验:如果你确实启用了iOS后台任务调度能力,需要在<string></string>内填写你代码中实际注册的后台任务标识符,留空不会触发构建错误,但会导致后台任务无法被系统识别;如果项目没有用到相关后台能力,也可以直接把这段BGTaskSchedulerPermittedIdentifiers配置整块删除。
  • 改完后可以在Xcode中右键点击Info.plist,选择Open As -> Property List,如果能正常打开可视化配置界面,说明结构已经合法,重新执行构建即可。

内容的提问来源于stack exchange,提问作者Mehmet Ali KÜÇÜK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 23:24:26