I am trying to follow the guide here: https://firebase.google.com/docs/cloud-messaging/ios/send-image
I went to New > Target > Notification Service Extension (embedded this new target into the original target) and pasted in NotificationService.m
:
@interface NotificationService ()@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;@end@implementation NotificationService- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { self.contentHandler = contentHandler; self.bestAttemptContent = [request.content mutableCopy]; // Modify the notification content here... self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title]; // Call FIRMessaging extension helper API. [[FIRMessaging extensionHelper] populateNotificationContent:self.bestAttemptContent withContentHandler:contentHandler]; self.contentHandler(self.bestAttemptContent);}- (void)serviceExtensionTimeWillExpire { // Called just before the extension will be terminated by the system. // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. self.contentHandler(self.bestAttemptContent);}@end
I am now getting Use of undeclared identifier 'FIRMessaging' in NotificationService.m
.
In NotificationService.m
I tried to import similarly to my original target's AppDelegate.m
where FIRMessaging
is available and working with no issues:
#import "NotificationService.h"#import <Firebase.h>#import "RNFirebaseNotifications.h"#import "RNFirebaseMessaging.h"...
Then I get 'Firebase.h' file not found
. I am confused because it seems to work in the original target, and this notification service extension is embedded in that target. I have tried messing with Header Search Paths
and Framework Search Paths
without much luck. What am I doing wrong?