Go Flutter Desktop (二) go 二进制程序打包为 mac app(dmg)

本文详细介绍了如何将Go Flutter桌面应用打包为macOS应用程序(app)和磁盘映像(dmg)文件。从打包Go二进制文件开始,到创建app结构,制作应用图标,编辑Info.plist,最后生成dmg文件。整个过程涉及到Apple的app规范,如Contents文件夹、Info.plist配置,以及使用IconKit制作图标等。
摘要由CSDN通过智能技术生成

前篇对于 go-flutter 引擎进行了初步的探索, 打包终产物是一个二进制文件配合一些资源文件

本篇研究如何将终产物变成一个 app, 进一步变成 dmg, 就和你网上下载的工具一样

本篇默认你拥有全套的工具, git xcode flutter go hover

csdn 强制转存图片, 然而还转存不了, 所以请看自建博客

打包出 go 终产物

这里以法空大佬的 JsonToDart 为例

cd /tmp
git clone https://github.com/fluttercandies/JsonToDart.git
cd JsonToDart/Flutter/desktop

打包

hover build

这里可能很快也可能很慢, 根据你的工程大小和网络速度而言, 网络速度是因为要下载 flutter 依赖和 go-flutter 引擎相关的东西, 工程大小影响编译速度

然后可以看到当前的目录结构

tree -L 2 desktop/build/outputs/darwin
desktop/build/outputs/darwin
├── FlutterEmbedder.framework
│   ├── FlutterEmbedder -> Versions/Current/FlutterEmbedder
│   ├── Headers -> Versions/Current/Headers
│   ├── Modules -> Versions/Current/Modules
│   ├── Resources -> Versions/Current/Resources
│   └── Versions
├── assets
│   └── icon.png
├── flutter_assets
│   ├── AssetManifest.json
│   ├── FontManifest.json
│   ├── LICENSE
│   ├── fonts
│   ├── isolate_snapshot_data
│   ├── kernel_blob.bin
│   ├── packages
│   └── vm_snapshot_data
├── icudtl.dat
└── json_to_dart

其中这个 json_to_dart 就是可运行的二进制文件 我们可以直接通过$ desktop/build/outputs/darwin/json_to_dart来运行

当然这种情况下, 运行图标是这样的

20190708142722.png

要求完美(有强迫症)的法空大佬要求要做成 app 的样子, 我就去研究了一下, 完成了这么一个终产物

20190708142831.png

双击打开是这样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值