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

Xcode 9.3 beta编译现有App时KissXML报错,求解决xmlKeepBlanksDefault问题

解决Xcode 9.3 Beta中KissXML的xmlKeepBlanksDefault编译错误

我之前也碰到过一模一样的问题,在Xcode 9.3 Beta编译老项目时,KissXML的DDXMLDocument.m里确实会因为xmlKeepBlanksDefault的声明缺失卡壳,下面是几个亲测有效的解决方案:

  • 手动添加函数声明快速修复
    打开KissXML库中的DDXMLDocument.m文件,在所有导入语句之后、代码逻辑之前,添加这段C语言声明:

    #ifdef __cplusplus
    extern "C" {
    #endif
    void xmlKeepBlanksDefault(int val);
    #ifdef __cplusplus
    }
    #endif
    

    这样编译器就能识别到这个函数的定义,直接解决“隐式声明无效”和“需先导入声明”的错误。

  • 更新KissXML到最新版本(推荐)
    这个问题其实已经被KissXML的维护者修复了,如果你用的是旧版本,直接更新到最新版就能彻底解决:

    • 用CocoaPods管理的话,修改Podfile里的KissXML版本为最新,然后运行pod update KissXML
    • 手动集成的话,替换成仓库里的最新代码即可
  • 调整Xcode编译设置
    打开项目的Build Settings,搜索Other C Flags,添加-include libxml/parser.h,这样编译器会自动引入libxml2的parser头文件,自然就能获取到xmlKeepBlanksDefault的声明。

优先推荐第二个方案,官方修复的兼容性问题最靠谱;如果暂时没法更新库,前两个方案也能快速帮你搞定编译问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:50:30