0

我正在 GoLang 中为 MacOs 构建一个可执行文件。我需要将版本和版权信息添加到构建文件中。在 go build 过程中或之后如何执行此操作?

例如 iBooks 应用程序具有此信息 在此处输入图像描述

PS 我通常只为 Windows 构建,我使用 Versioninfo 格式添加文件属性,但找不到与 MacOs 等效的东西

4

1 回答 1

3

iBooks 是一个应用程序包,而不是像使用 go 构建的单个二进制文件。因此,您需要找到一种将 go 二进制文件包装在应用程序包中的方法,以便获取此详细信息,以及它是否适用于您的可执行文件。

如果您右键单击 iBooks 图标,然后选择“显示包内容”,然后导航到 Contents 文件夹,您将找到(在其他文件+文件夹中)一个Info.plist文件和一个version.plist分别保存版权和版本定义的文件。

信息列表

...
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2013–2018 Apple Inc. All rights reserved.</string>
...

版本.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildAliasOf</key>
    <string>iBooks</string>
    <key>BuildVersion</key>
    <string>1</string>
    <key>CFBundleShortVersionString</key>
    <string>1.14</string>
    <key>CFBundleVersion</key>
    <string>1458.15</string>
    <key>ProjectName</key>
    <string>iBooks</string>
    <key>SourceVersion</key>
    <string>1458015000000000</string>
</dict>
</plist>
于 2018-06-28T12:28:53.177 回答