使用 Packages 创建支持 Apple M1 芯片的 pkg 安装包

使用高级设置修改 Packages 默认参数
使用高级设置修改 Packages 默认参数

苹果发布 M1 芯片设备已经有一段时间了,虽然我当时第一时间申请了 DTK 设备,但由于一些原因,直到苹果回收设备,我也没能亲手摸到。总之,落格输入法 macOS 还是成功靠盲打支持了 Apple 架构,即 arm64,根据用户反馈,效果还行。

直到有用户说虽然 app 是支持 m1 芯片的,但安装包不行——当运行 pkg 安装包时,系统弹出了 Rosetta 2……

虽然其实并不影响实际 pkg 中 payload 的 app,但总要多说一句去解释一下也很让人头疼,于是我开始想办法解决这个问题。

我是在使用 Packages 来生成 pkg 安装包的,图形化配置,一键生成,顺便还能签名,并且带有命令行版本,创作好项目文件后,用命令行实现自动化生成,非常的香……但这个 app 很久没有更新了,我考虑给开发者写邮件试试……于是发到 dev.packages@gmail.com 的邮件被退信了…… 好吧,邮箱已经不能用了,看来无法联系到开发者。

我开始寻找其他方案,其实也就只能是直接使用 productbuild 来生成 pkg,总体来说操作很复杂,其实要先使用 pkgbuild 来生成简易的 pkg 安装包(如果你有多个包,就要用它来生成每一个),然后用 productbuild 来把它们合并成同一个。

 

重点来了⚠️ :在 productbuild 的配置参数中, hostArchitectures 这个可选项要加上,并且值为 x86_64,arm64 这样才能让新生成的 pkg 安装包被 m1 芯片的系统识别,从而不再触发 Rosetta 2 翻译。

 

这样的话……既然只是一个参数,那么 Packages 究竟能不能改呢?翻了一下它的设置,还真让我给找到了!

Packages 开启高级选项

默认情况下 Packages 是没有暴露这个设置的,这是一个高级选项。首先,你要在设置中开启“显示高级选项”的功能:

Packages 显示高级用户选项

然后回到项目的设置界面(Project→Settings)底部就有了高级选项(Advanced Options)

我们找到 hostArchitectures 并写入 x86_64,arm64 ,完美:

使用高级设置修改 Packages 默认参数
使用高级设置修改 Packages 默认参数

本文由 落格博客 原创撰写:落格博客 » 使用 Packages 创建支持 Apple M1 芯片的 pkg 安装包

转载请保留出处和原文链接:https://www.logcg.com/archives/3481.html

发布日期:
分类:Mac OS 标签:

作者:落格博客

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注