Swift: HandyJSON在swift4.0以上版本无法编译的问题

随着苹果发布iOS11.3,自然的,今天升级了Xcode9.3,没想到的是Xcode9.3直接删除了Swift4.0的编译选项,强迫你直接升级到Swift4.1,然而并非所有第三方库都能直接兼容Swift4.1,我们使用的JSON-Model解析库HandyJSON就出现了问题,这一阿里巴巴维护的代码库既然没有继续维护,实在是令人失望,于是乎只能定位源码直接修改源代码了,解决办法如下:

NominalType.swift文件,代码行:34,修改为以下代码即可:

#if swift(>=4.1)
    return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee - base.hashValue))
#else
    return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee))
#endif

HandyJSON的介绍在 https://www.jianshu.com/p/e9d933ce7c74

你可能感兴趣的:(Swift: HandyJSON在swift4.0以上版本无法编译的问题)