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

安装SQLite.swift(0.11.5)后Xcode9.3出现大量错误求助

解决SQLite.swift 0.11.5在Xcode9.3中报错的问题

嘿,我来帮你梳理下这个问题的原因和解决办法~你遇到的这些错误,核心原因其实是Swift版本不兼容:

Xcode9.3默认支持的最高Swift版本是4.1,而SQLite.swift 0.11.5已经使用了Swift4.2及以上的语法特性(比如你看到的compactMap,这个方法是Swift4.2才引入的,在Swift4.1里它叫flatMap),所以新项目里就会出现语法报错,而你之前的老项目能正常运行,大概率是当时安装的SQLite.swift版本是兼容Swift4.1的,或者老项目的Swift版本设置做了适配。

下面给你几个可行的解决方向:

  • 降低SQLite.swift的版本到兼容Swift4.1的版本
    这是最省心的办法,你可以在Podfile里指定一个支持Swift4.1的旧版本,比如0.10.x系列:

    pod 'SQLite.swift', '~> 0.10.1'
    

    然后执行pod install,重新安装后应该就能正常编译了。

  • 升级Xcode版本(如果项目允许的话)
    Xcode9.3确实比较老旧了,如果你可以升级开发环境,建议升级到Xcode10及以上版本(Xcode10支持Swift4.2),这样就能完美兼容SQLite.swift 0.11.5的语法,后续也能避免更多类似的版本兼容问题。

  • 手动修改SQLite.swift源码适配Swift4.1
    如果你不想改版本也不想升级Xcode,可以尝试手动修改报错的源码:

    1. 找到报错的文件,把所有的compactMap替换成flatMap(因为Swift4.1中集合的flatMap就是Swift4.2+里的compactMap)
    2. 检查其他可能的语法差异,比如Swift4.2新增的其他API,逐一替换成Swift4.1兼容的写法
      不过这个方法需要你逐一排查错误,相对麻烦一些,适合必须保留当前环境的场景。

内容的提问来源于stack exchange,提问作者Schmoranx

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:41:54