使用 Packages 創建支持 Apple M1 芯片的 pkg 安裝包

蘋果發布 M1 芯片設備已經有一段時間了,雖然我當時第一時間申請了 DTK 設備,但由於一些原因,直到蘋果回收設備,我也沒能親手摸到。總之,落格輸入法 macOS 還是成功靠盲打支持了 Apple 架構,即 arm64,根據用戶反饋,效果還行。

直到有用戶說雖然 app 是支持 m1 芯片的,但安裝包不行——當運行 pkg 安裝包時,系統彈出了 Rosetta 2……

雖然其實並不影響實際 pkg 中 payload 的 app,但總要多說一句去解釋一下也很讓人頭疼,於是我開始想辦法解決這個問題。

我是在使用 配套 來生成 pkg 安裝包的,圖形化配置,一鍵生成,順便還能簽名,並且帶有命令行版本,創作好項目文件後,用命令行實現自動化生成,非常的香……但這個 app 很久沒有更新了,我考慮給開發者寫郵件試試……於是發到 dev.packages@gmail.com 的郵件被退信了…… 好吧,郵箱已經不能用了,看來無法聯繫到開發者。

我開始尋找其他方案,其實也就只能是直接使用 productbuild 來生成 pkg,總體來說操作很複雜,其實要先使用 pkgbuild 來生成簡易的 pkg 安裝包(如果你有多個包,就要用它來生成每一個),然後用 productbuild 來把它們合併成同一個。

 

重點來了⚠️ :在 productbuild 的配置參數中, 主機架構 這個可選項要加上,並且值為 x86_64的,臂64 這樣才能讓新生成的 pkg 安裝包被 m1 芯片的系統識別,從而不再觸發 Rosetta 2 翻譯。

 

這樣的話……既然只是一個參數,那麼 Packages 究竟能不能改呢?翻了一下它的設置,還真讓我給找到了!

Packages 開啟高級選項

默認情況下 Packages 是沒有暴露這個設置的,這是一個高級選項。首先,你要在設置中開啟“顯示高級選項”的功能:

Packages 顯示高級用戶選項

然後回到項目的設置界面(Project→Settings)底部就有了高級選項(Advanced Options)

我們找到 主機架構 並寫入 x86_64的,臂64 ,完美:

使用高級設置修改 Packages 默認參數

使用高級設置修改 Packages 默認參數

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

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/3481.html

關於作者

落格博客

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

發表評論

您的電子郵件地址不會被公開.