Parcourir la source

Add InstanceID deprecation warning (#6585)

Chen Liang il y a 5 ans
Parent
commit
f0e7b8e195

+ 3 - 0
Example/InstanceID/IntegrationTests/FIRInstanceIDIntegrationTests.m

@@ -26,6 +26,8 @@
 
 static BOOL sFIRInstanceIDFirebaseDefaultAppConfigured = NO;
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @interface FIRInstanceIDIntegrationTests : XCTestCase
 @property(nonatomic, strong) FIRInstanceID *instanceID;
 @end
@@ -134,6 +136,7 @@ static BOOL sFIRInstanceIDFirebaseDefaultAppConfigured = NO;
 
   [self waitForExpectations:@[ expectation ] timeout:5];
 }
+#pragma clang diagnostic pop
 
 - (NSString *)tokenAuthorizedEntity {
   if (!sFIRInstanceIDFirebaseDefaultAppConfigured) {

+ 10 - 0
Example/InstanceID/Tests/FIRInstanceIDResultTest.m

@@ -35,7 +35,11 @@ static NSString *const kFakeToken =
 @end
 
 @interface FIRInstanceIDResultTest : XCTestCase {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   FIRInstanceID *_instanceID;
+#pragma clang diagnostic pop
+
   id _mockInstanceID;
 }
 
@@ -45,7 +49,10 @@ static NSString *const kFakeToken =
 
 - (void)setUp {
   [super setUp];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   _mockInstanceID = OCMClassMock([FIRInstanceID class]);
+#pragma clang diagnostic pop
 }
 
 - (void)tearDown {
@@ -54,6 +61,8 @@ static NSString *const kFakeToken =
   [super tearDown];
 }
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 - (void)testResultWithFailedIID {
   // mocking getting iid failed with error.
   OCMStub([_mockInstanceID
@@ -130,5 +139,6 @@ static NSString *const kFakeToken =
         XCTAssertEqualObjects(resultCopy.token, kFakeToken);
       }];
 }
+#pragma clang diagnostic pop
 
 @end

+ 13 - 3
Example/InstanceID/Tests/FIRInstanceIDTest.m

@@ -75,7 +75,10 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
 @interface FIRInstanceIDTest : XCTestCase
 
 @property(nonatomic, readwrite, assign) BOOL hasCheckinInfo;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 @property(nonatomic, readwrite, strong) id mockInstanceID;
 @property(nonatomic, readwrite, strong) id mockTokenManager;
 @property(nonatomic, readwrite, strong) id mockInstallations;
@@ -89,6 +92,8 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
 
 @implementation FIRInstanceIDTest
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 - (void)setUp {
   [super setUp];
 
@@ -134,8 +139,11 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
   _instanceID.fcmSenderID = kAuthorizedEntity;
   self.mockInstanceID = OCMPartialMock(_instanceID);
   [self.mockInstanceID setTokenManager:self.mockTokenManager];
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   id instanceIDClassMock = OCMClassMock([FIRInstanceID class]);
+#pragma clang diagnostic pop
+
   OCMStub(ClassMethod([instanceIDClassMock minIntervalForDefaultTokenRetry])).andReturn(2);
   OCMStub(ClassMethod([instanceIDClassMock maxRetryIntervalForDefaultTokenInSeconds]))
       .andReturn(10);
@@ -146,6 +154,8 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
  *  FIRInstanceID with an associated FIRInstanceIDTokenManager.
  */
 - (void)testSharedInstance {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   // The shared instance should be `nil` before the app is configured.
   XCTAssertNil([FIRInstanceID instanceID]);
 
@@ -168,8 +178,7 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
 
   // Verify FirebaseInstallations requested for FID.
   OCMVerifyAll(self.mockInstallations);
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
   XCTAssertEqualObjects([instanceID appInstanceID:NULL], @"fid");
 #pragma clang diagnostic pop
 
@@ -1470,5 +1479,6 @@ static NSString *const kGoogleAppID = @"1:123:ios:123abc";
     return YES;
   }];
 }
+#pragma clang diagnostic pop
 
 @end

+ 3 - 0
Firebase/InstanceID/CHANGELOG.md

@@ -1,3 +1,6 @@
+# 2020-09 -- 4.7.0
+- [changed] Added deprecation warning for InstanceID. InstanceID is deprecated. For app instance identity handling, use FirebaseInstallations. For FCM registration token handling, use FirebaseMessaging. (#6585)
+
 # 2020-08 -- 4.6.0
 - [added] Added a new notification listening token refresh from Messaging and update the token cache in InstanceID. (#6286)
 - [fixed] Fixed an issue that token refresh notification is not triggered when use `tokenWithAuthorizedEntity:scope:options:handler` to get token. (#6286)

+ 3 - 0
Firebase/InstanceID/FIRInstanceID+Private.m

@@ -31,7 +31,10 @@
 
 @end
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
 @implementation FIRInstanceID (Private)
+#pragma clang diagnostic pop
 
 // This method just wraps our pre-configured auth service to make the request.
 // This method is only needed by first-party users, like Remote Config.

+ 6 - 0
Firebase/InstanceID/FIRInstanceID.m

@@ -132,7 +132,10 @@ typedef NS_ENUM(NSInteger, FIRInstanceIDAPNSTokenType) {
 @interface FIRInstanceID () <FIRInstanceIDInstanceProvider, FIRLibrary>
 @end
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
 @implementation FIRInstanceIDResult
+#pragma clang diagnostic pop
 - (id)copyWithZone:(NSZone *)zone {
   FIRInstanceIDResult *result = [[[self class] allocWithZone:zone] init];
   result.instanceID = self.instanceID;
@@ -141,7 +144,10 @@ typedef NS_ENUM(NSInteger, FIRInstanceIDAPNSTokenType) {
 }
 @end
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
 @implementation FIRInstanceID
+#pragma clang diagnostic pop
 
 // File static to support InstanceID tests that call [FIRInstanceID instanceID] after
 // [FIRInstanceID instanceIDForTests].

+ 3 - 0
Firebase/InstanceID/FIRInstanceIDUtilities.m

@@ -144,8 +144,11 @@ BOOL FIRInstanceIDHasLocaleChanged() {
 #pragma mark - Helpers
 
 BOOL FIRInstanceIDIsValidGCMScope(NSString *scope) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   return [scope compare:kFIRInstanceIDScopeFirebaseMessaging
                 options:NSCaseInsensitiveSearch] == NSOrderedSame;
+#pragma clang diagnostic pop
 }
 
 NSString *FIRInstanceIDStringForAPNSDeviceToken(NSData *deviceToken) {

+ 25 - 10
Firebase/InstanceID/Public/FIRInstanceID.h

@@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
  *  The scope to be used when fetching/deleting a token for Firebase Messaging.
  */
 FOUNDATION_EXPORT NSString *const kFIRInstanceIDScopeFirebaseMessaging
-    NS_SWIFT_NAME(InstanceIDScopeFirebaseMessaging);
+    NS_SWIFT_NAME(InstanceIDScopeFirebaseMessaging) DEPRECATED_ATTRIBUTE;
 
 #if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
 /**
@@ -37,7 +37,7 @@ FOUNDATION_EXPORT NSString *const kFIRInstanceIDScopeFirebaseMessaging
  *  to control the rate of token updates on application servers.
  */
 FOUNDATION_EXPORT const NSNotificationName kFIRInstanceIDTokenRefreshNotification
-    NS_SWIFT_NAME(InstanceIDTokenRefresh);
+    NS_SWIFT_NAME(InstanceIDTokenRefresh) DEPRECATED_ATTRIBUTE;
 #else
 /**
  *  Called when the system determines that tokens need to be refreshed.
@@ -48,7 +48,7 @@ FOUNDATION_EXPORT const NSNotificationName kFIRInstanceIDTokenRefreshNotificatio
  *  to control the rate of token updates on application servers.
  */
 FOUNDATION_EXPORT NSString *const kFIRInstanceIDTokenRefreshNotification
-    NS_SWIFT_NAME(InstanceIDTokenRefreshNotification);
+    NS_SWIFT_NAME(InstanceIDTokenRefreshNotification) DEPRECATED_ATTRIBUTE;
 #endif  // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
 
 /**
@@ -150,7 +150,10 @@ typedef NS_ENUM(NSUInteger, FIRInstanceIDError) {
  * A class contains the results of InstanceID and token query.
  */
 NS_SWIFT_NAME(InstanceIDResult)
-@interface FIRInstanceIDResult : NSObject <NSCopying>
+__deprecated_msg("FIRInstanceIDResult is deprecated, please use FIRInstallations "
+                 "for app instance identifier handling and use FIRMessaging for "
+                 "FCM registration token handling.") @interface FIRInstanceIDResult
+    : NSObject<NSCopying>
 
 /**
  * An instanceID uniquely identifies the app instance.
@@ -184,7 +187,9 @@ NS_SWIFT_NAME(InstanceIDResult)
  *  `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`.
  */
 NS_SWIFT_NAME(InstanceID)
-@interface FIRInstanceID : NSObject
+__deprecated_msg("FIRInstanceID is deprecated, please use FIRInstallations for installation "
+                 "identifier handling and use FIRMessaging for FCM registration token handling.")
+    @interface FIRInstanceID : NSObject
 
 /**
  *  FIRInstanceID.
@@ -206,7 +211,10 @@ NS_SWIFT_NAME(InstanceID)
  *                  are generated and returned. If instanceID and token fetching fail for some
  *                  reason the callback is invoked with nil `result` and the appropriate error.
  */
-- (void)instanceIDWithHandler:(FIRInstanceIDResultHandler)handler;
+- (void)instanceIDWithHandler:(FIRInstanceIDResultHandler)handler
+    __deprecated_msg("Use `Installations.installationID(completion:)` to get the app instance "
+                     "identifier instead. "
+                     "Use `Messaging.token(completion:)` to get FCM registration token instead.");
 
 /**
  *  Returns a token that authorizes an Entity (example: cloud service) to perform
@@ -250,7 +258,8 @@ NS_SWIFT_NAME(InstanceID)
 - (void)tokenWithAuthorizedEntity:(NSString *)authorizedEntity
                             scope:(NSString *)scope
                           options:(nullable NSDictionary *)options
-                          handler:(FIRInstanceIDTokenHandler)handler;
+                          handler:(FIRInstanceIDTokenHandler)handler
+    __deprecated_msg("Use Messaging.token(completion:) instead.");
 
 /**
  *  Revokes access to a scope (action) for an entity previously
@@ -273,7 +282,8 @@ NS_SWIFT_NAME(InstanceID)
  */
 - (void)deleteTokenWithAuthorizedEntity:(NSString *)authorizedEntity
                                   scope:(NSString *)scope
-                                handler:(FIRInstanceIDDeleteTokenHandler)handler;
+                                handler:(FIRInstanceIDDeleteTokenHandler)handler
+    __deprecated_msg("Use `Messaging.deleteToken(completion:)` instead.");
 
 #pragma mark - Identity
 
@@ -291,7 +301,9 @@ NS_SWIFT_NAME(InstanceID)
  *                 a valid identifier is returned and a valid identifier for the
  *                 application instance.
  */
-- (void)getIDWithHandler:(FIRInstanceIDHandler)handler NS_SWIFT_NAME(getID(handler:));
+- (void)getIDWithHandler:(FIRInstanceIDHandler)handler
+    NS_SWIFT_NAME(getID(handler:))
+        __deprecated_msg("Use `Installations.installationID(completion:)` instead.");
 
 /**
  *  Resets Instance ID and revokes all tokens.
@@ -305,7 +317,10 @@ NS_SWIFT_NAME(InstanceID)
  *  (like FCM, RemoteConfig or Analytics) or user explicitly calls Instance ID APIs to get an
  *  Instance ID and token again.
  */
-- (void)deleteIDWithHandler:(FIRInstanceIDDeleteHandler)handler NS_SWIFT_NAME(deleteID(handler:));
+- (void)deleteIDWithHandler:(FIRInstanceIDDeleteHandler)handler NS_SWIFT_NAME(deleteID(handler:))
+                                __deprecated_msg("Use `Installations.delete(completion:)` instead. "
+                                                 "Also check `Messaging.deleteData(completion:)`"
+                                                 "if you want to delete FCM registration token.");
 
 @end
 

+ 1 - 1
FirebaseInstanceID.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseInstanceID'
-  s.version          = '4.7.0'
+  s.version          = '4.8.0'
   s.summary          = 'Firebase InstanceID'
 
   s.description      = <<-DESC

+ 1 - 1
FirebaseMessaging.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseMessaging'
-  s.version          = '4.7.0'
+  s.version          = '4.7.1'
   s.summary          = 'Firebase Messaging'
 
   s.description      = <<-DESC

+ 3 - 0
FirebaseMessaging/CHANGELOG.md

@@ -1,3 +1,6 @@
+# 2020-09 -- v.4.7.1
+- [added] InstanceID is deprecated, add macro to suppress deprecation warning. (#6585)
+
 # 2020-09 -- v.4.7.0
 - [added] Added new token APIs to get and delete the default FCM registration token asynchronously. Also added a new `Messaging.delete(completion:)` method that deletes all FCM registration tokens and checkin data. (#6313)
 

+ 24 - 2
FirebaseMessaging/Sources/FIRMessaging.m

@@ -142,8 +142,10 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
 // FIRApp properties
 @property(nonatomic, readwrite, strong) NSData *apnsTokenData;
 @property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 
 @property(nonatomic, readwrite, strong) FIRMessagingClient *client;
 @property(nonatomic, readwrite, strong) GULReachabilityChecker *reachability;
@@ -183,10 +185,12 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
   });
   return extensionHelper;
 }
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 - (instancetype)initWithAnalytics:(nullable id<FIRAnalyticsInterop>)analytics
                    withInstanceID:(FIRInstanceID *)instanceID
                  withUserDefaults:(GULUserDefaults *)defaults {
+#pragma clang diagnostic pop
   self = [super init];
   if (self != nil) {
     _loggedMessageIDs = [NSMutableSet set];
@@ -226,10 +230,13 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
     // Ensure it's cached so it returns the same instance every time messaging is called.
     *isCacheable = YES;
     id<FIRAnalyticsInterop> analytics = FIR_COMPONENT(FIRAnalyticsInterop, container);
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     FIRMessaging *messaging =
         [[FIRMessaging alloc] initWithAnalytics:analytics
                                  withInstanceID:[FIRInstanceID instanceID]
                                withUserDefaults:[GULUserDefaults standardUserDefaults]];
+#pragma clang diagnostic pop
     [messaging start];
     [messaging configureNotificationSwizzlingIfEnabled];
     return messaging;
@@ -595,10 +602,13 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                            @"set.",
                            senderID);
   }
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   [self.instanceID tokenWithAuthorizedEntity:senderID
                                        scope:kFIRMessagingDefaultTokenScope
                                      options:options
                                      handler:completion];
+#pragma clang diagnostic pop
 }
 
 - (void)deleteFCMTokenForSenderID:(nonnull NSString *)senderID
@@ -615,12 +625,17 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
     }
     return;
   }
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   [self.instanceID deleteTokenWithAuthorizedEntity:senderID
                                              scope:kFIRMessagingDefaultTokenScope
                                            handler:completion];
+#pragma clang diagnostic pop
 }
 
 - (void)deleteDataWithCompletion:(void (^)(NSError *_Nullable))completion {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   FIRMessaging_WEAKIFY(self);
   [self.instanceID
       deleteTokenWithAuthorizedEntity:@"*"
@@ -650,6 +665,7 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                                       completion(nil);
                                     }];
                               }];
+#pragma clang diagnostic pop
 }
 
 #pragma mark - FIRMessagingDelegate helper methods
@@ -795,6 +811,8 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                            topic, [FIRMessagingPubSub removePrefixFromTopic:topic]);
   }
   __weak FIRMessaging *weakSelf = self;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   [self.instanceID instanceIDWithHandler:^(FIRInstanceIDResult *_Nullable result,
                                            NSError *_Nullable error) {
     if (error) {
@@ -820,6 +838,7 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                                    failureReason:failureReason]);
     }
   }];
+#pragma clang diagnostic pop
 }
 
 - (void)unsubscribeFromTopic:(NSString *)topic {
@@ -835,6 +854,8 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                            topic, [FIRMessagingPubSub removePrefixFromTopic:topic]);
   }
   __weak FIRMessaging *weakSelf = self;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   [self.instanceID instanceIDWithHandler:^(FIRInstanceIDResult *_Nullable result,
                                            NSError *_Nullable error) {
     if (error) {
@@ -860,6 +881,7 @@ BOOL FIRMessagingIsContextManagerMessage(NSDictionary *message) {
                                    failureReason:failureReason]);
     }
   }];
+#pragma clang diagnostic pop
 }
 
 #pragma mark - Send

+ 12 - 1
FirebaseMessaging/Sources/FIRMessagingClient.m

