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

Electron 的程序有办法打 universal 包吗(就是 Intel/ARM 都能直接运行)很多用户搞不清楚他们机器的 CPU 是不是 ARM 的,有的又不懂得怎么装 Rosetta(点一下都不会,直接说你的程序有问题)

  •  
  •   drymonfidelia · 90 天前 · 2010 次点击
    这是一个创建于 90 天前的主题,其中的信息可能已经有所发展或是发生改变。
    浏览器 JS 无法准确检测 ARM
    有些极品用户点两下提示要安装东西才能运行,特别是 Rosetta 安装还慢,会说你的程序有捆绑、有病毒
    公司的产品,又不能放弃这些用户
    15 条回复    2024-08-20 23:09:38 +08:00
    enchilada2020
        1
    enchilada2020  
       90 天前 via Android
    既然已经是 Electron 了 用 Node 判断不行吗? process.arch 或 require('node:os').arch()
    WildCat
        2
    WildCat  
       90 天前
    用 SwiftUI 写个 installer
    enchilada2020
        3
    enchilada2020  
       90 天前 via Android
    @enchilada2020 噢…懂了 是要在用户下载之前检测 那就用这个 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Arch
    drymonfidelia
        4
    drymonfidelia  
    OP
       90 天前
    @enchilada2020 这个好像很多浏览器不会发送
    DIMOJANG
        5
    DIMOJANG  
       90 天前
    看了一下 vs code 是有 universal 包的,那应该是有办法
    enchilada2020
        6
    enchilada2020  
       90 天前
    又看了下,可以用 electron-forge ,有 universal 的选项:
    https://www.electronforge.io/cli#make
    holulu
        7
    holulu  
       90 天前
    @drymonfidelia 很多是获取 GPU 信息来判断的,之前测试过,除了 safari 其他浏览器都能检测到
    bclerdx
        8
    bclerdx  
       90 天前 via Android
    没吃过猪肉还没见过猪跑么?
    653513754
        9
    653513754  
       90 天前
    实在没办法就写个脚本手动合并
    liuw666
        10
    liuw666  
       90 天前 via iPhone
    是指这个吗?打包后体积翻倍。electron-builder 配置: "mac": {"target": [{target: "dmg", arch: ['universal'], // ['universal', 'x64', 'arm64']}]},
    sloknyyz
        11
    sloknyyz  
       89 天前
    @drymonfidelia #4 你这是想在用户下载的时候判断吧,估计不行。我看别的软件都是直接提供多平台的软件在官网上,让用户选择下载,用户下载下来不能用就让他下另外一个版本。
    firechat
        13
    firechat  
       89 天前
    可以打包为 universal 的,在 x86 和 arm64 上都能原生运行,就是包大一些,不过反正已经这么大了,也不用在乎再多大一些了。方法就是 10 楼的方法,arch 选 universal 就打包出来了
    jqtmviyu
        14
    jqtmviyu  
       86 天前
    ua 不是能获取型号吗? 获取不了默认下载 arm 版
    打开失败了自然会下载另一个
    drymonfidelia
        15
    drymonfidelia  
    OP
       86 天前
    @jqtmviyu 打开失败了自然会下载另一个 你太高估用户的水平了,他们只会觉得你们的软件做的太烂了下载完打都打不开直接放弃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5689 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:07 · PVG 14:07 · LAX 22:07 · JFK 01:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.