V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xlsepiphone
V2EX  ›  程序员

用 Tauri 写了个小工具,打包和分发体验让我崩溃。

  •  
  •   xlsepiphone · 173 天前 · 2621 次点击
    这是一个创建于 173 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Tauri 撸代码的确舒服,最后的包也很小,但是分发着实蛋疼,和目前成熟的 Electron 方案比起来还是差太远。

    由于要发布到 AppStore ,遇到的第一个问题就是,app 签名老是失败。但是我复制 tauri 日志执行的命令手动执行,反而签名成功了。

    再一个 Tauri 打出来的包是 dmg,需要自行用工具转换成 pkg 才能用苹果的 Transporter 上传到 AppStore 。

    我用 productbuild 打包出来的 pkg 安装包,测试安装一直失败,Applications 目录就是找不到装好的软件。

    Google 了半天才了解清楚,pkg 检测到同目录还有一个 xxx.app,结果直接安装到 xxx.app 里面去了,根本就不会安装到系统的 Applications 目录。

    最后反而还需要写一个 build.sh 构建脚本,大概流程是:

    • 1.yarn tauri build
    • 2.对 xxx.app 进行 MacApp distribution 签名
    • 3.将 xxx.app 打包成 pkg,同时进行 MacApp installer 签名

    整个流程搞完了,最后 Transporter 上传上去,提示 entitlements 没有配置沙盒,瞬间崩溃了,体验真的不好。

    Tauri 目前文档太简陋了,很多功能还不能和 Electron 对标,不过用来写一个不用发布到官方商店的小工具还是不错的。

    明天准备把代码迁移回 Electron,只有等 Tauri 成熟后再看看吧。

    ps.构建 macOS arm 架构的 universel 包一直失败,按照官方文档的命令敲,一直构建失败,对 rust 不熟悉,去 issues 里翻了下,最后还是没找到解决方案。

    7 条回复    2022-08-21 10:30:46 +08:00
    xlsepiphone
        1
    xlsepiphone  
    OP
       173 天前
    现在是 2:45 ,我从晚上 10 点搞到现在。唉
    ericgui
        2
    ericgui  
       173 天前
    确实不容易

    我觉得还是要有很高的 rust 水平才行
    ericgui
        3
    ericgui  
       173 天前
    我学了一阵子,发现搞不定,所以就放弃 tauri 了,在考虑 flutter
    likeunix
        4
    likeunix  
       173 天前
    证书可不便宜
    vagranth
        5
    vagranth  
       173 天前
    我现在正用 tauri 做一个工具,公司项目。看到你这题目吓了我一跳。
    还好不是 windows 的打包分发问题。
    mxalbert1996
        6
    mxalbert1996  
       173 天前 via Android   ❤️ 1
    很正常,你这里很多问题都不限于 Tauri ,毕竟苹果从不在乎不用自家标准工具链的开发者。我以前用 Qt 写过跨平台的应用,Qt 这么老的框架,macOS 版的打包体验还是烂得很,还得自己折腾。
    luffy
        7
    luffy  
       172 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   5090 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 05:56 · PVG 13:56 · LAX 21:56 · JFK 00:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.