CoreGPX解析与生成GPX文件的Swift库

iOS 项目里用 GPX 文件做轨迹记录或者位置?CoreGPX这个库真挺顺手的。纯 Swift 写的,解析和生成 GPX 文件都靠它搞定,支持iOSmacOS还有watchOS。不依赖第三方,靠系统的 XMLParser 搞定解析,省事儿。

文件读进来就是一堆GPX 标签,CoreGPX 都能吃得下,v1.1 全支持,v1.0 最近也加上了。你只要拿到gpxRoot对象,后续都蛮清晰的。解析成功直接转字符串输出,拿去生成新文件也方便。

用过XMLParser的朋友知道,手动解析 XML 有点烦。CoreGPX 等于是封装了一层,让你专心数据,写法更自然。比如:

let parser = GPXParser(withURL: url)
let root = parser.parse() // 就能拿 root.tracks 或 waypoints

嗯,还有一点不错,它没乱引第三方依赖,只有 Foundation,所以你打包、集成都比较安心。如果你项目里涉及位置点、轨迹线,或者导入其他设备的 GPX 数据,蛮推荐试一下。

哦对了,有兴趣了解更多关于XMLParser和别的方案差异的,可以看看XMLSimple vs XMLParser 模块对比。实战项目也可以参考下iOS 使用 Swift 解析 HTML 文件的实战指南

如果你正好在做运动类 App、导航轨迹记录,或者手表那边也想加轨迹导入功能,可以把 CoreGPX 加进工具库,挺省事。

folder
CoreGPX:用于解析和创建GPX位置文件的库。 纯粹的斯威夫特 预估大小:193个文件
file
.gitignore 738B
file
CoreGPX-umbrella.h 306B
file
Pods-CoreGPX_Example-umbrella.h 332B
file
Pods-CoreGPX_Tests-umbrella.h 328B
file
CoreGPX_watchOS.h 596B
file
CoreGPX_macOS.h 576B
file
GPXTest-TrackPointOnly.gpx 498KB
file
wptError.gpx 755B
folder
.gitkeep 文件夹
folder
.gitkeep 文件夹
file
jazzy.css 7KB
file
highlight.css 4KB
file
jazzy.css 7KB
file
highlight.css 4KB
file
GPXRoot.html 63KB
file
GPXWaypoint.html 53KB
file
Classes.html 46KB
file
docSet.dsidx 64KB
file
GPXRoot.html 63KB
file
GPXWaypoint.html 53KB
zip 文件大小:834.25KB