react-native-acoustic-mobile-push-snooze-beta 3.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/README.md +45 -0
  2. package/android/android-react-native-acoustic-mobile-push-snooze.iml +217 -0
  3. package/android/build.gradle +39 -0
  4. package/android/react-native-acoustic-mobile-push-snooze.iml +218 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/java/co/acoustic/mobile/push/plugin/snooze/RNAcousticMobilePushSnoozeModule.java +51 -0
  7. package/android/src/main/java/co/acoustic/mobile/push/plugin/snooze/RNAcousticMobilePushSnoozePackage.java +37 -0
  8. package/android/src/main/java/co/acoustic/mobile/push/plugin/snooze/SnoozeAction.java +88 -0
  9. package/android/src/main/java/co/acoustic/mobile/push/plugin/snooze/SnoozeIntentService.java +66 -0
  10. package/ios/RNAcousticMobilePushSnooze.h +16 -0
  11. package/ios/RNAcousticMobilePushSnooze.m +106 -0
  12. package/ios/RNAcousticMobilePushSnooze.xcodeproj/project.pbxproj +278 -0
  13. package/ios/RNAcousticMobilePushSnooze.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  14. package/ios/RNAcousticMobilePushSnooze.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  15. package/ios/RNAcousticMobilePushSnooze.xcodeproj/project.xcworkspace/xcuserdata/buchmanj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. package/ios/RNAcousticMobilePushSnooze.xcodeproj/xcshareddata/xcschemes/RNAcousticMobilePushSnooze.xcscheme +80 -0
  17. package/ios/RNAcousticMobilePushSnooze.xcodeproj/xcuserdata/buchmanj.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  18. package/ios/RNAcousticMobilePushSnooze.xcworkspace/contents.xcworkspacedata +9 -0
  19. package/package.json +39 -0
  20. package/postinstall.js +94 -0
  21. package/react-native-acoustic-mobile-push-snooze.podspec +23 -0
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright © 2019, 2023 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ package co.acoustic.mobile.push.plugin.snooze;
12
+
13
+ import com.facebook.react.bridge.LifecycleEventListener;
14
+ import com.facebook.react.bridge.ReactApplicationContext;
15
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
16
+
17
+ import co.acoustic.mobile.push.sdk.api.notification.MceNotificationActionRegistry;
18
+
19
+ public class RNAcousticMobilePushSnoozeModule extends ReactContextBaseJavaModule implements LifecycleEventListener {
20
+ private static String TAG = "RNAcousticMobilePushSnoozeModule";
21
+ private static final String TYPE = "snooze";
22
+
23
+ private final ReactApplicationContext reactContext;
24
+
25
+ public RNAcousticMobilePushSnoozeModule(ReactApplicationContext reactContext) {
26
+ super(reactContext);
27
+ this.reactContext = reactContext;
28
+ reactContext.addLifecycleEventListener(this);
29
+
30
+ }
31
+
32
+ @Override
33
+ public String getName() {
34
+ return "RNAcousticMobilePushSnooze";
35
+ }
36
+
37
+
38
+ @Override
39
+ public void onHostResume() {
40
+ MceNotificationActionRegistry.registerNotificationAction(reactContext, TYPE, new SnoozeAction());
41
+ }
42
+
43
+ @Override
44
+ public void onHostPause() {
45
+ }
46
+
47
+ @Override
48
+ public void onHostDestroy() {
49
+
50
+ }
51
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright © 2019, 2023 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ package co.acoustic.mobile.push.plugin.snooze;
12
+
13
+ import java.util.Arrays;
14
+ import java.util.Collections;
15
+ import java.util.List;
16
+
17
+ import com.facebook.react.ReactPackage;
18
+ import com.facebook.react.bridge.NativeModule;
19
+ import com.facebook.react.bridge.ReactApplicationContext;
20
+ import com.facebook.react.uimanager.ViewManager;
21
+ import com.facebook.react.bridge.JavaScriptModule;
22
+ public class RNAcousticMobilePushSnoozePackage implements ReactPackage {
23
+ @Override
24
+ public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
25
+ return Arrays.<NativeModule>asList(new RNAcousticMobilePushSnoozeModule(reactContext));
26
+ }
27
+
28
+ // Deprecated from RN 0.47
29
+ public List<Class<? extends JavaScriptModule>> createJSModules() {
30
+ return Collections.emptyList();
31
+ }
32
+
33
+ @Override
34
+ public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
35
+ return Collections.emptyList();
36
+ }
37
+ }
@@ -0,0 +1,88 @@
1
+ /*
2
+ * Copyright © 2015, 2019 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ package co.acoustic.mobile.push.plugin.snooze;
12
+
13
+ import android.app.AlarmManager;
14
+ import android.app.NotificationManager;
15
+ import android.app.PendingIntent;
16
+ import android.content.Context;
17
+ import android.content.Intent;
18
+ import android.os.Bundle;
19
+
20
+ import co.acoustic.mobile.push.sdk.api.Constants;
21
+ import co.acoustic.mobile.push.sdk.api.notification.MceNotificationAction;
22
+ import co.acoustic.mobile.push.sdk.api.notification.NotificationDetails;
23
+ import co.acoustic.mobile.push.sdk.util.Logger;
24
+
25
+ import org.json.JSONObject;
26
+
27
+ import java.util.Map;
28
+
29
+ /**
30
+ * This class is an MCE notification action implementation that snoozes a notification for a given amount of minutes. The event has one property - time, which is the
31
+ * number of minutest the notification will snooze for.
32
+ * When the action is clicked, the notification will disappear from the notification bar and reappear after the given number of minutes.
33
+ */
34
+ public class SnoozeAction implements MceNotificationAction {
35
+
36
+ private static final String TAG = "SnoozeAction";
37
+
38
+ /**
39
+ * The "time" property key.
40
+ */
41
+ public static final String TIME_KEY = "time";
42
+
43
+ /**
44
+ * This method implements the "snnoze" action.
45
+ * @param context The application context
46
+ * @param type The notification action type
47
+ * @param name The notification action name (can be null)
48
+ * @param attribution The notification attribution (can be null)
49
+ * @param mailingId The notification mailing id
50
+ * @param payload The notification payload. The map contains the time value.
51
+ */
52
+ @Override
53
+ public void handleAction(Context context, String type, String name, String attribution, String mailingId, Map<String, String> payload, boolean fromNotification) {
54
+
55
+ int notifId = Integer.parseInt(payload.get(Constants.Notifications.SOURCE_NOTIF_ID_KEY));
56
+ int delayInMinutes = Integer.parseInt(payload.get(TIME_KEY));
57
+ Logger.d(TAG, "Source Delay: " + delayInMinutes);
58
+ AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
59
+ Intent intent = new Intent(context, SnoozeIntentService.class);
60
+ intent.putExtra(Constants.Notifications.SOURCE_NOTIFICATION_KEY, payload.get(Constants.Notifications.SOURCE_NOTIFICATION_KEY));
61
+ intent.putExtra(Constants.Notifications.SOURCE_MCE_PAYLOAD_KEY, payload.get(Constants.Notifications.SOURCE_MCE_PAYLOAD_KEY));
62
+ PendingIntent pi = PendingIntent.getService(context, 0, intent, 0);
63
+ (new SnoozeIntentService()).scheduleSnooze(mgr, pi, delayInMinutes);
64
+ NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
65
+ notificationManager.cancel(notifId);
66
+
67
+ }
68
+
69
+ @Override
70
+ public void init(Context context, JSONObject initOptions) {
71
+
72
+ }
73
+
74
+ @Override
75
+ public void update(Context context, JSONObject updateOptions) {
76
+
77
+ }
78
+
79
+ @Override
80
+ public boolean shouldDisplayNotification(Context context, NotificationDetails notificationDetails, Bundle sourceBundle) {
81
+ return true;
82
+ }
83
+
84
+ @Override
85
+ public boolean shouldSendDefaultEvent(Context context) {
86
+ return true;
87
+ }
88
+ }
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Copyright © 2011, 2019 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ package co.acoustic.mobile.push.plugin.snooze;
12
+
13
+ import android.app.AlarmManager;
14
+ import android.app.IntentService;
15
+ import android.app.PendingIntent;
16
+ import android.content.Intent;
17
+ import android.os.Bundle;
18
+
19
+ import co.acoustic.mobile.push.sdk.api.Constants;
20
+ import co.acoustic.mobile.push.sdk.notification.AlertProcessor;
21
+ import co.acoustic.mobile.push.sdk.util.Logger;
22
+
23
+ import org.json.JSONException;
24
+ import org.json.JSONObject;
25
+
26
+ import java.util.Calendar;
27
+
28
+ /**
29
+ * This service restores the snoozed notification to the notification bar.
30
+ */
31
+ public class SnoozeIntentService extends IntentService {
32
+ private static final String TAG = "SnoozeIntentService";
33
+
34
+ public SnoozeIntentService() {
35
+ super("Snooze");
36
+ }
37
+
38
+ @Override
39
+ protected void onHandleIntent(Intent intent) {
40
+ Logger.d(TAG, "Snooze done");
41
+ Bundle extras = new Bundle();
42
+ extras.putString(Constants.Notifications.ALERT_KEY, intent.getStringExtra(Constants.Notifications.SOURCE_NOTIFICATION_KEY));
43
+ extras.putString(Constants.Notifications.MCE_PAYLOAD_KEY, intent.getStringExtra(Constants.Notifications.SOURCE_MCE_PAYLOAD_KEY));
44
+ try {
45
+ AlertProcessor.processAlert(getApplicationContext(), extras);
46
+
47
+ } catch (JSONException jsone) {
48
+ Logger.e(TAG, "Failed to parse notification", jsone);
49
+ }
50
+ }
51
+
52
+
53
+ /**
54
+ * This method schedule a notification reappearance
55
+ * @param mgr The alarm manager
56
+ * @param pi The pending intent for the action
57
+ * @param delayInMinutes The number of minutes after which the notification will reappear
58
+ */
59
+ public void scheduleSnooze(AlarmManager mgr, PendingIntent pi, int delayInMinutes) {
60
+ Calendar alertTime = Calendar.getInstance();
61
+ alertTime.setTimeInMillis(System.currentTimeMillis());
62
+ alertTime.add(Calendar.MINUTE, delayInMinutes);
63
+ mgr.set(AlarmManager.RTC, alertTime.getTimeInMillis(), pi);
64
+ Logger.d(TAG, "Snooze service was scheduled with the date " + alertTime.getTime());
65
+ }
66
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright © 2019, 2023 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ #import <React/RCTBridgeModule.h>
12
+ #import <Foundation/Foundation.h>
13
+ #import <React/RCTEventEmitter.h>
14
+
15
+ @interface RNAcousticMobilePushSnooze : RCTEventEmitter <RCTBridgeModule>
16
+ @end
@@ -0,0 +1,106 @@
1
+ /*
2
+ * Copyright © 2019, 2023 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ */
10
+
11
+ #import "RNAcousticMobilePushSnooze.h"
12
+
13
+ #import <React/RCTLog.h>
14
+ #import <React/RCTUtils.h>
15
+ #import <React/RCTBridge.h>
16
+ #import <React/RCTBundleURLProvider.h>
17
+ #import <React/RCTRootView.h>
18
+ #import <UserNotifications/UserNotifications.h>
19
+
20
+ @interface MCEPayload : NSObject
21
+ -(instancetype)initWithPayload:(NSDictionary*)payload;
22
+ @end
23
+
24
+ @interface MCENotificationPayload : MCEPayload <NSURLSessionDownloadDelegate, NSURLSessionDataDelegate, NSURLSessionTaskDelegate, NSURLSessionDataDelegate>
25
+ - (void) addNotificationCategoryWithCompletionHandler: ( void (^ _Nullable)(void)) completionHandler;
26
+ - (UNMutableNotificationContent * _Nonnull) notificationContent;
27
+ - (NSString * _Nullable) extractAlertString;
28
+ @end
29
+
30
+ @protocol MCEActionProtocol <NSObject>
31
+ @optional
32
+ -(void)configureAlertTextField:(UITextField*)textField;
33
+ @end
34
+
35
+ @interface MCEActionRegistry : NSObject
36
+ @property(class, nonatomic, readonly) MCEActionRegistry * sharedInstance NS_SWIFT_NAME(shared);
37
+ -(BOOL)registerTarget:(NSObject <MCEActionProtocol> *)target withSelector:(SEL)selector forAction:(NSString*)type;
38
+ @end
39
+
40
+ @interface RNAcousticMobilePushSnooze()
41
+ @property NSString * snoozeActionModule;
42
+ @property MCENotificationPayload * notificationPayload;
43
+ @end
44
+
45
+ @implementation RNAcousticMobilePushSnooze
46
+
47
+ -(void)performAction:(NSDictionary*)action payload:(NSDictionary*)payload {
48
+
49
+ if(!self.snoozeActionModule) {
50
+ NSLog(@"Snooze Action Module is not registered, can not show snooze interface!");
51
+ return;
52
+ }
53
+
54
+ NSNumber * value = action[@"value"][@"time"];
55
+ if(![value respondsToSelector:@selector(isEqualToNumber:)]) {
56
+ NSLog(@"Snooze value is not numeric");
57
+ return;
58
+ }
59
+
60
+ NSLog(@"Snooze for %f minutes", [value doubleValue]);
61
+
62
+ self.notificationPayload = [[MCENotificationPayload alloc] initWithPayload: payload];
63
+ [self.notificationPayload addNotificationCategoryWithCompletionHandler:^{
64
+ UNMutableNotificationContent * content = self.notificationPayload.notificationContent;
65
+ UNTimeIntervalNotificationTrigger * trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:[value doubleValue] * 60 repeats:false];
66
+ UNNotificationRequest * request = [UNNotificationRequest requestWithIdentifier:[[NSUUID UUID] UUIDString] content:content trigger:trigger];
67
+ [UNUserNotificationCenter.currentNotificationCenter addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
68
+
69
+ if(error) {
70
+ NSLog(@"Could not add notification request");
71
+ } else {
72
+ NSLog(@"Will resend notification %@ with content %@ at %@", request, content, [trigger nextTriggerDate]);
73
+ }
74
+ }];
75
+
76
+ }];
77
+ }
78
+
79
+ RCT_EXPORT_METHOD(registerPlugin:(NSString*)module)
80
+ {
81
+ self.snoozeActionModule = module;
82
+ MCEActionRegistry * registry = [MCEActionRegistry sharedInstance];
83
+ [registry registerTarget: self withSelector:@selector(performAction:payload:) forAction: @"snooze"];
84
+ }
85
+
86
+ RCT_EXPORT_MODULE();
87
+
88
+ - (dispatch_queue_t)methodQueue {
89
+ return dispatch_get_main_queue();
90
+ }
91
+
92
+ + (BOOL)requiresMainQueueSetup {
93
+ return true;
94
+ }
95
+
96
+ - (NSArray<NSString *> *)supportedEvents {
97
+ return @[];
98
+ }
99
+
100
+ - (NSDictionary *)constantsToExport {
101
+ return @{};
102
+ }
103
+
104
+ @end
105
+
106
+
@@ -0,0 +1,278 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ B3E7B58A1CC2AC0600A0062D /* RNAcousticMobilePushSnooze.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushSnooze.m */; };
11
+ /* End PBXBuildFile section */
12
+
13
+ /* Begin PBXCopyFilesBuildPhase section */
14
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
15
+ isa = PBXCopyFilesBuildPhase;
16
+ buildActionMask = 2147483647;
17
+ dstPath = "include/$(PRODUCT_NAME)";
18
+ dstSubfolderSpec = 16;
19
+ files = (
20
+ );
21
+ runOnlyForDeploymentPostprocessing = 0;
22
+ };
23
+ /* End PBXCopyFilesBuildPhase section */
24
+
25
+ /* Begin PBXFileReference section */
26
+ 134814201AA4EA6300B7C361 /* libRNAcousticMobilePushSnooze.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNAcousticMobilePushSnooze.a; sourceTree = BUILT_PRODUCTS_DIR; };
27
+ B3E7B5881CC2AC0600A0062D /* RNAcousticMobilePushSnooze.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNAcousticMobilePushSnooze.h; sourceTree = "<group>"; };
28
+ B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushSnooze.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNAcousticMobilePushSnooze.m; sourceTree = "<group>"; };
29
+ /* End PBXFileReference section */
30
+
31
+ /* Begin PBXFrameworksBuildPhase section */
32
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
33
+ isa = PBXFrameworksBuildPhase;
34
+ buildActionMask = 2147483647;
35
+ files = (
36
+ );
37
+ runOnlyForDeploymentPostprocessing = 0;
38
+ };
39
+ /* End PBXFrameworksBuildPhase section */
40
+
41
+ /* Begin PBXGroup section */
42
+ 134814211AA4EA7D00B7C361 /* Products */ = {
43
+ isa = PBXGroup;
44
+ children = (
45
+ 134814201AA4EA6300B7C361 /* libRNAcousticMobilePushSnooze.a */,
46
+ );
47
+ name = Products;
48
+ sourceTree = "<group>";
49
+ };
50
+ 58B511D21A9E6C8500147676 = {
51
+ isa = PBXGroup;
52
+ children = (
53
+ B3E7B5881CC2AC0600A0062D /* RNAcousticMobilePushSnooze.h */,
54
+ B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushSnooze.m */,
55
+ 134814211AA4EA7D00B7C361 /* Products */,
56
+ C381F969225E475600897A2D /* Frameworks */,
57
+ );
58
+ sourceTree = "<group>";
59
+ };
60
+ C381F969225E475600897A2D /* Frameworks */ = {
61
+ isa = PBXGroup;
62
+ children = (
63
+ );
64
+ name = Frameworks;
65
+ sourceTree = "<group>";
66
+ };
67
+ /* End PBXGroup section */
68
+
69
+ /* Begin PBXNativeTarget section */
70
+ 58B511DA1A9E6C8500147676 /* RNAcousticMobilePushSnooze */ = {
71
+ isa = PBXNativeTarget;
72
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNAcousticMobilePushSnooze" */;
73
+ buildPhases = (
74
+ 58B511D71A9E6C8500147676 /* Sources */,
75
+ 58B511D81A9E6C8500147676 /* Frameworks */,
76
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
77
+ );
78
+ buildRules = (
79
+ );
80
+ dependencies = (
81
+ );
82
+ name = RNAcousticMobilePushSnooze;
83
+ productName = RCTDataManager;
84
+ productReference = 134814201AA4EA6300B7C361 /* libRNAcousticMobilePushSnooze.a */;
85
+ productType = "com.apple.product-type.library.static";
86
+ };
87
+ /* End PBXNativeTarget section */
88
+
89
+ /* Begin PBXProject section */
90
+ 58B511D31A9E6C8500147676 /* Project object */ = {
91
+ isa = PBXProject;
92
+ attributes = {
93
+ LastUpgradeCheck = 0830;
94
+ ORGANIZATIONNAME = Facebook;
95
+ TargetAttributes = {
96
+ 58B511DA1A9E6C8500147676 = {
97
+ CreatedOnToolsVersion = 6.1.1;
98
+ };
99
+ };
100
+ };
101
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNAcousticMobilePushSnooze" */;
102
+ compatibilityVersion = "Xcode 3.2";
103
+ developmentRegion = English;
104
+ hasScannedForEncodings = 0;
105
+ knownRegions = (
106
+ English,
107
+ en,
108
+ );
109
+ mainGroup = 58B511D21A9E6C8500147676;
110
+ productRefGroup = 58B511D21A9E6C8500147676;
111
+ projectDirPath = "";
112
+ projectRoot = "";
113
+ targets = (
114
+ 58B511DA1A9E6C8500147676 /* RNAcousticMobilePushSnooze */,
115
+ );
116
+ };
117
+ /* End PBXProject section */
118
+
119
+ /* Begin PBXSourcesBuildPhase section */
120
+ 58B511D71A9E6C8500147676 /* Sources */ = {
121
+ isa = PBXSourcesBuildPhase;
122
+ buildActionMask = 2147483647;
123
+ files = (
124
+ B3E7B58A1CC2AC0600A0062D /* RNAcousticMobilePushSnooze.m in Sources */,
125
+ );
126
+ runOnlyForDeploymentPostprocessing = 0;
127
+ };
128
+ /* End PBXSourcesBuildPhase section */
129
+
130
+ /* Begin XCBuildConfiguration section */
131
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
132
+ isa = XCBuildConfiguration;
133
+ buildSettings = {
134
+ ALWAYS_SEARCH_USER_PATHS = NO;
135
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
136
+ CLANG_CXX_LIBRARY = "libc++";
137
+ CLANG_ENABLE_MODULES = YES;
138
+ CLANG_ENABLE_OBJC_ARC = YES;
139
+ CLANG_WARN_BOOL_CONVERSION = YES;
140
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
141
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
142
+ CLANG_WARN_EMPTY_BODY = YES;
143
+ CLANG_WARN_ENUM_CONVERSION = YES;
144
+ CLANG_WARN_INFINITE_RECURSION = YES;
145
+ CLANG_WARN_INT_CONVERSION = YES;
146
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
147
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
148
+ CLANG_WARN_UNREACHABLE_CODE = YES;
149
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
150
+ COPY_PHASE_STRIP = NO;
151
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
152
+ ENABLE_TESTABILITY = YES;
153
+ GCC_C_LANGUAGE_STANDARD = gnu99;
154
+ GCC_DYNAMIC_NO_PIC = NO;
155
+ GCC_NO_COMMON_BLOCKS = YES;
156
+ GCC_OPTIMIZATION_LEVEL = 0;
157
+ GCC_PREPROCESSOR_DEFINITIONS = (
158
+ "DEBUG=1",
159
+ "$(inherited)",
160
+ );
161
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
162
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
163
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
164
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
165
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
166
+ GCC_WARN_UNUSED_FUNCTION = YES;
167
+ GCC_WARN_UNUSED_VARIABLE = YES;
168
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
169
+ MTL_ENABLE_DEBUG_INFO = YES;
170
+ ONLY_ACTIVE_ARCH = YES;
171
+ SDKROOT = iphoneos;
172
+ };
173
+ name = Debug;
174
+ };
175
+ 58B511EE1A9E6C8500147676 /* Release */ = {
176
+ isa = XCBuildConfiguration;
177
+ buildSettings = {
178
+ ALWAYS_SEARCH_USER_PATHS = NO;
179
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
180
+ CLANG_CXX_LIBRARY = "libc++";
181
+ CLANG_ENABLE_MODULES = YES;
182
+ CLANG_ENABLE_OBJC_ARC = YES;
183
+ CLANG_WARN_BOOL_CONVERSION = YES;
184
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
185
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
186
+ CLANG_WARN_EMPTY_BODY = YES;
187
+ CLANG_WARN_ENUM_CONVERSION = YES;
188
+ CLANG_WARN_INFINITE_RECURSION = YES;
189
+ CLANG_WARN_INT_CONVERSION = YES;
190
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
191
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
192
+ CLANG_WARN_UNREACHABLE_CODE = YES;
193
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
194
+ COPY_PHASE_STRIP = YES;
195
+ ENABLE_NS_ASSERTIONS = NO;
196
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
197
+ GCC_C_LANGUAGE_STANDARD = gnu99;
198
+ GCC_NO_COMMON_BLOCKS = YES;
199
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
200
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
201
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
202
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
203
+ GCC_WARN_UNUSED_FUNCTION = YES;
204
+ GCC_WARN_UNUSED_VARIABLE = YES;
205
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
206
+ MTL_ENABLE_DEBUG_INFO = NO;
207
+ SDKROOT = iphoneos;
208
+ VALIDATE_PRODUCT = YES;
209
+ };
210
+ name = Release;
211
+ };
212
+ 58B511F01A9E6C8500147676 /* Debug */ = {
213
+ isa = XCBuildConfiguration;
214
+ buildSettings = {
215
+ FRAMEWORK_SEARCH_PATHS = "";
216
+ HEADER_SEARCH_PATHS = (
217
+ "$(inherited)",
218
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
219
+ "$(SRCROOT)/../../../React/**",
220
+ "$(SRCROOT)/../../react-native/React/**",
221
+ "$(SRCROOT)",
222
+ );
223
+ LIBRARY_SEARCH_PATHS = (
224
+ "$(inherited)",
225
+ "$(PROJECT_DIR)",
226
+ );
227
+ OTHER_LDFLAGS = "-ObjC";
228
+ PRODUCT_NAME = RNAcousticMobilePushSnooze;
229
+ SKIP_INSTALL = YES;
230
+ };
231
+ name = Debug;
232
+ };
233
+ 58B511F11A9E6C8500147676 /* Release */ = {
234
+ isa = XCBuildConfiguration;
235
+ buildSettings = {
236
+ FRAMEWORK_SEARCH_PATHS = "";
237
+ HEADER_SEARCH_PATHS = (
238
+ "$(inherited)",
239
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
240
+ "$(SRCROOT)/../../../React/**",
241
+ "$(SRCROOT)/../../react-native/React/**",
242
+ "$(SRCROOT)",
243
+ );
244
+ LIBRARY_SEARCH_PATHS = (
245
+ "$(inherited)",
246
+ "$(PROJECT_DIR)",
247
+ );
248
+ OTHER_LDFLAGS = "-ObjC";
249
+ PRODUCT_NAME = RNAcousticMobilePushSnooze;
250
+ SKIP_INSTALL = YES;
251
+ };
252
+ name = Release;
253
+ };
254
+ /* End XCBuildConfiguration section */
255
+
256
+ /* Begin XCConfigurationList section */
257
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNAcousticMobilePushSnooze" */ = {
258
+ isa = XCConfigurationList;
259
+ buildConfigurations = (
260
+ 58B511ED1A9E6C8500147676 /* Debug */,
261
+ 58B511EE1A9E6C8500147676 /* Release */,
262
+ );
263
+ defaultConfigurationIsVisible = 0;
264
+ defaultConfigurationName = Release;
265
+ };
266
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNAcousticMobilePushSnooze" */ = {
267
+ isa = XCConfigurationList;
268
+ buildConfigurations = (
269
+ 58B511F01A9E6C8500147676 /* Debug */,
270
+ 58B511F11A9E6C8500147676 /* Release */,
271
+ );
272
+ defaultConfigurationIsVisible = 0;
273
+ defaultConfigurationName = Release;
274
+ };
275
+ /* End XCConfigurationList section */
276
+ };
277
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
278
+ }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:/Users/buchmanj/Projects/Development/ReactNative/IBMMobilePush.Calendar/ios/RNIbmMobilePushCalendar.xcodeproj">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>