From f1cc8607b03baa08d202439ddb9cdc4d4c9f6638 Mon Sep 17 00:00:00 2001 From: psmattas Date: Fri, 21 Aug 2026 02:53:26 +0100 Subject: [PATCH] fix: lower macOS deployment target from 27.0 to 14.0 MACOSX_DEPLOYMENT_TARGET was 27.0 across all 6 build configs (app + both test targets) - an artifact of Xcode defaulting it to match the beta SDK this is developed against, not an actual code requirement. At 27.0 the app would only install for people running a macOS beta that doesn't even exist for the general public yet. 14.0 is the real floor, already documented as the target in CLAUDE.md ("macOS 14+ minimum, needed for mature AttributedString/ TextKit 2 APIs") and required independently by @Observable/SwiftData, which are used throughout (SessionStore, StarStore, TipJarStore, OfflineCacheStore, APIFailureCenter, etc.). Everything else added this session - StoreKit 2, ImageRenderer, requestReview, CryptoKit - is available well before 14, so nothing pushes the floor higher. README's "macOS 27+" end-user requirement corrected to 14+ to match (the "Xcode 27+" line just above it is a separate, still-accurate build-from-source requirement, left alone). Not compiler-verified against the 14.0 SDK - this project has never actually been built with this deployment target before (always 27.0 during this session's development), so a real Xcode build now may surface "only available in macOS 15+/26+" errors on any API used without realizing it needed newer than 14. Needs an actual build before submission, not just a lower number in the project file. --- Outpost.xcodeproj/project.pbxproj | 12 ++++++------ README.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Outpost.xcodeproj/project.pbxproj b/Outpost.xcodeproj/project.pbxproj index 99d4028..f623431 100644 --- a/Outpost.xcodeproj/project.pbxproj +++ b/Outpost.xcodeproj/project.pbxproj @@ -424,7 +424,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 27.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 0.1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostApp; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -476,7 +476,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 27.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 0.1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostApp; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -505,7 +505,7 @@ DEVELOPMENT_TEAM = CW6GQT9SK5; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 27.0; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -531,7 +531,7 @@ DEVELOPMENT_TEAM = CW6GQT9SK5; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 27.0; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -556,7 +556,7 @@ DEVELOPMENT_TEAM = CW6GQT9SK5; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 27.0; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -581,7 +581,7 @@ DEVELOPMENT_TEAM = CW6GQT9SK5; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 27.0; - MACOSX_DEPLOYMENT_TARGET = 27.0; + MACOSX_DEPLOYMENT_TARGET = 14.0; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.psmattas.OutpostUITests; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/README.md b/README.md index bca7389..5c07afd 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Outline's web app is great, but there's no native Apple client with full editing ## Requirements - Xcode 27+ (currently developed against an Xcode 27 beta — this is a hard minimum, not a suggestion) -- macOS 27+. iOS/iPadOS support is planned but not in the current build (see the note above) — same 27+ minimum will apply once it lands +- macOS 14+ to run the app. iOS/iPadOS support is planned but not in the current build (see the note above) - A self-hosted (or hosted) Outline instance with API access ## Setup