Skip to content

chore: [SDK-5084] remove unsupported iOS compatibility code - #1726

Open
fadi-george wants to merge 4 commits into
mainfrom
fadi/sdk-5084
Open

chore: [SDK-5084] remove unsupported iOS compatibility code#1726
fadi-george wants to merge 4 commits into
mainfrom
fadi/sdk-5084

Conversation

@fadi-george

Copy link
Copy Markdown
Collaborator

Description

One Line Summary

Remove obsolete compatibility paths for iOS versions below the SDK's iOS 12 minimum.

Details

Motivation

The SDK no longer supports iOS versions below 12, leaving runtime checks, fallbacks, constants, tests, and comments that cannot apply to supported devices.

Scope

  • Removes unreachable notification, IAM, location, and jailbreak-detection branches.
  • Flattens safe-area handling that is always available on supported iOS versions.
  • Removes unused compatibility constants and obsolete unsupported-version tests.
  • Updates stale comments while retaining public API and Mac Catalyst compatibility.

Other

Multi-model review completed. Compatibility and older-Xcode findings were addressed before opening this PR.

Testing

Unit testing

No new tests were needed because the removed branches cannot execute on supported iOS versions. Obsolete commented tests for unsupported versions were removed.

Manual testing

  • Rebuilt the required OneSignalKMP XCFramework.
  • Built the UnitTestApp test bundle for an iOS simulator.
  • Ran UnitTestApp_TestPlan_Reduced successfully on an iOS simulator.
  • Confirmed no pre-iOS 12 runtime checks remain.
  • SwiftLint reports only existing warnings outside the changed files.

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
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • 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.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

Made with Cursor

fadi-george and others added 2 commits August 25, 2026 15:03
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@fadi-george
fadi-george requested a review from nan-li August 25, 2026 22:57
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.

1 participant