在 Mac 上,dmg 文件是一種磁盤映像文件,可以將多個文件打包成一個可讀寫的磁盤映像。用戶可以將 dmg 文件掛載到系統上,就像掛載一個硬盤驅動器一樣。這使得 dmg 文件成為 Mac 應用發布的常見格式。

在 Github 上,我們可以使用 Github Actions 來自動化打包 dmg 文件。Github Actions 是 Github 的一項 CI/CD 服務,可以讓我們在代碼提交時自動運行一些任務,例如打包應用程序。

## 詳細介紹

下面我們將介紹如何使用 Github Actions 打包 dmg 文件。

### 步驟 1:創建 Github Actions 工作流文件

首先,我們需要在我們的 Github 倉庫中創建一個 `.github/workflows` 目錄,并在其中創建一個 YAML 文件,例如 `build.yml`。該文件將定義我們的 Github Actions 工作流。

“`yaml

name: Build

on:

push:

branches:

– master

jobs:

build:

runs-on: macos-latest

steps:

– name: Checkout code

uses: actions/checkout@v2

– name: Install dependencies

run: |

sudo gem install cocoapods

pod install

– name: Build app

run: xcodebuild -workspace MyApp.xcworkspace -scheme MyApp -configuration Release -archivePath $PWD/build/MyApp.xcarchive archive

– name: Create DMG

uses: jbtule/codesign-dmg@v1.1.0

with:

app: MyApp.app

volume-name: MyApp

dmg-name: MyApp.dmg

codesign-identity: ${{ secrets.CERTIFICATE }}

“`

在這個工作流中,我們定義了一個 `build` 作業,它將在 `master` 分支的推送事件觸發時運行。該作業將在最新版本的 macOS 上運行,并執行以下步驟:

1. 檢出代碼庫

2. 安裝依賴項

3. 構建應用程序

4. 創建 dmg 文件

### 步驟 2:安裝依賴項

在上面的工作流中,我們使用了 cocoapods 和 xcodebuild 工具來構建應用程序。

在 macOS 上,我們可以使用 Homebrew 安裝這些工具:

“`bash

brew install cocoapods

“`

### 步驟 3:構建應用程序

在工作流中,我們使用 xcodebuild 工具來構建應用程序。我們需要指定應用程序的 workspace、scheme、configuration 和 archivePath。例如:

“`bash

xcodebuild -workspace MyApp.xcworkspace -scheme MyApp -configuration Release -archivePath $PWD/build/MyApp.xcarchive archive

“`

這將生成一個名為 `MyApp.xcarchive` 的檔案文件,其中包含我們的應用程序。

### 步驟 4:創建 dmg 文件

最后,我們需要使用 jbtule/codesign-dmg 工具來創建 dmg 文件。該工具將對應用程序進行簽名,并創建一個可讀寫的 dmg 文件。

“`yaml

– name: Create DMG

uses: jbtule/codesign-dmg@v1.1.0

with:

app: MyApp.app

volume-name: MyApp

dmg-name: MyApp.dmg

codesign-identity: ${{ secrets.CERTIFICATE }}

“`

在這個步驟中,我們指定了應用程序的網站程序打包路徑、卷名和 dmg 文件名,并使用 secrets.CERTIFICATE 密鑰來指定簽名證書。

## 結論

本文介紹了如何使用 Github Actions 自動化打包 dmg 文件。我們可以使用 xcodebuild 工具來構建應用程序,并使用 jbtule/codesign-dmg 工具來創建 dmg 文件。這個過程可以自動化,使我們能夠更輕松地發布我們的 Mac 應用程序。

未經允許不得轉載:智電網絡 NET » github工程打包dmg步驟介紹

相關推薦