mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 09:35:48 +00:00
e000b71845
Summary: **Motivation** To allow handling of remote notifications using the preferred delegate [application:didReceiveRemoteNotification:fetchCompletionHandler](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/#//apple_ref/occ/intfm/UIApplicationDelegate/application:didReceiveRemoteNotification:fetchCompletionHandler:). React native right now is setup to use [application:didReceiveRemoteNotification](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/#//apple_ref/occ/intfm/UIApplicationDelegate/application:didReceiveRemoteNotification:) which doesn't give the engineer the option to call back to the app via a completion handler and inform the app that it is done with handling the push notification. The primary reason to use the `fetchCompletionHandler` would be to wake up the app to fetch updates so the next time the user opens the app it will be up to date. A new method will be exposed: `PushNotificationIOS# Closes https://github.com/facebook/react-native/pull/8040 Differential Revision: D4081766 Pulled By: bestander fbshipit-source-id: 2819061bd3a926cb1c9c743af5aabab8c0faec3d
26 lines
1.0 KiB
Objective-C
26 lines
1.0 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import "RCTEventEmitter.h"
|
|
|
|
@interface RCTPushNotificationManager : RCTEventEmitter
|
|
|
|
typedef void (^RCTRemoteNotificationCallback)(UIBackgroundFetchResult result);
|
|
|
|
#if !TARGET_OS_TV
|
|
+ (void)didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings;
|
|
+ (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
|
|
+ (void)didReceiveRemoteNotification:(NSDictionary *)notification;
|
|
+ (void)didReceiveRemoteNotification:(NSDictionary *)notification fetchCompletionHandler:(RCTRemoteNotificationCallback)completionHandler;
|
|
+ (void)didReceiveLocalNotification:(UILocalNotification *)notification;
|
|
+ (void)didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
|
|
#endif
|
|
|
|
@end
|