@haroldtran/react-native-pax 0.1.7

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.
@@ -0,0 +1,355 @@
1
+ package com.paxposlink;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.bridge.Promise;
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
8
+ import com.facebook.react.bridge.ReactMethod;
9
+ import com.facebook.react.module.annotations.ReactModule;
10
+ import com.facebook.react.bridge.Arguments;
11
+ import com.facebook.react.bridge.WritableMap;
12
+ import java.util.Map;
13
+ import java.util.HashMap;
14
+ import com.paxposlink.poslink.CommSetting;
15
+ import com.paxposlink.poslink.POSLinkAndroid;
16
+ import com.paxposlink.poslink.LogSetting;
17
+ import com.paxposlink.poslink.PosLink;
18
+ import com.paxposlink.poslink.PaymentRequest;
19
+ import com.paxposlink.poslink.ProcessTransResult;
20
+ import com.paxposlink.poslink.PaymentResponse;
21
+ import com.paxposlink.poslink.BatchRequest;
22
+ import com.paxposlink.poslink.BatchResponse;
23
+ import com.paxposlink.poslink.CommSetting;
24
+ import android.os.HandlerThread;
25
+ import android.os.Handler;
26
+ import android.os.Looper;
27
+ import java.lang.Runnable;
28
+ import android.util.Log;
29
+ import android.content.Context;
30
+
31
+ @ReactModule(name = PaxPoslinkModule.NAME)
32
+ public class PaxPoslinkModule extends ReactContextBaseJavaModule {
33
+ public static final String NAME = "PaxPoslink";
34
+ private PosLink poslink;
35
+ private HandlerThread handlerThread;
36
+ private Context context;
37
+
38
+ public PaxPoslinkModule(ReactApplicationContext reactContext) {
39
+
40
+ super(reactContext);
41
+ this.context = reactContext;
42
+
43
+ }
44
+
45
+ @Override
46
+ @NonNull
47
+ public String getName() {
48
+ return NAME;
49
+ }
50
+
51
+ // Example method
52
+ // See https://reactnative.dev/docs/native-modules-android
53
+ @ReactMethod
54
+ public void multiply(double a, double b, Promise promise) {
55
+ promise.resolve(a * b);
56
+ }
57
+
58
+ @ReactMethod
59
+ public void initPOSLink(String type, String timeout, Boolean proxy, String ip, String port, Promise promise) {
60
+
61
+ try {
62
+ LogSetting logSetting = new LogSetting();
63
+
64
+ logSetting.setLogMode(true); // Open or close log
65
+ logSetting.setLevel(LogSetting.LOGLEVEL.DEBUG); // Set log level
66
+ logSetting.setLogFileName("POSLinkLog"); // Set the file name of output log
67
+ logSetting.setOutputPath("sdcard/log"); // Set path for output log
68
+ logSetting.setLogDays("30"); // Keep log for 30 days
69
+
70
+ // Setting connection configurations
71
+ CommSetting commSetting = new CommSetting();
72
+
73
+ commSetting.setType(type);
74
+
75
+ if (ip != null) {
76
+ commSetting.setDestIP(ip);
77
+ commSetting.setDestPort(port);
78
+ }
79
+
80
+ commSetting.setTimeOut(timeout);
81
+
82
+ if (proxy) {
83
+ commSetting.setEnableProxy(proxy);
84
+ }
85
+
86
+ poslink = new PosLink(this.context);
87
+
88
+ poslink.SetCommSetting(commSetting);
89
+
90
+ promise.resolve(true);
91
+
92
+ } catch (Exception e) {
93
+ promise.reject("Exception Error", e);
94
+ }
95
+
96
+ }
97
+
98
+ @ReactMethod
99
+ private void runPayment(String amount, String tip, Promise promise) {
100
+
101
+ PaymentRequest req = new PaymentRequest();
102
+
103
+ req.TenderType = req.ParseTenderType("CREDIT");
104
+ req.TransType = req.ParseTransType("SALE");
105
+ req.ECRRefNum = "1";
106
+ req.Amount = amount;
107
+ req.TipAmt = tip;
108
+
109
+ this.runTransaction(req, promise);
110
+
111
+ }
112
+
113
+ @ReactMethod
114
+ private void runAuth(String amount, Promise promise) {
115
+
116
+ PaymentRequest req = new PaymentRequest();
117
+
118
+ req.TenderType = req.ParseTenderType("CREDIT");
119
+ req.TransType = req.ParseTransType("AUTH");
120
+ req.ECRRefNum = "1";
121
+ req.Amount = amount;
122
+
123
+ this.runTransaction(req, promise);
124
+
125
+ }
126
+
127
+ @ReactMethod
128
+ private void runReturn(String amount, Promise promise) {
129
+
130
+ PaymentRequest req = new PaymentRequest();
131
+
132
+ req.TenderType = req.ParseTenderType("CREDIT");
133
+ req.TransType = req.ParseTransType("RETURN");
134
+ req.ECRRefNum = "5";
135
+ req.Amount = amount;
136
+
137
+ this.runTransaction(req, promise);
138
+
139
+ }
140
+
141
+ @ReactMethod
142
+ private void closeBatch(Promise promise) {
143
+
144
+ handlerThread = new HandlerThread("MyHandlerThread");
145
+ handlerThread.start();
146
+ Looper looper = handlerThread.getLooper();
147
+ Handler handler = new Handler(looper);
148
+
149
+ handler.post(new Runnable() {
150
+
151
+ @Override
152
+ public void run() {
153
+ BatchRequest batchRequest = new BatchRequest();
154
+ batchRequest.TransType = batchRequest.ParseTransType("BATCHCLOSE");
155
+ poslink.BatchRequest = batchRequest;
156
+
157
+ ProcessTransResult ptr = poslink.ProcessTrans();
158
+
159
+ if (ptr.Code == ProcessTransResult.ProcessTransResultCode.OK) {
160
+ BatchResponse response = poslink.BatchResponse;
161
+
162
+ WritableMap map = Arguments.createMap();
163
+ map.putString("AuthCode", response.AuthCode);
164
+ map.putString("BatchFailedCount", response.BatchFailedCount);
165
+ map.putString("BatchFailedRefNum", response.BatchFailedRefNum);
166
+ map.putString("BatchNum", response.BatchNum);
167
+ map.putString("CashAmount", response.CashAmount);
168
+ map.putString("CashCount", response.CashCount);
169
+ map.putString("CHECKAmount", response.CHECKAmount);
170
+ map.putString("CreditAmount", response.CreditAmount);
171
+ map.putString("CreditCount", response.CreditCount);
172
+ map.putString("DebitAmount", response.DebitAmount);
173
+ map.putString("DebitCount", response.DebitCount);
174
+ map.putString("EBTAmount", response.EBTAmount);
175
+ map.putString("EBTCount", response.EBTCount);
176
+ map.putString("ExtData", response.ExtData);
177
+ map.putString("GiftAmount", response.GiftAmount);
178
+ map.putString("GiftCount", response.GiftCount);
179
+ map.putString("HostCode", response.HostCode);
180
+ map.putString("HostResponse", response.HostResponse);
181
+ map.putString("HostTraceNum", response.HostTraceNum);
182
+ map.putString("LoyaltyAmount", response.LoyaltyAmount);
183
+ map.putString("LoyaltyCount", response.LoyaltyCount);
184
+ map.putString("Message", response.Message);
185
+ map.putString("ResultCode", response.ResultCode);
186
+ map.putString("ResultTxt", response.ResultTxt);
187
+ map.putString("SAFDeletedCount", response.SAFDeletedCount);
188
+ map.putString("SAFFailedCount", response.SAFFailedCount);
189
+ map.putString("SAFFailedTotal", response.SAFFailedTotal);
190
+ map.putString("SAFTotalAmount", response.SAFTotalAmount);
191
+ map.putString("SAFTotalCount", response.SAFTotalCount);
192
+ map.putString("SAFUploadedAmount", response.SAFUploadedAmount);
193
+ map.putString("SAFUploadedCount", response.SAFUploadedCount);
194
+ map.putString("TID", response.TID);
195
+ map.putString("Timestamp", response.Timestamp);
196
+
197
+ promise.resolve(map);
198
+
199
+ } else if (ptr.Code == ProcessTransResult.ProcessTransResultCode.TimeOut) {
200
+ String errorMsg = ptr.Msg;
201
+ String errorCode = String.valueOf(ptr.Code);
202
+ promise.reject(ptr.Msg);
203
+
204
+ } else {
205
+ String errorMsg = ptr.Msg;
206
+ String errorCode = String.valueOf(ptr.Code);
207
+ promise.reject(ptr.Msg);
208
+ }
209
+ }
210
+ });
211
+ }
212
+
213
+ @ReactMethod
214
+ private void runPostAuth(String amount, String refNum, String authCode, Promise promise) {
215
+ PaymentRequest req = new PaymentRequest();
216
+
217
+ req.TenderType = req.ParseTenderType("CREDIT");
218
+ req.TransType = req.ParseTransType("POSTAUTH");
219
+ req.ECRRefNum = "1";
220
+ req.OrigRefNum = refNum;
221
+ req.AuthCode = authCode;
222
+ req.Amount = amount;
223
+
224
+ this.runTransaction(req, promise);
225
+ }
226
+
227
+ @ReactMethod
228
+ private void runVoid(String refNum, String authCode, Promise promise) {
229
+ PaymentRequest req = new PaymentRequest();
230
+
231
+ req.TenderType = req.ParseTenderType("CREDIT");
232
+ req.TransType = req.ParseTransType("VOID");
233
+ req.ECRRefNum = "1";
234
+ req.OrigRefNum = refNum;
235
+ req.AuthCode = authCode;
236
+
237
+ this.runTransaction(req, promise);
238
+ }
239
+
240
+ @ReactMethod
241
+ private void runAdjustment(String amount, String refNum, Promise promise) {
242
+ PaymentRequest req = new PaymentRequest();
243
+
244
+ req.TenderType = req.ParseTenderType("CREDIT");
245
+ req.TransType = req.ParseTransType("ADJUST");
246
+ req.OrigTraceNum = refNum;
247
+ req.ECRRefNum = "1";
248
+ req.OrigRefNum = refNum;
249
+ req.Amount = amount;
250
+
251
+ this.runTransaction(req, promise);
252
+ }
253
+
254
+ @ReactMethod
255
+ private void runTransaction(PaymentRequest request, Promise promise) {
256
+
257
+ handlerThread = new HandlerThread("MyHandlerThread");
258
+ handlerThread.start();
259
+ Looper looper = handlerThread.getLooper();
260
+ Handler handler = new Handler(looper);
261
+
262
+ handler.post(new Runnable() {
263
+
264
+ @Override
265
+ public void run() {
266
+ Log.d("DEBUG_POSLINK_INFO", String.valueOf(poslink.GetCommSetting().getDestIP()));
267
+
268
+ poslink.PaymentRequest = request;
269
+
270
+ ProcessTransResult ptr = poslink.ProcessTrans();
271
+
272
+ Log.d("DEBUG_PAYMENT_REQUEST", String.valueOf(ptr.Msg));
273
+
274
+ // Check transaction result
275
+ if (ptr.Code == ProcessTransResult.ProcessTransResultCode.OK) {
276
+ /**
277
+ * When the transResult.Code is OK, then the response has already been
278
+ * assigned to poslink instance's PaymentResponse field automatically,
279
+ * what you only need to do is get the response from the field
280
+ */
281
+ PaymentResponse response = poslink.PaymentResponse;
282
+
283
+ Log.d("PAYMENT_RESPONSE_DEBUG AuthCode", response.AuthCode);
284
+ WritableMap map = Arguments.createMap();
285
+ map.putString("ApprovedAmount", response.ApprovedAmount);
286
+ map.putString("ApprovedCashBackAmount", response.ApprovedCashBackAmount);
287
+ map.putString("ApprovedMerchantFee", response.ApprovedMerchantFee);
288
+ map.putString("ApprovedTaxAmount", response.ApprovedTaxAmount);
289
+ map.putString("ApprovedTipAmount", response.ApprovedTipAmount);
290
+ map.putString("AuthCode", response.AuthCode);
291
+ map.putString("AuthorizationResponse", response.AuthorizationResponse);
292
+ map.putString("AvsResponse", response.AvsResponse);
293
+ map.putString("BogusAccountNum", response.BogusAccountNum);
294
+ map.putString("CardType", response.CardType);
295
+ map.putString("CvResponse", response.CvResponse);
296
+ map.putString("DebitAccountType", response.DebitAccountType);
297
+ map.putString("ECRTransID", response.ECRTransID);
298
+ map.putString("EDCType", response.EDCType);
299
+ map.putString("ExtraBalance", response.ExtraBalance);
300
+ map.putString("GatewayTransactionID", response.GatewayTransactionID);
301
+ map.putString("GiftCardType", response.GiftCardType);
302
+ map.putString("HostAccount", response.HostAccount);
303
+ map.putString("HostCardType", response.HostCardType);
304
+ map.putString("HostCode", response.HostCode);
305
+ map.putString("HostDetailedMessage", response.HostDetailedMessage);
306
+ map.putString("HostResponse", response.HostResponse);
307
+ map.putString("HostTimeStamp", response.HostTimeStamp);
308
+ map.putString("IssuerResponseCode", response.IssuerResponseCode);
309
+ map.putString("MaskedPAN", response.MaskedPAN);
310
+ map.putString("Message", response.Message);
311
+ map.putString("PayloadData", response.PayloadData);
312
+ map.putString("PaymentAccountReferenceID", response.PaymentAccountReferenceID);
313
+ map.putString("RawResponse", response.RawResponse);
314
+ map.putString("RefNum", response.RefNum);
315
+ map.putString("RemainingBalance", response.RemainingBalance);
316
+ map.putString("RequestedAmount", response.RequestedAmount);
317
+ map.putString("ResultCode", response.ResultCode);
318
+ map.putString("ResultTxt", response.ResultTxt);
319
+ map.putString("RetrievalReferenceNumber", response.RetrievalReferenceNumber);
320
+ map.putString("SigFileName", response.SigFileName);
321
+ map.putString("SignData", response.SignData);
322
+ map.putString("Timestamp", response.Timestamp);
323
+ map.putString("Track1Data", response.Track1Data);
324
+ map.putString("Track2Data", response.Track2Data);
325
+ map.putString("Track3Data", response.Track3Data);
326
+ map.putString("TransactionIntegrityClass", response.TransactionIntegrityClass);
327
+ map.putString("TransactionRemainingAmount", response.TransactionRemainingAmount);
328
+ map.putString("ExtData", response.ExtData);
329
+
330
+ promise.resolve(map);
331
+
332
+ } else if (ptr.Code == ProcessTransResult.ProcessTransResultCode.TimeOut) {
333
+ String errorMsg = ptr.Msg;
334
+ String errorCode = String.valueOf(ptr.Code);
335
+ Log.d("PAYMENT_RESPONSE_DEBUG", errorMsg);
336
+ Log.d("PAYMENT_RESPONSE_DEBUG", errorCode);
337
+ handler.getLooper().quit();
338
+ promise.reject(ptr.Msg);
339
+
340
+ } else {
341
+ String errorMsg = ptr.Msg;
342
+ String errorCode = String.valueOf(ptr.Code);
343
+ Log.d("PAYMENT_RESPONSE_DEBUG", errorCode);
344
+ Log.d("PAYMENT_RESPONSE_DEBUG", errorMsg);
345
+ promise.reject(ptr.Msg);
346
+
347
+ handler.getLooper().quit();
348
+
349
+ }
350
+ }
351
+ });
352
+
353
+ }
354
+
355
+ }
@@ -0,0 +1,28 @@
1
+ package com.paxposlink;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.ReactPackage;
6
+ import com.facebook.react.bridge.NativeModule;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.uimanager.ViewManager;
9
+
10
+ import java.util.ArrayList;
11
+ import java.util.Collections;
12
+ import java.util.List;
13
+
14
+ public class PaxPoslinkPackage implements ReactPackage {
15
+ @NonNull
16
+ @Override
17
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
18
+ List<NativeModule> modules = new ArrayList<>();
19
+ modules.add(new PaxPoslinkModule(reactContext));
20
+ return modules;
21
+ }
22
+
23
+ @NonNull
24
+ @Override
25
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
26
+ return Collections.emptyList();
27
+ }
28
+ }
@@ -0,0 +1,12 @@
1
+
2
+ #ifdef RCT_NEW_ARCH_ENABLED
3
+ #import "RNPaxPoslinkSpec.h"
4
+
5
+ @interface PaxPoslink : NSObject <NativePaxPoslinkSpec>
6
+ #else
7
+ #import <React/RCTBridgeModule.h>
8
+
9
+ @interface PaxPoslink : NSObject <RCTBridgeModule>
10
+ #endif
11
+
12
+ @end
@@ -0,0 +1,27 @@
1
+ #import "PaxPoslink.h"
2
+
3
+ @implementation PaxPoslink
4
+ RCT_EXPORT_MODULE()
5
+
6
+ // Example method
7
+ // See // https://reactnative.dev/docs/native-modules-ios
8
+ RCT_REMAP_METHOD(multiply,
9
+ multiplyWithA:(double)a withB:(double)b
10
+ withResolver:(RCTPromiseResolveBlock)resolve
11
+ withRejecter:(RCTPromiseRejectBlock)reject)
12
+ {
13
+ NSNumber *result = @(a * b);
14
+
15
+ resolve(result);
16
+ }
17
+
18
+ // Don't compile this code when we build for the old architecture.
19
+ #ifdef RCT_NEW_ARCH_ENABLED
20
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
21
+ (const facebook::react::ObjCTurboModule::InitParams &)params
22
+ {
23
+ return std::make_shared<facebook::react::NativePaxPoslinkSpecJSI>(params);
24
+ }
25
+ #endif
26
+
27
+ @end
@@ -0,0 +1,274 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 5E555C0D2413F4C50049A1A2 /* PaxPoslink.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* PaxPoslink.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 /* libPaxPoslink.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPaxPoslink.a; sourceTree = BUILT_PRODUCTS_DIR; };
27
+ B3E7B5881CC2AC0600A0062D /* PaxPoslink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaxPoslink.h; sourceTree = "<group>"; };
28
+ B3E7B5891CC2AC0600A0062D /* PaxPoslink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PaxPoslink.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 /* libPaxPoslink.a */,
46
+ );
47
+ name = Products;
48
+ sourceTree = "<group>";
49
+ };
50
+ 58B511D21A9E6C8500147676 = {
51
+ isa = PBXGroup;
52
+ children = (
53
+ B3E7B5881CC2AC0600A0062D /* PaxPoslink.h */,
54
+ B3E7B5891CC2AC0600A0062D /* PaxPoslink.m */,
55
+ 134814211AA4EA7D00B7C361 /* Products */,
56
+ );
57
+ sourceTree = "<group>";
58
+ };
59
+ /* End PBXGroup section */
60
+
61
+ /* Begin PBXNativeTarget section */
62
+ 58B511DA1A9E6C8500147676 /* PaxPoslink */ = {
63
+ isa = PBXNativeTarget;
64
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "PaxPoslink" */;
65
+ buildPhases = (
66
+ 58B511D71A9E6C8500147676 /* Sources */,
67
+ 58B511D81A9E6C8500147676 /* Frameworks */,
68
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
69
+ );
70
+ buildRules = (
71
+ );
72
+ dependencies = (
73
+ );
74
+ name = PaxPoslink;
75
+ productName = RCTDataManager;
76
+ productReference = 134814201AA4EA6300B7C361 /* libPaxPoslink.a */;
77
+ productType = "com.apple.product-type.library.static";
78
+ };
79
+ /* End PBXNativeTarget section */
80
+
81
+ /* Begin PBXProject section */
82
+ 58B511D31A9E6C8500147676 /* Project object */ = {
83
+ isa = PBXProject;
84
+ attributes = {
85
+ LastUpgradeCheck = 0920;
86
+ ORGANIZATIONNAME = Facebook;
87
+ TargetAttributes = {
88
+ 58B511DA1A9E6C8500147676 = {
89
+ CreatedOnToolsVersion = 6.1.1;
90
+ };
91
+ };
92
+ };
93
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "PaxPoslink" */;
94
+ compatibilityVersion = "Xcode 3.2";
95
+ developmentRegion = English;
96
+ hasScannedForEncodings = 0;
97
+ knownRegions = (
98
+ English,
99
+ en,
100
+ );
101
+ mainGroup = 58B511D21A9E6C8500147676;
102
+ productRefGroup = 58B511D21A9E6C8500147676;
103
+ projectDirPath = "";
104
+ projectRoot = "";
105
+ targets = (
106
+ 58B511DA1A9E6C8500147676 /* PaxPoslink */,
107
+ );
108
+ };
109
+ /* End PBXProject section */
110
+
111
+ /* Begin PBXSourcesBuildPhase section */
112
+ 58B511D71A9E6C8500147676 /* Sources */ = {
113
+ isa = PBXSourcesBuildPhase;
114
+ buildActionMask = 2147483647;
115
+ files = (
116
+ B3E7B58A1CC2AC0600A0062D /* PaxPoslink.m in Sources */,
117
+ );
118
+ runOnlyForDeploymentPostprocessing = 0;
119
+ };
120
+ /* End PBXSourcesBuildPhase section */
121
+
122
+ /* Begin XCBuildConfiguration section */
123
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
124
+ isa = XCBuildConfiguration;
125
+ buildSettings = {
126
+ ALWAYS_SEARCH_USER_PATHS = NO;
127
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
128
+ CLANG_CXX_LIBRARY = "libc++";
129
+ CLANG_ENABLE_MODULES = YES;
130
+ CLANG_ENABLE_OBJC_ARC = YES;
131
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
132
+ CLANG_WARN_BOOL_CONVERSION = YES;
133
+ CLANG_WARN_COMMA = YES;
134
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
135
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
136
+ CLANG_WARN_EMPTY_BODY = YES;
137
+ CLANG_WARN_ENUM_CONVERSION = YES;
138
+ CLANG_WARN_INFINITE_RECURSION = YES;
139
+ CLANG_WARN_INT_CONVERSION = YES;
140
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
141
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
142
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
143
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
144
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
145
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
146
+ CLANG_WARN_UNREACHABLE_CODE = YES;
147
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
148
+ COPY_PHASE_STRIP = NO;
149
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
150
+ ENABLE_TESTABILITY = YES;
151
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
152
+ GCC_C_LANGUAGE_STANDARD = gnu99;
153
+ GCC_DYNAMIC_NO_PIC = NO;
154
+ GCC_NO_COMMON_BLOCKS = YES;
155
+ GCC_OPTIMIZATION_LEVEL = 0;
156
+ GCC_PREPROCESSOR_DEFINITIONS = (
157
+ "DEBUG=1",
158
+ "$(inherited)",
159
+ );
160
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
161
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
162
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
163
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
164
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
165
+ GCC_WARN_UNUSED_FUNCTION = YES;
166
+ GCC_WARN_UNUSED_VARIABLE = YES;
167
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
168
+ MTL_ENABLE_DEBUG_INFO = YES;
169
+ ONLY_ACTIVE_ARCH = YES;
170
+ SDKROOT = iphoneos;
171
+ };
172
+ name = Debug;
173
+ };
174
+ 58B511EE1A9E6C8500147676 /* Release */ = {
175
+ isa = XCBuildConfiguration;
176
+ buildSettings = {
177
+ ALWAYS_SEARCH_USER_PATHS = NO;
178
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
179
+ CLANG_CXX_LIBRARY = "libc++";
180
+ CLANG_ENABLE_MODULES = YES;
181
+ CLANG_ENABLE_OBJC_ARC = YES;
182
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
183
+ CLANG_WARN_BOOL_CONVERSION = YES;
184
+ CLANG_WARN_COMMA = YES;
185
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
186
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
187
+ CLANG_WARN_EMPTY_BODY = YES;
188
+ CLANG_WARN_ENUM_CONVERSION = YES;
189
+ CLANG_WARN_INFINITE_RECURSION = YES;
190
+ CLANG_WARN_INT_CONVERSION = YES;
191
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
192
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
193
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
194
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
195
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
196
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
197
+ CLANG_WARN_UNREACHABLE_CODE = YES;
198
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
199
+ COPY_PHASE_STRIP = YES;
200
+ ENABLE_NS_ASSERTIONS = NO;
201
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
202
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
203
+ GCC_C_LANGUAGE_STANDARD = gnu99;
204
+ GCC_NO_COMMON_BLOCKS = YES;
205
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
206
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
207
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
208
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
209
+ GCC_WARN_UNUSED_FUNCTION = YES;
210
+ GCC_WARN_UNUSED_VARIABLE = YES;
211
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
212
+ MTL_ENABLE_DEBUG_INFO = NO;
213
+ SDKROOT = iphoneos;
214
+ VALIDATE_PRODUCT = YES;
215
+ };
216
+ name = Release;
217
+ };
218
+ 58B511F01A9E6C8500147676 /* Debug */ = {
219
+ isa = XCBuildConfiguration;
220
+ buildSettings = {
221
+ HEADER_SEARCH_PATHS = (
222
+ "$(inherited)",
223
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
224
+ "$(SRCROOT)/../../../React/**",
225
+ "$(SRCROOT)/../../react-native/React/**",
226
+ );
227
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
228
+ OTHER_LDFLAGS = "-ObjC";
229
+ PRODUCT_NAME = PaxPoslink;
230
+ SKIP_INSTALL = YES;
231
+ };
232
+ name = Debug;
233
+ };
234
+ 58B511F11A9E6C8500147676 /* Release */ = {
235
+ isa = XCBuildConfiguration;
236
+ buildSettings = {
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
+ );
243
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
244
+ OTHER_LDFLAGS = "-ObjC";
245
+ PRODUCT_NAME = PaxPoslink;
246
+ SKIP_INSTALL = YES;
247
+ };
248
+ name = Release;
249
+ };
250
+ /* End XCBuildConfiguration section */
251
+
252
+ /* Begin XCConfigurationList section */
253
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "PaxPoslink" */ = {
254
+ isa = XCConfigurationList;
255
+ buildConfigurations = (
256
+ 58B511ED1A9E6C8500147676 /* Debug */,
257
+ 58B511EE1A9E6C8500147676 /* Release */,
258
+ );
259
+ defaultConfigurationIsVisible = 0;
260
+ defaultConfigurationName = Release;
261
+ };
262
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "PaxPoslink" */ = {
263
+ isa = XCConfigurationList;
264
+ buildConfigurations = (
265
+ 58B511F01A9E6C8500147676 /* Debug */,
266
+ 58B511F11A9E6C8500147676 /* Release */,
267
+ );
268
+ defaultConfigurationIsVisible = 0;
269
+ defaultConfigurationName = Release;
270
+ };
271
+ /* End XCConfigurationList section */
272
+ };
273
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
274
+ }