XCode16 HandyJson Metadata报错处理方案

针对 "HandyJSON Metadata error" 的问题,在Xcode 16环境下,根据搜索结果,有用户遇到了编译报错。具体错误信息为:

Function type mismatch, declared as '@convention(thin) (UnsafePointer<UInt8>, Int, Optional<UnsafeRawPointer>, Optional<UnsafeRawPointer>) -> Optional<@thick any Any.Type>' but used as '@convention(thin) (UnsafePointer<UInt8>, UInt, Optional<UnsafeRawPointer>, Optional<UnsafeRawPointer>) -> Optional<@thick any Any.Type>'

解决方案是将 HandyJSON/Source/Metadata.swift 里的 UInt 改为 Int,修改如下

// 原始内容是UInt
// "function": { _getTypeByMangledNameInContext(cMangledTypeName, UInt(getMangledTypeNameSize(cMangledTypeName)), genericContext: self.contextDescriptorPointer, genericArguments: self.genericArgumentVector) }
// 改成Int
"function": { _getTypeByMangledNameInContext(cMangledTypeName, Int(getMangledTypeNameSize(cMangledTypeName)), genericContext: self.contextDescriptorPointer, genericArguments: self.genericArgumentVector) }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容