Golang Go语言中 build for ios 怎么弄

发布于 1周前 作者 yibo5220 来自 Go语言

Golang Go语言中 build for ios 怎么弄

写了个 server,想在 iphone7 上用命令行启动起来。就是在 shell 上 ./iphone_test 就能启动的方式。

写了个 helloworld,用以下命令 Build 失败 env GOOS=darwin GOARCH=arm64 go build -o iphone_test main.go

13 回复

错误如下
<br>/usr/local/go/pkg/tool/darwin_amd64/link: running clang failed: exit status 1<br><br>
错误信息太长的话一直发不出来。。。直接截取第一行先了
🙈有大佬知道怎么弄嘛?

更多关于Golang Go语言中 build for ios 怎么弄的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


加个 CGO_ENABLED=0 的环境变量试下。

加了一样的错误

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这个是在 Android 上的 可以参考一下

https://www.jianshu.com/p/49f80b1c6477

看你的错误 貌似是 cpu 架构的问题


1. 感觉是需要指定 iOS SDK,你链接的库不应该是 macOS 的( x86 )

2. 你想在 iPhone 上跑命令行程序,前提是你越狱了吗?否则代码签名那关过不去吧

不是有 go-mobile 吗

/usr/local/go/pkg/tool/darwin_amd64

architecture x86_64

安卓 arm 和 Linux 的都可以,应该是 cpu 问题 但是不知道怎么解决😂

是越狱的。build 还要指定链接库的嘛 没了解过🙈 我去看看
恩我试试 gomobile~

是的 因为相当于是交叉编译 链接的 lib 肯定要是 SDK 里面提供的

在Go语言中为iOS构建应用,通常涉及使用Go Mobile项目,它允许你使用Go语言编写跨平台的移动应用组件。以下是一个基本的步骤指南:

  1. 安装Go Mobile: 首先,你需要安装Go Mobile工具链。你可以通过运行以下命令来安装它:

    go install golang.org/x/mobile/cmd/gomobile[@latest](/user/latest)
    gomobile init
    
  2. 编写Go代码: 编写你想要在iOS上运行的Go代码。确保你的代码符合Go Mobile的要求,通常这意味着你需要编写函数,这些函数可以被iOS的Objective-C或Swift代码调用。

  3. 构建绑定: 使用gomobile bind命令来生成iOS可以使用的框架。例如:

    gomobile bind -target=ios -o MyApp.framework mypackage
    

    这里mypackage是你的Go代码所在的包名。

  4. 集成到Xcode项目: 将生成的MyApp.framework添加到你的Xcode项目中,并按照常规方式添加和使用框架。

  5. 调用Go代码: 在你的iOS应用中,使用Objective-C或Swift调用Go代码提供的接口。

需要注意的是,Go Mobile主要用于构建移动应用的某些组件,而不是完整的Go应用。如果你的目标是开发完整的Go应用并在iOS上运行,可能需要考虑其他方法,如使用Web技术(如Go的Web框架)并通过WebView在iOS上展示。

回到顶部