Repository: firebase/firebase-ios-sdk (language: cpp)

Issue:
[Cleanup]: Migrate away from GULSecureCoding in Firebase 11
### Description

FirebaseMessaging uses GULSecureCoding which provides a compat API (https://github.com/google/GoogleUtilities/blob/main/GoogleUtilities/Environment/Public/GoogleUtilities/GULSecureCoding.h) that will no longer be needed when the minimum version is raised in Firebase 11.

```
FirebaseMessaging/Sources/FIRMessagingPubSub.m:#import <GoogleUtilities/GULSecureCoding.h>
FirebaseMessaging/Sources/FIRMessagingPubSub.m-#import <GoogleUtilities/GULUserDefaults.h>
FirebaseMessaging/Sources/FIRMessagingPubSub.m-#import "FirebaseMessaging/Sources/FIRMessagingDefines.h"
FirebaseMessaging/Sources/FIRMessagingPubSub.m-#import "FirebaseMessaging/Sources/FIRMessagingLogger.h"
FirebaseMessaging/Sources/FIRMessagingPubSub.m-#import "FirebaseMessaging/Sources/FIRMessagingPendingTopicsList.h"
FirebaseMessaging/Sources/FIRMessagingPubSub.m-#import "FirebaseMessaging/Sources/FIRMessagingTopicOperation.h"
--
FirebaseMessaging/Sources/FIRMessagingPubSub.m:  NSData *pendingData = [GULSecureCoding archivedDataWithRootObject:topicsList error:&error];
FirebaseMessaging/Sources/FIRMessagingPubSub.m-  if (error) {
FirebaseMessaging/Sources/FIRMessagingPubSub.m-    FIRMessagingLoggerError(kFIRMessagingMessageCodePubSubArchiveError,
FirebaseMessaging/Sources/FIRMessagingPubSub.m-                            @"Failed to archive topic list data %@", error);
FirebaseMessaging/Sources/FIRMessagingPubSub.m-    return;
FirebaseMessaging/Sources/FIRMessagingPubSub.m-  }
--
FirebaseMessaging/Sources/FIRMessagingPubSub.m:    subscriptions = [GULSecureCoding
FirebaseMessaging/Sources/FIRMessagingPubSub.m-        unarchivedObjectOfClasses:[NSSet setWithObjects:FIRMessagingPendingTopicsList.class, nil]
FirebaseMessaging/Sources/FIRMessagingPubSub.m-                         fromData:pendingData
FirebaseMessaging/Sources/FIRMessagingPubSub.m-                            error:&error];
FirebaseMessaging/Sources/FIRMessagingPubSub.m-    if (error) {
FirebaseMessaging/Sources/FIRMessagingPubSub.m-      FIRMessagingLoggerError(kFIRMessagingMessageCodePubSubUnarchiveError,
```

### API Proposal

_No response_

### Firebase Product(s)

Messaging


Discussion / hints:

Fix patch:
diff --git a/FirebaseMessaging/Sources/FIRMessagingPubSub.m b/FirebaseMessaging/Sources/FIRMessagingPubSub.m
index 9b87d4e0f6b..6f2db561553 100644
--- a/FirebaseMessaging/Sources/FIRMessagingPubSub.m
+++ b/FirebaseMessaging/Sources/FIRMessagingPubSub.m
@@ -16,7 +16,6 @@
 
 #import "FirebaseMessaging/Sources/FIRMessagingPubSub.h"
 
-#import <GoogleUtilities/GULSecureCoding.h>
 #import <GoogleUtilities/GULUserDefaults.h>
 #import "FirebaseMessaging/Sources/FIRMessagingDefines.h"
 #import "FirebaseMessaging/Sources/FIRMessagingLogger.h"
@@ -226,7 +225,9 @@ - (BOOL)pendingTopicsListCanRequestTopicUpdates:(FIRMessagingPendingTopicsList *
 - (void)archivePendingTopicsList:(FIRMessagingPendingTopicsList *)topicsList {
   GULUserDefaults *defaults = [GULUserDefaults standardUserDefaults];
   NSError *error;
-  NSData *pendingData = [GULSecureCoding archivedDataWithRootObject:topicsList error:&error];
+  NSData *pendingData = [NSKeyedArchiver archivedDataWithRootObject:topicsList
+                                              requiringSecureCoding:YES
+                                                              error:&error];
   if (error) {
     FIRMessagingLoggerError(kFIRMessagingMessageCodePubSubArchiveError,
                             @"Failed to archive topic list data %@", error);
@@ -242,7 +243,7 @@ - (void)restorePendingTopicsList {
   FIRMessagingPendingTopicsList *subscriptions;
   if (pendingData) {
     NSError *error;
-    subscriptions = [GULSecureCoding
+    subscriptions = [NSKeyedUnarchiver
         unarchivedObjectOfClasses:[NSSet setWithObjects:FIRMessagingPendingTopicsList.class, nil]
                          fromData:pendingData
                             error:&error];


Test patch: