Skip to content

Conversation

@BrandonStalnaker
Copy link
Collaborator

Background

  • Apple has deprecated several UIApplicationDelegate protocol methods in favor of the modern UIScene lifecycle introduced in iOS 13. The mParticle SDK previously provided wrapper methods for these deprecated delegate methods (openURL:sourceApplication:annotation:, openURL:options:, and continueUserActivity:restorationHandler:), but these are scheduled for removal in iOS 27.
  • Modern replacement APIs have been available in the SDK: handleURLContext: and handleUserActivity: for URL/activity handling.

What Has Changed

  • Removed deprecated public method openURL:sourceApplication:annotation: from MParticle class
  • Removed deprecated public method openURL:options: from MParticle class
  • Removed deprecated public method continueUserActivity:restorationHandler: from MParticle class
  • Customers should migrate to:
    • handleURLContext: for handling URLs from UISceneDelegate
    • handleUserActivity: for handling NSUserActivity continuations

Checklist

  • I have performed a self-review of my own code.
  • I have made corresponding changes to the documentation.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have tested this locally.

Additional Notes

  • This is only to be released in the next major version

Reference Issue (For employees only. Ignore if you are an outside contributor)

@BrandonStalnaker BrandonStalnaker self-assigned this Dec 8, 2025
@BrandonStalnaker BrandonStalnaker requested a review from a team as a code owner December 8, 2025 14:37
jamesnrokt
jamesnrokt previously approved these changes Dec 8, 2025
Copy link
Collaborator

@jamesnrokt jamesnrokt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Would be good to create and capture the migration steps you've got in the PR description in a MIGRATING.md like we have in UX Helper. Ideally if it's part of each PR it'll make review of the final product easier.

Here's a fuller example that Stripe provides it's partner developers.

@BrandonStalnaker BrandonStalnaker force-pushed the feat/SDKE-554-Update-Internal-Deprecated-Logic branch from 090f21f to 83d93a5 Compare December 11, 2025 18:38
Base automatically changed from feat/SDKE-554-Update-Internal-Deprecated-Logic to workstation/9.0-Release December 12, 2025 14:38
@BrandonStalnaker BrandonStalnaker dismissed stale reviews from nickolas-dimitrakas and jamesnrokt December 12, 2025 14:38

The base branch was changed.

@BrandonStalnaker BrandonStalnaker force-pushed the feat/SDKE-553-Remove-Deprecated-AppDelegate-Methods branch from 6871c6c to b389db1 Compare December 12, 2025 14:41
Copy link
Collaborator

@jamesnrokt jamesnrokt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice write up, very clear

@BrandonStalnaker BrandonStalnaker merged commit 1a26d79 into workstation/9.0-Release Dec 12, 2025
16 of 19 checks passed
@BrandonStalnaker BrandonStalnaker deleted the feat/SDKE-553-Remove-Deprecated-AppDelegate-Methods branch December 12, 2025 16:10
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.

4 participants