<?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>Shipping a MacOS App to the Mac App Store on hobbyworker취미생활자</title>
    <link>https://hobbyworker.me/en/series/shipping-a-macos-app-to-the-mac-app-store/</link>
    <description>Recent content in Shipping a MacOS App to the Mac App Store on hobbyworker취미생활자</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>2026 hobbyworker</copyright>
    <lastBuildDate>Tue, 19 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hobbyworker.me/en/series/shipping-a-macos-app-to-the-mac-app-store/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Shipping a macOS App to the Mac App Store (3): Upload Settings and App Store Connect Registration</title>
      <link>https://hobbyworker.me/en/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/en/dev/2026-05-19-distribute-macos-app-mas-3-export-and-app-store-connect/</guid>
      <description>Once you&amp;#39;ve finished the MAS build target and the configuration and code branching, it&amp;#39;s time to set up the path for getting that build onto the App Store. Using the example app FocusTimer, this post wraps up the series by covering how to write an ExportOptions-MAS.plist for upload, register an app record in App Store Connect, and verify the build so the two channels stay unbroken.</description>
    </item>
    <item>
      <title>Shipping a macOS App to the Mac App Store (2): Splitting Configuration and Code Between Channels</title>
      <link>https://hobbyworker.me/en/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/en/dev/2026-05-18-distribute-macos-app-mas-2-build-config-and-code/</guid>
      <description>Once you&amp;#39;ve created a build target for MAS, you need to split the configuration files and code so that target actually follows the App Store rules. Using the example app FocusTimer, this post walks through creating MAS-only entitlements and Info.plist files, aligning the build settings, and branching the automatic update code with #if canImport(Sparkle).</description>
    </item>
    <item>
      <title>Shipping a macOS App to the Mac App Store (1): Creating a Separate Build Target</title>
      <link>https://hobbyworker.me/en/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/en/dev/2026-05-17-distribute-macos-app-mas-1-target-setup/</guid>
      <description>Shipping a macOS app to the Mac App Store requires a build target separate from the one used for direct distribution, because App Store review forbids self-contained automatic updaters like Sparkle. Using the example app FocusTimer, this post walks through registering a MAS-only Bundle ID, duplicating the build target in Xcode, and handling the cleanup burden that duplication leaves behind.</description>
    </item>
  </channel>
</rss>