@@ -231,7 +231,10 @@ static NSUInteger FIRMessagingServerPort() {
   }
 
   self.stayConnected = YES;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   if (![[FIRInstanceID instanceID] tryToLoadValidCheckinInfo]) {
+#pragma clang diagnostic pop
     // Checkin info is not available. This may be due to the checkin still being fetched.
     NSString *failureReason = @"Failed to connect to MCS. No deviceID and secret found.";
     if (self.connectHandler) {
@@ -319,9 +322,11 @@ static NSUInteger FIRMessagingServerPort() {
                                              object:nil];
   self.connectRetryCount = 0;
   self.lastConnectedTimestamp = FIRMessagingCurrentTimestampInMilliseconds();
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   [self.dataMessageManager setDeviceAuthID:[FIRInstanceID instanceID].deviceAuthID
                                secretToken:[FIRInstanceID instanceID].secretToken];
+#pragma clang diagnostic pop
   if (self.connectHandler) {
     self.connectHandler(nil);
     // notified the third party app with the registrationId.
@@ -371,6 +376,8 @@ static NSUInteger FIRMessagingServerPort() {
     [self.connection signOut];
     self.connection.delegate = nil;
   }
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   self.connection =
       [[FIRMessagingConnection alloc] initWithAuthID:[FIRInstanceID instanceID].deviceAuthID
                                                token:[FIRInstanceID instanceID].secretToken
@@ -379,6 +386,7 @@ static NSUInteger FIRMessagingServerPort() {
                                              runLoop:[NSRunLoop mainRunLoop]
                                          rmq2Manager:self.rmq2Manager
                                           fcmManager:self.dataMessageManager];
+#pragma clang diagnostic pop
   self.connection.delegate = self;
 }
 
@@ -391,8 +399,11 @@ static NSUInteger FIRMessagingServerPort() {
   [NSObject cancelPreviousPerformRequestsWithTarget:self
                                            selector:@selector(tryToConnect)
                                              object:nil];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   NSString *deviceAuthID = [FIRInstanceID instanceID].deviceAuthID;
   NSString *secretToken = [FIRInstanceID instanceID].secretToken;
+#pragma clang diagnostic pop
   if (deviceAuthID.length == 0 || secretToken.length == 0 || !self.connection) {
     FIRMessagingLoggerWarn(
         kFIRMessagingMessageCodeClientInvalidState,

+ 3 - 0
FirebaseMessaging/Sources/FIRMessagingPubSub.m

@@ -105,7 +105,10 @@ static NSString *const kPendingSubscriptionsListKey =
                             options:(NSDictionary *)options
                        shouldDelete:(BOOL)shouldDelete
                             handler:(FIRMessagingTopicOperationCompletion)handler {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   if ([[FIRInstanceID instanceID] tryToLoadValidCheckinInfo]) {
+#pragma clang diagnostic pop
     FIRMessagingTopicAction action =
         shouldDelete ? FIRMessagingTopicActionUnsubscribe : FIRMessagingTopicActionSubscribe;
     FIRMessagingTopicOperation *operation = [[FIRMessagingTopicOperation alloc]

+ 3 - 1
FirebaseMessaging/Sources/FIRMessagingTopicOperation.m

@@ -159,13 +159,15 @@ NSString *FIRMessagingSubscriptionsServer() {
   NSURL *url = [NSURL URLWithString:FIRMessagingSubscriptionsServer()];
   NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
   NSString *appIdentifier = FIRMessagingAppIdentifier();
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   NSString *deviceAuthID = [FIRInstanceID instanceID].deviceAuthID;
   NSString *secretToken = [FIRInstanceID instanceID].secretToken;
   NSString *authString = [NSString stringWithFormat:@"AidLogin %@:%@", deviceAuthID, secretToken];
   [request setValue:authString forHTTPHeaderField:@"Authorization"];
   [request setValue:appIdentifier forHTTPHeaderField:@"app"];
   [request setValue:[FIRInstanceID instanceID].versionInfo forHTTPHeaderField:@"info"];
-
+#pragma clang diagnostic pop
   // Topic can contain special characters (like `%`) so encode the value.
   NSCharacterSet *characterSet = [NSCharacterSet URLQueryAllowedCharacterSet];
   NSString *encodedTopic =

+ 0 - 4
FirebaseMessaging/Tests/IntegrationTests/FIRMessagingTokenRefreshTests.swift

@@ -20,7 +20,6 @@
 #if !os(OSX)
 
   import FirebaseCore
-  import FirebaseInstanceID
   import FirebaseMessaging
   import XCTest
 
@@ -36,7 +35,6 @@
 
   class FIRMessagingTokenRefreshTests: XCTestCase {
     var app: FirebaseApp!
-    var instanceID: InstanceID?
     var messaging: Messaging?
 
     override class func setUp() {
@@ -44,12 +42,10 @@
     }
 
     override func setUp() {
-      instanceID = InstanceID.instanceID()
       messaging = Messaging.messaging()
     }
 
     override func tearDown() {
-      instanceID = nil
       messaging = nil
     }
 

+ 3 - 1
FirebaseMessaging/Tests/UnitTests/FIRInstanceIDWithFCMTest.m

@@ -32,8 +32,10 @@
 @end
 
 @interface FIRInstanceIDTest : XCTestCase
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 @property(nonatomic, readwrite, strong) id mockFirebaseApp;
 @property(nonatomic, readwrite, strong) FIRMessagingTestUtilities *testUtil;
 @property(nonatomic, strong) FIRMessaging *messaging;

+ 3 - 1
FirebaseMessaging/Tests/UnitTests/FIRMessagingClientTest.m

@@ -290,8 +290,10 @@ static NSString *const kSecretToken = @"56789";
   // `FIRInstallations` default instance. Need to stub it before.
   self.mockInstallations = OCMClassMock([FIRInstallations class]);
   OCMStub([self.mockInstallations installations]).andReturn(self.mockInstallations);
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   self.mockInstanceID = OCMPartialMock([FIRInstanceID instanceIDForTests]);
+#pragma clang diagnostic pup
   OCMStub([self.mockInstanceID tryToLoadValidCheckinInfo]).andReturn(YES);
   OCMStub([self.mockInstanceID deviceAuthID]).andReturn(kDeviceAuthId);
   OCMStub([self.mockInstanceID secretToken]).andReturn(kSecretToken);

+ 3 - 0
FirebaseMessaging/Tests/UnitTests/FIRMessagingHandlingTest.m

@@ -38,7 +38,10 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
 @interface FIRMessaging ()
 
 @property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 
 - (BOOL)handleContextManagerMessage:(NSDictionary *)message;
 - (void)handleIncomingLinkIfNeededFromMessage:(NSDictionary *)message;

+ 4 - 0
FirebaseMessaging/Tests/UnitTests/FIRMessagingServiceTest.m

@@ -41,6 +41,8 @@ static NSString *const kFIRMessagingTestsServiceSuiteName = @"com.messaging.test
 @property(nonatomic, readwrite, strong) FIRMessagingClient *client;
 @property(nonatomic, readwrite, strong) FIRMessagingPubSub *pubsub;
 @property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
 
 @end
@@ -349,4 +351,6 @@ static NSString *const kFIRMessagingTestsServiceSuiteName = @"com.messaging.test
                         }];
   [self waitForExpectationsWithTimeout:0.2 handler:nil];
 }
+#pragma clang diagnostic pop
+
 @end

+ 9 - 3
FirebaseMessaging/Tests/UnitTests/FIRMessagingTest.m

@@ -38,7 +38,10 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
 
 @property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
 @property(nonatomic, readwrite, strong) NSData *apnsTokenData;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readwrite, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 
 // Expose autoInitEnabled static method for IID.
 + (BOOL)isAutoInitEnabledWithUserDefaults:(NSUserDefaults *)userDefaults;
@@ -63,8 +66,10 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
 
 - (void)setUp {
   [super setUp];
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
   _mockInstanceID = OCMClassMock([FIRInstanceID class]);
+#pragma clang diagnostic pop
 
   // Create the messaging instance with all the necessary dependencies.
   NSUserDefaults *defaults =
@@ -225,7 +230,8 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
 #endif
 
 #pragma mark - FCM Token Fetching and Deleting
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 - (void)testAPNSTokenIncludedInOptionsIfAvailableDuringTokenFetch {
   self.messaging.apnsTokenData =
       [@"PRETENDING_TO_BE_A_DEVICE_TOKEN" dataUsingEncoding:NSUTF8StringEncoding];
@@ -264,7 +270,7 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
                        }];
   [self waitForExpectationsWithTimeout:0.1 handler:nil];
 }
-
+#pragma clang diagnostic pop
 - (void)testReturnsErrorWhenFetchingTokenWithoutSenderID {
   XCTestExpectation *expectation =
       [self expectationWithDescription:@"Returned an error fetching token without Sender ID"];

+ 3 - 0
FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.h

@@ -57,7 +57,10 @@ typedef void (^MockDelegateSubscriptionHandler)(NSString *topic,
 @property(nonatomic, strong) id mockMessaging;
 @property(nonatomic, strong) id mockInstallations;
 @property(nonatomic, readonly, strong) FIRMessaging *messaging;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property(nonatomic, readonly, strong) FIRInstanceID *instanceID;
+#pragma clang diagnostic pop
 
 - (instancetype)initWithUserDefaults:(NSUserDefaults *)userDefaults
                       withRMQManager:(BOOL)withRMQManager;

+ 6 - 2
FirebaseMessaging/Tests/UnitTests/FIRMessagingTestUtilities.m

@@ -48,10 +48,12 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
 @property(nonatomic, readwrite, strong) FIRMessagingRmqManager *rmq2Manager;
 
 /// Surface internal initializer to avoid singleton usage during tests.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 - (instancetype)initWithAnalytics:(nullable id<FIRAnalyticsInterop>)analytics
                    withInstanceID:(FIRInstanceID *)instanceID
                  withUserDefaults:(GULUserDefaults *)defaults;
-
+#pragma clang diagnostic pop
 /// Kicks off required calls for some messaging tests.
 - (void)start;
 - (void)setupRmqManager;
@@ -97,8 +99,10 @@ static NSString *const kFIRMessagingDefaultsTestDomain = @"com.messaging.tests";
     // `FIRInstallations` default instance. Need to stub it before.
     _mockInstallations = OCMClassMock([FIRInstallations class]);
     OCMStub([self.mockInstallations installations]).andReturn(self.mockInstallations);
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     _instanceID = [[FIRInstanceID alloc] initPrivately];
+#pragma clang diagnostic pop
     [_instanceID start];
 
     // Create the messaging instance and call `start`.