react-native-acoustic-mobile-push-inbox-beta 3.8.12
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.
- package/README.md +45 -0
- package/android/android-react-native-acoustic-mobile-push-inbox.iml +217 -0
- package/android/build.gradle +41 -0
- package/android/react-native-acoustic-mobile-push-inbox.iml +218 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/co/acoustic/mobile/push/plugin/inbox/RNAcousticMobilePushBroadcastReceiver.java +114 -0
- package/android/src/main/java/co/acoustic/mobile/push/plugin/inbox/RNAcousticMobilePushInboxModule.java +630 -0
- package/android/src/main/java/co/acoustic/mobile/push/plugin/inbox/RNAcousticMobilePushInboxPackage.java +37 -0
- package/android/src/main/res/drawable-hdpi/ic_action_back.png +0 -0
- package/android/src/main/res/drawable-hdpi/ic_action_forward.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_action_back.png +0 -0
- package/android/src/main/res/drawable-mdpi/ic_action_forward.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_action_back.png +0 -0
- package/android/src/main/res/drawable-xhdpi/ic_action_forward.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_action_back.png +0 -0
- package/android/src/main/res/drawable-xxhdpi/ic_action_forward.png +0 -0
- package/android/src/main/res/layout/activity_action_webview.xml +10 -0
- package/android/src/main/res/menu/menu_action_webview.xml +19 -0
- package/android/src/main/res/values/mce-plugin-displayweb-strings.xml +5 -0
- package/ios/RNAcousticMobilePushInbox.h +22 -0
- package/ios/RNAcousticMobilePushInbox.m +288 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/project.pbxproj +278 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/project.xcworkspace/xcuserdata/buchmanj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/xcshareddata/xcschemes/RNAcousticMobilePushInbox.xcscheme +67 -0
- package/ios/RNAcousticMobilePushInbox.xcodeproj/xcuserdata/buchmanj.xcuserdatad/xcschemes/xcschememanagement.plist +32 -0
- package/ios/RNAcousticMobilePushInbox.xcworkspace/contents.xcworkspacedata +9 -0
- package/javascript/default-inbox-template.js +67 -0
- package/javascript/full-width-image.js +62 -0
- package/javascript/full-width-video.js +66 -0
- package/javascript/inbox-action.js +68 -0
- package/javascript/inbox-list-item.js +26 -0
- package/javascript/inbox-message-view.js +27 -0
- package/javascript/inbox-template-registry.js +57 -0
- package/javascript/post-inbox-template.js +84 -0
- package/package.json +39 -0
- package/postinstall.js +103 -0
- package/react-native-acoustic-mobile-push-inbox.podspec +23 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
3
|
+
xmlns:tools="http://schemas.android.com/tools" tools:context=".ActionWebview">
|
|
4
|
+
|
|
5
|
+
<item android:id="@+id/action_back"
|
|
6
|
+
android:icon="@drawable/ic_action_back"
|
|
7
|
+
android:title="@string/action_back"
|
|
8
|
+
app:showAsAction="ifRoom"
|
|
9
|
+
/>
|
|
10
|
+
<item android:id="@+id/action_forward"
|
|
11
|
+
android:icon="@drawable/ic_action_forward"
|
|
12
|
+
android:title="@string/action_forward"
|
|
13
|
+
app:showAsAction="ifRoom"
|
|
14
|
+
/>
|
|
15
|
+
<item android:id="@+id/action_done"
|
|
16
|
+
android:title="@string/action_done"
|
|
17
|
+
app:showAsAction="always"
|
|
18
|
+
/>
|
|
19
|
+
</menu>
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
#import <CoreLocation/CoreLocation.h>
|
|
15
|
+
|
|
16
|
+
@protocol MCEActionProtocol <NSObject>
|
|
17
|
+
@optional
|
|
18
|
+
-(void)configureAlertTextField:(UITextField*)textField;
|
|
19
|
+
@end
|
|
20
|
+
|
|
21
|
+
@interface RNAcousticMobilePushInbox : RCTEventEmitter <RCTBridgeModule, MCEActionProtocol>
|
|
22
|
+
@end
|
|
@@ -0,0 +1,288 @@
|
|
|
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 "RNAcousticMobilePushInbox.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
|
+
|
|
19
|
+
typedef NSNotificationName MCENotificationName NS_STRING_ENUM;
|
|
20
|
+
extern MCENotificationName const InboxCountUpdate;
|
|
21
|
+
extern MCENotificationName const MCESyncDatabase;
|
|
22
|
+
extern NSString * const InboxSource;
|
|
23
|
+
|
|
24
|
+
@interface MCEActionRegistry : NSObject
|
|
25
|
+
@property(class, nonatomic, readonly) MCEActionRegistry * sharedInstance NS_SWIFT_NAME(shared);
|
|
26
|
+
-(BOOL)registerTarget:(NSObject <MCEActionProtocol> *)target withSelector:(SEL)selector forAction:(NSString*)type;
|
|
27
|
+
-(void)performAction:(NSDictionary*)action forPayload:(NSDictionary*)payload source: (NSString*) source attributes:(NSDictionary*)attributes userText: (NSString*)userText;
|
|
28
|
+
@end
|
|
29
|
+
|
|
30
|
+
@interface MCEInboxMessage : NSObject
|
|
31
|
+
@property NSString * inboxMessageId;
|
|
32
|
+
@property NSDictionary * content;
|
|
33
|
+
@property NSString * richContentId;
|
|
34
|
+
@property NSDate * expirationDate;
|
|
35
|
+
@property NSDate * sendDate;
|
|
36
|
+
@property NSString * templateName;
|
|
37
|
+
@property NSString * attribution;
|
|
38
|
+
@property NSString * mailingId;
|
|
39
|
+
@property BOOL isRead;
|
|
40
|
+
@property BOOL isDeleted;
|
|
41
|
+
@property (readonly) BOOL isExpired;
|
|
42
|
+
@end
|
|
43
|
+
|
|
44
|
+
typedef void (^MCEMessageCallback)(MCEInboxMessage *message, NSError* error);
|
|
45
|
+
@interface MCEInboxQueueManager : NSObject
|
|
46
|
+
@property(class, nonatomic, readonly) MCEInboxQueueManager * sharedInstance NS_SWIFT_NAME(shared);
|
|
47
|
+
-(void)syncInbox;
|
|
48
|
+
-(void)getInboxMessageId:(NSString*)inboxMessageId completion:(MCEMessageCallback)callback;
|
|
49
|
+
@end
|
|
50
|
+
|
|
51
|
+
@interface MCEInboxDatabase : NSObject
|
|
52
|
+
@property(class, nonatomic, readonly) MCEInboxDatabase * sharedInstance NS_SWIFT_NAME(shared);
|
|
53
|
+
-(NSMutableArray<MCEInboxMessage *> *)inboxMessagesAscending:(BOOL)ascending;
|
|
54
|
+
-(MCEInboxMessage*)inboxMessageWithInboxMessageId:(NSString*)inboxMessageId;
|
|
55
|
+
-(MCEInboxMessage*)inboxMessageWithRichContentId:(NSString*)richContentId;
|
|
56
|
+
-(void)clearExpiredMessages;
|
|
57
|
+
-(int) unreadMessageCount;
|
|
58
|
+
-(int) messageCount;
|
|
59
|
+
@end
|
|
60
|
+
|
|
61
|
+
@interface MCEConfig
|
|
62
|
+
@property(class, nonatomic, readonly) MCEConfig * sharedInstance NS_SWIFT_NAME(shared);
|
|
63
|
+
@end
|
|
64
|
+
|
|
65
|
+
@interface MCESdk : NSObject
|
|
66
|
+
@property(class, nonatomic, readonly) MCESdk * sharedInstance NS_SWIFT_NAME(shared);
|
|
67
|
+
@property (nonatomic) MCEConfig* config;
|
|
68
|
+
@end
|
|
69
|
+
|
|
70
|
+
@interface MCEEventService
|
|
71
|
+
@property(class, nonatomic, readonly) MCEEventService * sharedInstance NS_SWIFT_NAME(shared);
|
|
72
|
+
-(void)recordViewForInboxMessage:(MCEInboxMessage * _Nonnull)inboxMessage attribution: (NSString * _Nullable)attribution mailingId: (NSNumber * _Nullable)mailingId;
|
|
73
|
+
@end
|
|
74
|
+
|
|
75
|
+
@interface RNAcousticMobilePushInbox()
|
|
76
|
+
@property BOOL listenersSetup;
|
|
77
|
+
@property NSString * inboxActionModule;
|
|
78
|
+
@property UIWindow * inboxWindow;
|
|
79
|
+
@property RCTRootView * inboxView;
|
|
80
|
+
@property UIViewController * inboxViewController;
|
|
81
|
+
@end
|
|
82
|
+
|
|
83
|
+
@implementation RNAcousticMobilePushInbox
|
|
84
|
+
|
|
85
|
+
-(void)openInboxMessageAction: (NSDictionary*)action payload: (NSDictionary*)payload {
|
|
86
|
+
if(!self.inboxActionModule) {
|
|
87
|
+
NSLog(@"Inbox Action Module is not registered, can not show message interface!");
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
MCEInboxMessage * inboxMessage = [[MCEInboxDatabase sharedInstance] inboxMessageWithInboxMessageId: action[@"inboxMessageId"]];
|
|
92
|
+
if(inboxMessage) {
|
|
93
|
+
[self showInboxMessage: inboxMessage];
|
|
94
|
+
} else {
|
|
95
|
+
[MCEInboxQueueManager.sharedInstance getInboxMessageId:action[@"inboxMessageId"] completion:^(MCEInboxMessage *inboxMessage, NSError *error) {
|
|
96
|
+
if(error) {
|
|
97
|
+
NSLog(@"Could not get inbox message from database %@", error);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
[self showInboxMessage: inboxMessage];
|
|
101
|
+
} ];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
RCT_EXPORT_MODULE();
|
|
106
|
+
|
|
107
|
+
RCT_EXPORT_METHOD(hideInbox) {
|
|
108
|
+
if(![NSThread isMainThread]) {
|
|
109
|
+
[self performSelectorOnMainThread:@selector(hideInbox) withObject:nil waitUntilDone:true];
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if(self.inboxWindow) {
|
|
114
|
+
[self.inboxWindow removeFromSuperview];
|
|
115
|
+
self.inboxWindow = nil;
|
|
116
|
+
}
|
|
117
|
+
if(self.inboxView) {
|
|
118
|
+
[self.inboxView removeFromSuperview];
|
|
119
|
+
self.inboxView = nil;
|
|
120
|
+
}
|
|
121
|
+
self.inboxViewController = nil;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
-(void)showInboxMessage: (MCEInboxMessage *) inboxMessage {
|
|
125
|
+
if(![NSThread isMainThread]) {
|
|
126
|
+
[self performSelectorOnMainThread:@selector(showInboxMessage:) withObject:inboxMessage waitUntilDone:true];
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
[self hideInbox];
|
|
130
|
+
UIWindow * currentWindow = UIApplication.sharedApplication.keyWindow;
|
|
131
|
+
CGRect rect = currentWindow.frame;
|
|
132
|
+
|
|
133
|
+
CGFloat statusHeight = UIApplication.sharedApplication.statusBarFrame.size.height;
|
|
134
|
+
rect.origin = CGPointMake(0, statusHeight);
|
|
135
|
+
rect.size.height -= statusHeight;
|
|
136
|
+
|
|
137
|
+
self.inboxViewController = [[UIViewController alloc] init];
|
|
138
|
+
self.inboxWindow = [[UIWindow alloc] initWithFrame:rect];
|
|
139
|
+
self.inboxWindow.rootViewController = self.inboxViewController;
|
|
140
|
+
|
|
141
|
+
NSDictionary * inboxMessageJson = [self inboxMessageToJson: inboxMessage];
|
|
142
|
+
NSDictionary * properties = @{ @"message": inboxMessageJson };
|
|
143
|
+
|
|
144
|
+
rect.origin = CGPointZero;
|
|
145
|
+
self.inboxView = [[RCTRootView alloc] initWithBridge:self.bridge moduleName:self.inboxActionModule initialProperties: properties];
|
|
146
|
+
self.inboxViewController.view = self.inboxView;
|
|
147
|
+
|
|
148
|
+
self.inboxView.frame = rect;
|
|
149
|
+
self.inboxWindow.windowLevel = UIWindowLevelAlert;
|
|
150
|
+
self.inboxWindow.hidden = false;
|
|
151
|
+
self.inboxWindow.backgroundColor = UIColor.clearColor;
|
|
152
|
+
self.inboxView.backgroundColor = UIColor.clearColor;
|
|
153
|
+
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
RCT_EXPORT_METHOD(registerInboxComponent:(NSString*)module) {
|
|
158
|
+
self.inboxActionModule = module;
|
|
159
|
+
|
|
160
|
+
[MCEActionRegistry.sharedInstance registerTarget: self withSelector:@selector(openInboxMessageAction:payload:) forAction:@"openInboxMessage"];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
- (dispatch_queue_t)methodQueue {
|
|
164
|
+
return dispatch_get_main_queue();
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
- (NSArray<NSString *> *)supportedEvents {
|
|
172
|
+
if(!self.listenersSetup) {
|
|
173
|
+
self.listenersSetup = true;
|
|
174
|
+
|
|
175
|
+
NSNotificationCenter * center = [NSNotificationCenter defaultCenter];
|
|
176
|
+
|
|
177
|
+
[center addObserverForName:MCESyncDatabase object:nil queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification * _Nonnull note) {
|
|
178
|
+
if(!self.bridge) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
[self sendEventWithName:@"SyncInbox" body:note.userInfo];
|
|
182
|
+
}];
|
|
183
|
+
|
|
184
|
+
[center addObserverForName:InboxCountUpdate object:nil queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification * _Nonnull note) {
|
|
185
|
+
if(!self.bridge) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
[self sendEventWithName: InboxCountUpdate body:@{}];
|
|
189
|
+
}];
|
|
190
|
+
|
|
191
|
+
}
|
|
192
|
+
return @[ @"SyncInbox", InboxCountUpdate ];
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
- (NSDictionary *)constantsToExport {
|
|
196
|
+
return @{ };
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
#pragma mark Inbox
|
|
200
|
+
|
|
201
|
+
RCT_EXPORT_METHOD(inboxMessageCount:(RCTResponseSenderBlock)callback) {
|
|
202
|
+
int unreadCount = [[MCEInboxDatabase sharedInstance] unreadMessageCount];
|
|
203
|
+
int messageCount = [[MCEInboxDatabase sharedInstance] messageCount];
|
|
204
|
+
callback(@[ @{@"messages": @(messageCount), @"unread": @(unreadCount)} ]);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
RCT_EXPORT_METHOD(deleteInboxMessage: (NSString*)inboxMessageId) {
|
|
208
|
+
MCEInboxMessage * inboxMessage = [[MCEInboxDatabase sharedInstance] inboxMessageWithInboxMessageId:inboxMessageId];
|
|
209
|
+
if(inboxMessage) {
|
|
210
|
+
inboxMessage.isDeleted=TRUE;
|
|
211
|
+
[self sendEventWithName:@"SyncInbox" body:@{}];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
RCT_EXPORT_METHOD(readInboxMessage: (NSString*)inboxMessageId) {
|
|
216
|
+
MCEInboxMessage * inboxMessage = [[MCEInboxDatabase sharedInstance] inboxMessageWithInboxMessageId:inboxMessageId];
|
|
217
|
+
if(inboxMessage) {
|
|
218
|
+
inboxMessage.isRead=TRUE;
|
|
219
|
+
[[MCEEventService sharedInstance] recordViewForInboxMessage:inboxMessage attribution:inboxMessage.attribution mailingId:inboxMessage.mailingId];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
RCT_EXPORT_METHOD(syncInboxMessages)
|
|
224
|
+
{
|
|
225
|
+
[MCEInboxQueueManager.sharedInstance syncInbox];
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
-(NSDictionary*)inboxMessageToJson:(MCEInboxMessage*)inboxMessage {
|
|
229
|
+
NSMutableDictionary * dictionary = [@{
|
|
230
|
+
@"content": inboxMessage.content,
|
|
231
|
+
@"expirationDate": @([inboxMessage.expirationDate timeIntervalSince1970] * 1000),
|
|
232
|
+
@"sendDate": @([inboxMessage.sendDate timeIntervalSince1970] * 1000),
|
|
233
|
+
@"templateName": inboxMessage.templateName,
|
|
234
|
+
@"isRead": @(inboxMessage.isRead),
|
|
235
|
+
@"isDeleted": @(inboxMessage.isDeleted),
|
|
236
|
+
@"isExpired": @(inboxMessage.isExpired)
|
|
237
|
+
} mutableCopy];
|
|
238
|
+
if(inboxMessage.inboxMessageId) {
|
|
239
|
+
dictionary[@"inboxMessageId"] = inboxMessage.inboxMessageId;
|
|
240
|
+
}
|
|
241
|
+
if(inboxMessage.richContentId) {
|
|
242
|
+
dictionary[@"richContentId"] = inboxMessage.richContentId;
|
|
243
|
+
}
|
|
244
|
+
if(inboxMessage.attribution) {
|
|
245
|
+
dictionary[@"attribution"] = inboxMessage.attribution;
|
|
246
|
+
}
|
|
247
|
+
if(inboxMessage.mailingId) {
|
|
248
|
+
dictionary[@"mailingId"] = inboxMessage.mailingId;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return dictionary;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
RCT_EXPORT_METHOD(listInboxMessages: (BOOL) direction callback:(RCTResponseSenderBlock)callback)
|
|
255
|
+
{
|
|
256
|
+
NSArray * inboxMessages = [MCEInboxDatabase.sharedInstance inboxMessagesAscending:direction];
|
|
257
|
+
NSMutableArray * jsonInboxMessages = [NSMutableArray array];
|
|
258
|
+
for (MCEInboxMessage * inboxMessage in inboxMessages) {
|
|
259
|
+
[jsonInboxMessages addObject: [self inboxMessageToJson:inboxMessage]];
|
|
260
|
+
}
|
|
261
|
+
callback(@[jsonInboxMessages]);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
RCT_EXPORT_METHOD(clickInboxAction: (NSDictionary*) action inboxMessageId: (NSString*)inboxMessageId) {
|
|
265
|
+
MCEInboxMessage *inboxMessage = [[MCEInboxDatabase sharedInstance] inboxMessageWithInboxMessageId:inboxMessageId];
|
|
266
|
+
|
|
267
|
+
NSDictionary * payload = @{@"mce": [NSMutableDictionary dictionary]};
|
|
268
|
+
if(inboxMessage.attribution) {
|
|
269
|
+
payload[@"mce"][@"attribution"] = inboxMessage.attribution;
|
|
270
|
+
}
|
|
271
|
+
if(inboxMessage.mailingId) {
|
|
272
|
+
payload[@"mce"][@"mailingId"] = inboxMessage.mailingId;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
NSMutableDictionary * attributes = [NSMutableDictionary dictionary];
|
|
276
|
+
if(inboxMessage.richContentId) {
|
|
277
|
+
attributes[@"richContentId"] = inboxMessage.richContentId;
|
|
278
|
+
}
|
|
279
|
+
if(inboxMessage.inboxMessageId) {
|
|
280
|
+
attributes[@"inboxMessageId"] = inboxMessage.inboxMessageId;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
[MCEActionRegistry.sharedInstance performAction:action forPayload:payload source:InboxSource attributes:attributes userText:nil];
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
@end
|
|
287
|
+
|
|
288
|
+
|
|
@@ -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 /* RNAcousticMobilePushInbox.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushInbox.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 /* libRNAcousticMobilePushInbox.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNAcousticMobilePushInbox.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
27
|
+
B3E7B5881CC2AC0600A0062D /* RNAcousticMobilePushInbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNAcousticMobilePushInbox.h; sourceTree = "<group>"; };
|
|
28
|
+
B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushInbox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNAcousticMobilePushInbox.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 /* libRNAcousticMobilePushInbox.a */,
|
|
46
|
+
);
|
|
47
|
+
name = Products;
|
|
48
|
+
sourceTree = "<group>";
|
|
49
|
+
};
|
|
50
|
+
58B511D21A9E6C8500147676 = {
|
|
51
|
+
isa = PBXGroup;
|
|
52
|
+
children = (
|
|
53
|
+
B3E7B5881CC2AC0600A0062D /* RNAcousticMobilePushInbox.h */,
|
|
54
|
+
B3E7B5891CC2AC0600A0062D /* RNAcousticMobilePushInbox.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 /* RNAcousticMobilePushInbox */ = {
|
|
71
|
+
isa = PBXNativeTarget;
|
|
72
|
+
buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNAcousticMobilePushInbox" */;
|
|
73
|
+
buildPhases = (
|
|
74
|
+
58B511D71A9E6C8500147676 /* Sources */,
|
|
75
|
+
58B511D81A9E6C8500147676 /* Frameworks */,
|
|
76
|
+
58B511D91A9E6C8500147676 /* CopyFiles */,
|
|
77
|
+
);
|
|
78
|
+
buildRules = (
|
|
79
|
+
);
|
|
80
|
+
dependencies = (
|
|
81
|
+
);
|
|
82
|
+
name = RNAcousticMobilePushInbox;
|
|
83
|
+
productName = RCTDataManager;
|
|
84
|
+
productReference = 134814201AA4EA6300B7C361 /* libRNAcousticMobilePushInbox.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 "RNAcousticMobilePushInbox" */;
|
|
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 /* RNAcousticMobilePushInbox */,
|
|
115
|
+
);
|
|
116
|
+
};
|
|
117
|
+
/* End PBXProject section */
|
|
118
|
+
|
|
119
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
120
|
+
58B511D71A9E6C8500147676 /* Sources */ = {
|
|
121
|
+
isa = PBXSourcesBuildPhase;
|
|
122
|
+
buildActionMask = 2147483647;
|
|
123
|
+
files = (
|
|
124
|
+
B3E7B58A1CC2AC0600A0062D /* RNAcousticMobilePushInbox.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 = RNAcousticMobilePushInbox;
|
|
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 = RNAcousticMobilePushInbox;
|
|
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 "RNAcousticMobilePushInbox" */ = {
|
|
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 "RNAcousticMobilePushInbox" */ = {
|
|
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
|
+
}
|