编译WireGuard的iOS开源客户端方法

安装swiftlint和go

brew install swiftlint go

下载主程序代码

git clone https://git.zx2c4.com/wireguard-apple

下载WireGuardKit代码

git clone https://git.zx2c4.com/wireguard-apple

将WireGuardKit作为Swift package添加到主程序代码中。Package.swift中paltforms改成platforms: [ .iOS("15") ],

删除主程序里的WireGuardKit,WireGuardKitC, WireGuardKitGo文件夹。后期编译遇到报错时,根据报错信息添加import引用代码即可。

确认WireGuardiOS的Target Dependencies是WireGuardNetworkExtensioniOS,并且Link Binary With Libraries是WireGuardKit和NetWorkExtension.framework。

确认WireGuardNetworkExtensioniOS的Target Dependencies是WireGuardGoBridgeiOS,并且Link Binary With Libraries是WireGuardKit, libwg-go.a, NetworkExtension.framework。

WireGuardGoBridgeiOS的Info里,Directory设置为WireGuardKit项目里的WireGuardKitGo文件夹。Build Tool确认是/usr/bin/make

WireGuardKitGo里的Makefile,REAL_GOROOT := $(shell go env GOROOT 2>/dev/null)这句话替换为REAL_GOROOT的绝对地址,例如改成REAL_GOROOT := "/opt/homebrew/Cellar/go/1.23.6/libexec" (查询具体值可以在命令行里运行go env GOROOT)


开源代码的原始英文文档 https://git.zx2c4.com/wireguard-apple/about/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容