diff --git a/FirebaseInAppMessaging/Sources/Runtime/FIRIAMActionURLFollower.m b/FirebaseInAppMessaging/Sources/Runtime/FIRIAMActionURLFollower.m index 840937c1be5..9c6013510f3 100644 --- a/FirebaseInAppMessaging/Sources/Runtime/FIRIAMActionURLFollower.m +++ b/FirebaseInAppMessaging/Sources/Runtime/FIRIAMActionURLFollower.m @@ -175,8 +175,10 @@ - (BOOL)followURLWithContinueUserActivity:(NSURL *)url { FIRLogDebug(kFIRLoggerInAppMessaging, @"I-IAM240004", @"App delegate responds to application:continueUserActivity:restorationHandler:." "Simulating action url opening from a web browser."); + // Use string literal to ensure compatibility with Xcode 26 and iOS 18 + NSString *browsingWebType = @"NSUserActivityTypeBrowsingWeb"; NSUserActivity *userActivity = - [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb]; + [[NSUserActivity alloc] initWithActivityType:browsingWebType]; userActivity.webpageURL = url; BOOL handled = [self.appDelegate application:self.mainApplication continueUserActivity:userActivity diff --git a/FirebaseInAppMessaging/Tests/Unit/FIRIAMActionUrlFollowerTests.m b/FirebaseInAppMessaging/Tests/Unit/FIRIAMActionUrlFollowerTests.m index 9a0b56e26e5..3bfa6f5fb9b 100644 --- a/FirebaseInAppMessaging/Tests/Unit/FIRIAMActionUrlFollowerTests.m +++ b/FirebaseInAppMessaging/Tests/Unit/FIRIAMActionUrlFollowerTests.m @@ -84,8 +84,10 @@ - (void)testUniversalLinkHandlingReturnYES { continueUserActivity:[OCMArg checkWithBlock:^BOOL(id userActivity) { // verifying the type and url field for the userActivity object NSUserActivity *activity = (NSUserActivity *)userActivity; + // Use string literal to ensure compatibility with Xcode 26 and iOS 18 + NSString *browsingWebType = @"NSUserActivityTypeBrowsingWeb"; return [activity.activityType - isEqualToString:NSUserActivityTypeBrowsingWeb] && + isEqualToString:browsingWebType] && [activity.webpageURL isEqual:url]; }] restorationHandler:[OCMArg any]]) diff --git a/FirebaseMessaging/Sources/FIRMessaging.m b/FirebaseMessaging/Sources/FIRMessaging.m index e2bb09b098c..992509cf0b6 100644 --- a/FirebaseMessaging/Sources/FIRMessaging.m +++ b/FirebaseMessaging/Sources/FIRMessaging.m @@ -400,8 +400,10 @@ - (void)handleIncomingLinkIfNeededFromMessage:(NSDictionary *)message { // if they haven't implemented it. if ([NSUserActivity class] != nil && [appDelegate respondsToSelector:continueUserActivitySelector]) { + // Use string literal to ensure compatibility with Xcode 26 and iOS 18 + NSString *browsingWebType = @"NSUserActivityTypeBrowsingWeb"; NSUserActivity *userActivity = - [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb]; + [[NSUserActivity alloc] initWithActivityType:browsingWebType]; userActivity.webpageURL = url; [appDelegate application:application continueUserActivity:userActivity