Skip to content

chore: [SDK-5346] raise Mac Catalyst deployment target to 15 - #1757

Open
nan-li wants to merge 3 commits into
mainfrom
nan/sdk-5346
Open

nan-li wants to merge 3 commits into
mainfrom
nan/sdk-5346

Conversation

@nan-li

@nan-li nan-li commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Description

One Line Summary

Raise the SDK's Mac Catalyst deployment target from 14 to 15. SDK-5346.

Details

Motivation

Xcode 27 only accepts macOS deployment targets of 12.0 and up. The Catalyst floor of 14 maps to macOS 11.0, so every framework target fails to build for Mac Catalyst on Xcode 27. Catalyst 15 maps to macOS 12.0 and matches the iOS floor from #1749.

Scope

  • The SDK project no longer sets a separate Catalyst deployment target, so Catalyst builds follow the iOS target of 15.
  • Package.swift declares Mac Catalyst 15. Catalyst apps on macOS 11 can no longer use the SDK.
  • Both podspecs drop their Catalyst 14 override. CocoaPods already set the pod target to 15.0 from s.platform, so the override never applied.
  • The CI Catalyst job compiles its host for Catalyst 15.

Testing

Unit testing

No test changes.

Manual testing

Built OneSignalFramework, OneSignalInAppMessages, OneSignalLocation, OneSignalLiveActivities and OneSignalExtension for Mac Catalyst on Xcode 27.0 with no errors. The built frameworks report a Catalyst minimum of 15.0 and a macOS minimum of 12.0. Compiled and ran the CI Catalyst host against them at 15.0 with no warnings. Built a CocoaPods app that uses OneSignalXCFramework from this branch for Mac Catalyst on Xcode 27.0, before and after the podspec change. The pod target resolves to Catalyst 15.0 both times and the app builds.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
  • I have reviewed this PR myself, ensuring it meets each checklist item

🤖 Generated with Claude Code

Xcode 27 only accepts macOS 12.0 and up, and the Catalyst floor of 14 maps to macOS 11.0, so every framework target failed to build for Mac Catalyst. Catalyst 15 maps to macOS 12.0 and matches the iOS floor.
@nan-li
nan-li marked this pull request as ready for review September 24, 2026 16:15
…or 15

Every config that set IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*] also sets IPHONEOS_DEPLOYMENT_TARGET = 15.0, so removing the override lets Catalyst follow the iOS target. This also clears the 13.1 override on UnitTestApp. The CI Catalyst host now compiles for ios15.0-macabi to match the frameworks it links.
CocoaPods writes IPHONEOS_DEPLOYMENT_TARGET from s.platform onto the pod target itself, which takes precedence over the conditional in the generated xcconfig, so the 14.0 never applied. Catalyst pod builds already resolved to 15.0 and still do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants