<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>開發 on hobbyworker취미생활자</title>
    <link>https://hobbyworker.me/zh-hant/tags/%E9%96%8B%E7%99%BC/</link>
    <description>Recent content in 開發 on hobbyworker취미생활자</description>
    <generator>Hugo</generator>
    <language>zh-hant</language>
    <copyright>2026 hobbyworker</copyright>
    <lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hobbyworker.me/zh-hant/tags/%E9%96%8B%E7%99%BC/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>macOS 應用程式分發用 DMG 設計 (2): 視窗與圖示座標設計及自動化</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-21-design-macos-dmg-2-layout-coordinates/</link>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-21-design-macos-dmg-2-layout-coordinates/</guid>
      <description>DMG 視窗的大小和圖示的放置位置全部由座標決定。本文以範例應用程式 FocusTimer 為基準，逐一講解 create-dmg 的視窗大小與位置、圖示大小、應用程式圖示和 Applications 拖放目標的 X/Y 座標，介紹如何讓背景圖片的像素座標與視窗的點座標對齊，以及如何自動化整個流程以在每次發布時重複使用。</description>
    </item>
    <item>
      <title>macOS 應用程式分發用 DMG 設計 (1): create-dmg 與背景圖片準備</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-20-design-macos-dmg-1-create-dmg-and-background/</link>
      <pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-20-design-macos-dmg-1-create-dmg-and-background/</guid>
      <description>直接分發 macOS 應用程式時，使用者最先看到的是雙按 .dmg 後開啟的 Finder 視窗。本文以範例應用程式 FocusTimer 為基準，介紹 create-dmg 工具、準備僅含 .app 的暫存資料夾，並講解如何按 @2x 視網膜螢幕慣例製作 DMG 背景圖片以及如何避免 DPI 陷阱。</description>
    </item>
    <item>
      <title>macOS 應用程式上架 Mac App Store (3): 上傳設定與 App Store Connect 註冊</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-19-distribute-macos-app-mas-3-export-and-app-store-connect/</link>
      <pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-19-distribute-macos-app-mas-3-export-and-app-store-connect/</guid>
      <description>完成 MAS 建置目標的設定與程式碼分支後，接下來需要搭建將該建置上傳到 App Store 的路徑。本文以範例應用程式 FocusTimer 為基準，講解編寫用於上傳的 ExportOptions-MAS.plist、註冊 App Store Connect 應用程式記錄，以及驗證建置確保兩個渠道不被破壞的方法，從而收尾本系列。</description>
    </item>
    <item>
      <title>macOS 應用程式上架 Mac App Store (2): 區分兩個渠道的設定與程式碼分支</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-18-distribute-macos-app-mas-2-build-config-and-code/</link>
      <pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-18-distribute-macos-app-mas-2-build-config-and-code/</guid>
      <description>建立好 MAS 建置目標後，需要拆分設定檔和程式碼，使該目標真正符合 App Store 規則。本文以範例應用程式 FocusTimer 為基準，逐步講解建立 MAS 專用 entitlements 和 Info.plist、對齊建置設定，以及用 #if canImport(Sparkle) 分支自動更新程式碼的方法。</description>
    </item>
    <item>
      <title>macOS 應用程式上架 Mac App Store (1): 建立獨立建置目標</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-17-distribute-macos-app-mas-1-target-setup/</link>
      <pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-17-distribute-macos-app-mas-1-target-setup/</guid>
      <description>將 macOS 應用程式上架 Mac App Store，需要一個獨立於直接分發建置的建置目標，因為 App Store 審核禁止 Sparkle 等自帶自動更新機制。本文以範例應用程式 FocusTimer 為基準，逐步講解註冊 MAS 專用 Bundle ID、在 Xcode 中複製建置目標，以及處理複製操作留下的清理負擔的方法。</description>
    </item>
    <item>
      <title>macOS 應用程式自主分發 (3): 託管更新 Feed 與建置設定</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-16-distribute-macos-app-3-update-hosting-and-build/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-16-distribute-macos-app-3-update-hosting-and-build/</guid>
      <description>直接分發的 macOS 應用程式的自動更新 Feed 必須託管在無需認證即可存取的公開位置。本文以範例應用程式 FocusTimer 為基準，講解如何用 GitHub Pages 託管更新儲存庫、連接到自己控制的自訂網域，並完成 ExportOptions.plist 及應用程式端設定，收尾直接分發的全部一次性準備工作。</description>
    </item>
    <item>
      <title>macOS 應用程式自主分發 (2): 建立 Sparkle 自動更新簽署金鑰</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-15-distribute-macos-app-2-sparkle-signing-key/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-15-distribute-macos-app-2-sparkle-signing-key/</guid>
      <description>對於直接分發的 macOS 應用程式，使用 Sparkle 框架實作自動更新已是事實上的標準。本文以範例應用程式 FocusTimer 為基準，逐步講解如何產生 Sparkle 用於驗證更新檔案的 EdDSA 簽署金鑰、將公開金鑰嵌入應用程式，以及安全備份和還原私密金鑰的方法。</description>
    </item>
    <item>
      <title>macOS 應用程式自主分發 (1): Developer ID 憑證與公證準備</title>
      <link>https://hobbyworker.me/zh-hant/dev/2026-05-14-distribute-macos-app-1-developer-id-certificate/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <guid>https://hobbyworker.me/zh-hant/dev/2026-05-14-distribute-macos-app-1-developer-id-certificate/</guid>
      <description>若要在不經過 Mac App Store 的情況下直接分發 macOS 應用程式，首先需要配置 Developer ID 憑證和公證 (notarization)。本文以範例應用程式 FocusTimer 為基準，逐步講解安裝命令列工具、申請 Developer ID Application 憑證、以及為公證註冊 App 專用密碼和 notarytool 設定檔等一次性準備工作。</description>
    </item>
  </channel>
</rss>
