Go - 如何在 Xcode 项目中 link Go macOS 二进制文件?

Go - How to link Go macOS binary in an Xcode project?

我对 macOS 开发完全陌生,这听起来很基础。

我需要为 macOS 分发一个 Golang 应用程序。 我为 macOS 构建了 Go 可执行文件,该可执行文件在 macOS 上运行良好。 我按照 tutorial

制作了它的 .app 结构

但在分发之前,我需要做一些事情,例如代码签名和集成 Sparkle(用于更新)。

为此,我需要将此 .app 作为 Xcode 项目打开。我怎么做 ? Xcode 识别 .xcodeproj 扩展名

我创建了一个示例 Xcode Objective-C 项目,但如何将此项目添加到 运行 我的可执行文件/.app?

您不需要将应用程序作为 Xcode 项目打开 - 这没有任何意义,也无法完成,因为该应用程序不是 Xcode 项目。

我建议改用 gon 工具,您可以找到 here 进行代码签名。

最简单的安装方法通常是通过 运行ning 的 HomeBrew:

brew tap mitchellh/gon
brew install mitchellh/gon/gon

以上需要您提前安装HomeBrew

安装后,按照 gon GitHub 页面中的描述创建一个 config.json 文件,然后 运行:

gon config.json

这将为您签署、压缩、公证和装订您的申请 - 创建一个 .dmg 文件以供分发。

关于 Sparkle 可以轻松更新您的程序,这是您必须集成到您的 Go 程序中的东西。您可以找到如何执行此操作的示例 here.

该示例包含一个简单的 Objective-C 函数 sparkle_checkUpdates(),它使用 Sparkle 框架来调用更新机制。它还包含一个 Go 函数 sparkle_checkUpdates(),该函数使用 C 导入来调用之前描述的 C 函数。

在您现有的 Go 程序中,您只需在用户想要检查更新时从某个地方调用 sparke_checkUpdates