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

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

蘋果發布 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

已發表
歸類為 macOS 已標記 ,

通過 落格博客

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

發表評論

您的電子郵件地址不會被公開. 必填字段標 *