用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
移动端开发
›
IOS
›
【最新 iOS VPN 之 WireGuard for iOS 安装构建 修复报 ...
【最新 iOS VPN 之 WireGuard for iOS 安装构建 修复报错】
泉缘泉
论坛元老
|
2024-9-23 14:33:41
|
显示全部楼层
|
阅读模式
楼主
主题
1737
|
帖子
1737
|
积分
5221
前言
在
开发
WireGuard 的 iOS 版时,相信许多人都会遇到报错,在官方Github:https://github.com/WireGuard/wireguard-apple上,克隆:
git clone https://git.zx2c4.com/wireguard-apple
步骤:
然后按照官方给出的步骤执行后,再运行时发现报错。
废话少说,直接演示官方代码步骤。
作者的运行情况:
Mac 系统:macOS Sonoma 14.2.1
Xcode 版本:Version 15.2 (15C500b)
官方项目使用
克隆完项目cd wireguard-apple后 ,这里修改Developer.xcconfig内里信息的话,发起使用
Xcode 打开来修改填写 Team ID 和 Bundle ID
注意这里许多人没怎么使用过 Developer.xcconfig 的话,都会保留<>括号,但这不消保留,直接填写,假如
team_id:3FJEf9Jfmf,那么:DEVELOPMENT_TEAM = 3FJEf9Jfmf,
这项目包含了 mac 端代码的,但是如果只要 iOS 端的话,这里 bundle id 只写 APP_ID_IOS 就可以
继承根据官方步骤:
brew install swiftlint go
如果本身电脑没有安装,则命令行执行;已安装跳过这步,然后直接打开项目open WireGuard.xcodeproj,真机运行(
这项目只能真机运行,模仿器不可以
)
运行后会发现报错:
这个报错基本上都是报错 WireGuardGoBridgeiOS 这个 Target
这是因为这个Target 是 External Build System,是一种构建目标类型,允许你使用非 Xcode的构建工具或脚本来构建项目。与 Xcode 内置的构建系统差异,External Build System目标让
开发
者可以集成和调用外部工具,如 make、CMake、SCons 等,而不是使用 Xcode 的默认编译器和构建流程
而我们这个项目是用到了目录内里的 WireGuardKitGo 里的 Makefile脚本
然后回到上面的报错信息
[ -n “” ] make: ***
[/Users/jerry/Library/Developer/Xcode/DerivedData/WireGuard-frbbjbescmfjdbfurhvpfkfivvjk/Build/Intermediates.noindex/WireGuard.build/Debug-iphoneos/wireguard-go-bridge/goroot/.prepared]
Error 1 Command ExternalBuildToolExecution failed with a nonzero exit
code
这里的意思是 Makefile 内里的这个 REAL_GOROOT 里地点是空的。
可以搜一下
/Users/jerry/Library/Developer/Xcode/DerivedData/WireGuard-frbbjbescmfjdbfurhvpfkfivvjk/Build/Intermediates.noindex/WireGuard.build/Debug-iphoneos/wireguard-go-bridge/goroot/.prepared
这个路径下,是否存在内里内容,你会发现根本不存在(以上路径根据本身电脑自行输入对应的路径)。
可以用命令行输出一下GOROOT 在本身电脑的位置
go env GOROOT
打印真实GOROOT路径/opt/homebrew/Cellar/go/1.23.1/libexec
根据你本身的GOROOT 路径,然后修改一下 Makefile的 REAL_GOROOT 路径作为默认路径
REAL_GOROOT := $(shell go env GOROOT 2>/dev/null || echo "/opt/homebrew/Cellar/go/1.23.1/libexec")
复制代码
如下图:
完成以上步骤,然后再编译一下,就可以通过了。
总结
基本上就是自身电脑的 GOROOT 路径问题,检察本身电脑的 GOROOT 路径,修改一下Makefile 文件就可以。如果你们按照修改了路径照旧报错,可以留言一起探究一下
下一章,我会讲解一下,如安在iOS新项目里集成 WireGuard 框架,自定义输入本身的 VPN 项目
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
泉缘泉
论坛元老
这个人很懒什么都没写!
楼主热帖
华为一镜到底主题__荣耀30系列安装教程 ...
日志模块
「Docker入门指北」容器很难理解?带你 ...
数据资产为王,如何解析企业数字化转型 ...
信创环境下分布式文件存储MinIO集群部 ...
28基于java的简单酒店数据管理 ...
xss-labs靶场
Vulnhub之M87靶机详细测试过程(不同提 ...
解决NuGet加载或下载资源慢的问题 ...
Java 8 排序的 10 个姿势,太秀了吧! ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
DevOps与敏捷开发
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表