实现将 HMCL 在 macOS 中打包为 App Bundle 疑难杂症与解决方案讨论 #4968
Replies: 5 comments 13 replies
-
|
HMCL以及PCL等便携式的启动器打包到 bundle 里面没什么好处吧,纯增加下载时的体积。 虽然 app bundle 可以自带 jre,但是启动游戏本来就需要自己安装 Java ,启动器带不带没啥太大的区别吧? |
Beta Was this translation helpful? Give feedback.
-
|
弄了个自动化打包 dmg,但单纯就是启动方便点,不用手搓命令行了,没有解决 |
Beta Was this translation helpful? Give feedback.
-
或许可以参考 Terracotta 的安装方式,通过
可以为每个版本都提供一个签过名的 App Bundle,在更新时直接替换 App Bundle 本体,但这样需要调整更新服务器的逻辑 |
Beta Was this translation helpful? Give feedback.
-
|
关于游戏模式,仅修改启动器的 App Category 可能并不够,它只对启动器本身生效,无法传递到 Minecraft 上。详见 PrismLauncher/PrismLauncher#1644 (comment) |
Beta Was this translation helpful? Give feedback.
-
|
发现一个重要问题,就是macOS中被一些软件(比如Safari)下载的app会被打上quarantine标签,然后运行时就有可能受到App Translocation,也就是给你拷贝到神秘位置再运行,而且会加上很多限制,比如说这个神秘位置是只读的 只有通过访达将App不和其他文件一起,不随父文件夹一起移动离开最初被解压出的位置才会解除Translocation。或者直接去掉quarantine标签也行 HMCL如果以App Bundle形式分发,也会受到Translocation的影响 |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
为何要实现?
应 #4450 需求,我也注意到 Glavo 的视频下面偶见用户请求 macOS 使用 App Bundle 分发 HMCL
另外,我还注意到要实现以下功能,必须先实现打包为 App Bundle 这一步:
好处与坏处,详见:#4450 (comment)
问题 / 疑难杂症:
1. HMCL 本体该存放在哪?
随着 #4765 的 Close,代表着 ShulkerSakura/HMCL-MacOS/ 所提供的解决方案不可行,尤其是此项目的解决方案对 macOS 本身就是不合法的(它给人的感觉就是 Windows 下把所有配置文件存放在 EXE 可执行文件内),并且此方法除了可能的权限问题,在添加签名后几乎很难避免报应用程序损坏的错误
-Dhmcl.home=参数2. HMCL 更新(包括 App Bundle 本体)
上面提到的项目解决方案因为权限也可能面临无法更新
解决方案:#4450 (comment)
可能还有更多问题需要解决
Beta Was this translation helpful? Give feedback.
All reactions