aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firebase
diff options
context:
space:
mode:
authorGravatar Chen Liang <chliang@google.com>2018-06-19 14:08:53 -0700
committerGravatar GitHub <noreply@github.com>2018-06-19 14:08:53 -0700
commit69ccd6d8b18b833acfd47ce251f05e94000e6ff5 (patch)
treec6f9f3ac6632940022cbd19c17f34fe0b8390536 /Firebase
parentfb9482c303a3f53c2f16eb41a8614f2d4302a9e3 (diff)
Corrected the deprecation warning when subscribing to or unsubscribing from a topic (#1425)
Diffstat (limited to 'Firebase')
-rw-r--r--Firebase/Messaging/FIRMessaging.m6
-rw-r--r--Firebase/Messaging/FIRMessagingPubSub.h9
-rw-r--r--Firebase/Messaging/FIRMessagingPubSub.m8
3 files changed, 21 insertions, 2 deletions
diff --git a/Firebase/Messaging/FIRMessaging.m b/Firebase/Messaging/FIRMessaging.m
index a97374b..efafcc2 100644
--- a/Firebase/Messaging/FIRMessaging.m
+++ b/Firebase/Messaging/FIRMessaging.m
@@ -700,7 +700,8 @@ NSString *const kFIRMessagingPlistAutoInitEnabled =
if ([FIRMessagingPubSub hasTopicsPrefix:topic]) {
FIRMessagingLoggerWarn(kFIRMessagingMessageCodeTopicFormatIsDeprecated,
@"Format '%@' is deprecated. Only '%@' should be used in "
- @"subscribeToTopic.", topic, normalizeTopic);
+ @"subscribeToTopic.", topic,
+ [FIRMessagingPubSub removePrefixFromTopic:topic]);
}
if (normalizeTopic.length) {
[self.pubsub subscribeToTopic:normalizeTopic handler:completion];
@@ -726,7 +727,8 @@ NSString *const kFIRMessagingPlistAutoInitEnabled =
if ([FIRMessagingPubSub hasTopicsPrefix:topic]) {
FIRMessagingLoggerWarn(kFIRMessagingMessageCodeTopicFormatIsDeprecated,
@"Format '%@' is deprecated. Only '%@' should be used in "
- @"unsubscribeFromTopic.", topic, normalizeTopic);
+ @"unsubscribeFromTopic.", topic,
+ [FIRMessagingPubSub removePrefixFromTopic:topic]);
}
if (normalizeTopic.length) {
[self.pubsub unsubscribeFromTopic:normalizeTopic handler:completion];
diff --git a/Firebase/Messaging/FIRMessagingPubSub.h b/Firebase/Messaging/FIRMessagingPubSub.h
index 1c615d1..ebb4ca8 100644
--- a/Firebase/Messaging/FIRMessagingPubSub.h
+++ b/Firebase/Messaging/FIRMessagingPubSub.h
@@ -139,6 +139,15 @@ NS_ASSUME_NONNULL_BEGIN
+ (NSString *)addPrefixToTopic:(NSString *)topic;
/**
+ * Removes the "/topics/" prefix from the topic.
+ *
+ * @param topic The topic to remove the prefix from.
+ *
+ * @return The new topic name with the "/topics/" prefix removed.
+ */
+
++ (NSString *)removePrefixFromTopic:(NSString *)topic;
+/**
* Check if the topic name has "/topics/" prefix.
*
* @param topic The topic name to verify.
diff --git a/Firebase/Messaging/FIRMessagingPubSub.m b/Firebase/Messaging/FIRMessagingPubSub.m
index 09491b4..3f954e8 100644
--- a/Firebase/Messaging/FIRMessagingPubSub.m
+++ b/Firebase/Messaging/FIRMessagingPubSub.m
@@ -231,6 +231,14 @@ static NSString *const kTopicRegexPattern = @"/topics/([a-zA-Z0-9-_.~%]+)";
}
}
++ (NSString *)removePrefixFromTopic:(NSString *)topic {
+ if ([self hasTopicsPrefix:topic]) {
+ return [topic substringFromIndex:kTopicsPrefix.length];
+ } else {
+ return [topic copy];
+ }
+}
+
+ (BOOL)hasTopicsPrefix:(NSString *)topic {
return [topic hasPrefix:kTopicsPrefix];
}