react-native-instantpay-code-push 1.2.5 → 1.2.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.
@@ -469,7 +469,7 @@ class BundleFileStorageService: BundleStorageService {
469
469
  IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Directory contents: \(contents)")
470
470
 
471
471
  // Check for iOS bundle file directly
472
- let iosBundlePath = (directoryPath as NSString).appendingPathComponent("index.ios.bundle")
472
+ let iosBundlePath = (directoryPath as NSString).appendingPathComponent(".ipay-bundle/bundle/index.ios.bundle")
473
473
  if self.fileSystem.fileExists(atPath: iosBundlePath) {
474
474
  IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Found iOS bundle atPath: \(iosBundlePath)")
475
475
  return .success(iosBundlePath)
@@ -43,14 +43,14 @@ NSNotificationName const IpayCodePushDownloadDidFinishNotification = @"IpayCodeP
43
43
 
44
44
  // Clean up observers when module is invalidated or deallocated
45
45
  - (void)invalidate {
46
- RCTLogInfo(@"[InstantpayCodePush.mm] invalidate called, removing observers.");
46
+ //RCTLogInfo(@"[InstantpayCodePush.mm] invalidate called, removing observers.");
47
47
  [[NSNotificationCenter defaultCenter] removeObserver:self];
48
48
  // Swift side should handle KVO observer removal for its tasks
49
49
  [super invalidate];
50
50
  }
51
51
 
52
52
  - (void)dealloc {
53
- RCTLogInfo(@"[InstantpayCodePush.mm] dealloc called, removing observers.");
53
+ //RCTLogInfo(@"[InstantpayCodePush.mm] dealloc called, removing observers.");
54
54
  [[NSNotificationCenter defaultCenter] removeObserver:self];
55
55
  }
56
56
 
@@ -95,17 +95,17 @@ RCT_EXPORT_MODULE();
95
95
  // Convert timestamp (milliseconds) to UUID v7
96
96
  uint64_t timestampMs = [customValue longLongValue];
97
97
  uuid = [self generateUUIDv7FromTimestamp:timestampMs];
98
- RCTLogInfo(@"[InstantpayCodePush.mm] Using timestamp %@ as MIN_BUNDLE_ID: %@", customValue, uuid);
98
+ //RCTLogInfo(@"[InstantpayCodePush.mm] Using timestamp %@ as MIN_BUNDLE_ID: %@", customValue, uuid);
99
99
  } else {
100
100
  // Use as UUID directly
101
101
  uuid = customValue;
102
- RCTLogInfo(@"[InstantpayCodePush.mm] Using custom MIN_BUNDLE_ID from Info.plist: %@", uuid);
102
+ //RCTLogInfo(@"[InstantpayCodePush.mm] Using custom MIN_BUNDLE_ID from Info.plist: %@", uuid);
103
103
  }
104
104
  return;
105
105
  }
106
106
 
107
107
  // Step 3: Fallback to default logic (26-hour subtraction)
108
- RCTLogInfo(@"[InstantpayCodePush.mm] No custom MIN_BUNDLE_ID found, using default calculation");
108
+ //RCTLogInfo(@"[InstantpayCodePush.mm] No custom MIN_BUNDLE_ID found, using default calculation");
109
109
 
110
110
  NSString *compileDateStr = [NSString stringWithFormat:@"%s %s", __DATE__, __TIME__];
111
111
  NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
@@ -117,7 +117,7 @@ RCT_EXPORT_MODULE();
117
117
  NSDate *buildDate = [formatter dateFromString:compileDateStr];
118
118
 
119
119
  if (!buildDate) {
120
- RCTLogWarn(@"[InstantpayCodePush.mm] Could not parse build date: %@", compileDateStr);
120
+ //RCTLogWarn(@"[InstantpayCodePush.mm] Could not parse build date: %@", compileDateStr);
121
121
  uuid = @"00000000-0000-0000-0000-000000000000";
122
122
  return;
123
123
  }
@@ -218,7 +218,7 @@ RCT_EXPORT_MODULE();
218
218
 
219
219
  - (void)handleDownloadCompletion:(NSNotification *)notification {
220
220
  NSURLSessionTask *task = notification.object; // Task that finished
221
- RCTLogInfo(@"[InstantpayCodePush.mm] Received download completion notification for task: %@", task.originalRequest.URL);
221
+ //RCTLogInfo(@"[InstantpayCodePush.mm] Received download completion notification for task: %@", task.originalRequest.URL);
222
222
  // Swift side handles KVO observer removal internally now when task finishes.
223
223
  // No specific cleanup needed here based on this notification anymore.
224
224
  }
@@ -247,21 +247,21 @@ RCT_EXPORT_MODULE();
247
247
 
248
248
  - (void)reload:(RCTPromiseResolveBlock)resolve
249
249
  reject:(RCTPromiseRejectBlock)reject {
250
- RCTLogInfo(@"[InstantpayCodePush.mm] IpayCodePush requested a reload");
250
+ //RCTLogInfo(@"[InstantpayCodePush.mm] IpayCodePush requested a reload");
251
251
  dispatch_async(dispatch_get_main_queue(), ^{
252
252
  @try {
253
253
  IpayCodePushImpl *impl = [InstantpayCodePush sharedImpl];
254
254
  NSURL *bundleURL = [impl bundleURLWithBundle:[NSBundle mainBundle]];
255
- RCTLogInfo(@"[InstantpayCodePush.mm] Reloading with bundle URL: %@", bundleURL);
255
+ //RCTLogInfo(@"[InstantpayCodePush.mm] Reloading with bundle URL: %@", bundleURL);
256
256
  if (bundleURL && super.bridge) {
257
257
  [super.bridge setValue:bundleURL forKey:@"bundleURL"];
258
258
  } else if (!super.bridge) {
259
- RCTLogWarn(@"[InstantpayCodePush.mm] Bridge is nil, cannot set bundleURL for reload.");
259
+ //RCTLogWarn(@"[InstantpayCodePush.mm] Bridge is nil, cannot set bundleURL for reload.");
260
260
  }
261
261
  RCTTriggerReloadCommandListeners(@"IpayCodePush requested a reload");
262
262
  resolve(nil);
263
263
  } @catch (NSError *error) {
264
- RCTLogError(@"[InstantpayCodePush.mm] Failed to reload: %@", error);
264
+ //RCTLogError(@"[InstantpayCodePush.mm] Failed to reload: %@", error);
265
265
  reject(@"RELOAD_ERROR", error.description, error);
266
266
  }
267
267
  });
@@ -270,7 +270,7 @@ RCT_EXPORT_MODULE();
270
270
  - (void)updateBundle:(JS::NativeInstantpayCodePush::UpdateBundleParams &)params
271
271
  resolve:(RCTPromiseResolveBlock)resolve
272
272
  reject:(RCTPromiseRejectBlock)reject {
273
- NSLog(@"[InstantpayCodePush.mm] updateBundle called.");
273
+ //NSLog(@"[InstantpayCodePush.mm] updateBundle called.");
274
274
  NSMutableDictionary *paramDict = [NSMutableDictionary dictionary];
275
275
  if (params.bundleId()) {
276
276
  paramDict[@"bundleId"] = params.bundleId();
@@ -291,27 +291,27 @@ RCT_EXPORT_MODULE();
291
291
  if (params.bundleId()) {
292
292
  bundleId = params.bundleId();
293
293
  }
294
- NSLog(@"[InstantpayCodePush.mm] notifyAppReady called with bundleId: %@", bundleId);
294
+ //NSLog(@"[InstantpayCodePush.mm] notifyAppReady called with bundleId: %@", bundleId);
295
295
  IpayCodePushImpl *impl = [InstantpayCodePush sharedImpl];
296
296
  return [impl notifyAppReadyWithBundleId:bundleId];
297
297
  }
298
298
 
299
299
  - (NSArray<NSString *> *)getCrashHistory {
300
- NSLog(@"[InstantpayCodePush.mm] getCrashHistory called");
300
+ //NSLog(@"[InstantpayCodePush.mm] getCrashHistory called");
301
301
  IpayCodePushImpl *impl = [InstantpayCodePush sharedImpl];
302
302
  NSArray<NSString *> *crashHistory = [impl getCrashHistory];
303
303
  return crashHistory ?: @[];
304
304
  }
305
305
 
306
306
  - (NSNumber *)clearCrashHistory {
307
- NSLog(@"[InstantpayCodePush.mm] clearCrashHistory called");
307
+ //NSLog(@"[InstantpayCodePush.mm] clearCrashHistory called");
308
308
  IpayCodePushImpl *impl = [InstantpayCodePush sharedImpl];
309
309
  BOOL result = [impl clearCrashHistory];
310
310
  return @(result);
311
311
  }
312
312
 
313
313
  - (NSString *)getBaseURL {
314
- NSLog(@"[InstantpayCodePush.mm] getBaseURL called");
314
+ //NSLog(@"[InstantpayCodePush.mm] getBaseURL called");
315
315
  IpayCodePushImpl *impl = [InstantpayCodePush sharedImpl];
316
316
  NSString *baseURL = [impl getBaseURL];
317
317
  return baseURL ?: @"";
@@ -328,7 +328,7 @@ RCT_EXPORT_MODULE();
328
328
  .APP_VERSION = [IpayCodePushImpl appVersion],
329
329
  .CHANNEL = [impl getChannel],
330
330
  .FINGERPRINT_HASH = [impl getFingerprintHash],
331
- .KEYSTORE_PUBLIC_KEY = nil
331
+ .KEYSTORE_PUBLIC_KEY = [IpayCodePushImpl getKeyChainPublickey],
332
332
  });
333
333
  }
334
334
 
@@ -21,7 +21,7 @@ import os
21
21
  return
22
22
  }
23
23
 
24
- let fullTagName = "\(MAIN_LOG_TAG) \(classTag)"
24
+ let fullTagName = "\(MAIN_LOG_TAG) \(classTag) \(String(describing: log))"
25
25
 
26
26
  if let isEnableLog: Bool = Bundle.main.object(forInfoDictionaryKey: "IpayCodePush_Log") as! Bool? {
27
27
  if(isEnableLog){
@@ -36,7 +36,7 @@ import os
36
36
  return
37
37
  }
38
38
 
39
- let fullTagName = "\(MAIN_LOG_TAG) \(classTag)"
39
+ let fullTagName = "\(MAIN_LOG_TAG) \(classTag) \(String(describing: log))"
40
40
 
41
41
  if let isEnableLog: Bool = Bundle.main.object(forInfoDictionaryKey: "IpayCodePush_Log") as! Bool? {
42
42
  if(isEnableLog){
@@ -94,6 +94,10 @@ import React
94
94
  return "ipaycodepush_\(baseKey)_\(appChannel)_"
95
95
  }
96
96
 
97
+ public static var getKeyChainPublickey: String {
98
+ return SignatureVerifier.getDevicePublicKeyBase64() ?? ""
99
+ }
100
+
97
101
  // MARK: - Channel Management
98
102
 
99
103
  /**
@@ -300,7 +300,7 @@ public class SignatureVerifier {
300
300
  */
301
301
  private static func createPublicKey(from publicKeyPEM: String) -> Result<SecKey, SignatureVerificationError> {
302
302
  // Remove PEM headers/footers and whitespace
303
- var keyString = publicKeyPEM
303
+ let keyString = publicKeyPEM
304
304
  .replacingOccurrences(of: "-----BEGIN PUBLIC KEY-----", with: "")
305
305
  .replacingOccurrences(of: "-----END PUBLIC KEY-----", with: "")
306
306
  .replacingOccurrences(of: "\\n", with: "")
@@ -354,5 +354,104 @@ public class SignatureVerifier {
354
354
  return data
355
355
  }
356
356
 
357
+ private static let KEY_ALIAS = "com.ipaycodepush.security.rsa"
358
+
359
+ /**
360
+ * Get Device Public Key of generated KeyChain
361
+ */
362
+ public static func getDevicePublicKeyBase64() -> String? {
363
+
364
+ if let privateKey = getPrivateKey() {
365
+ return exportPublicKeyBase64(from: privateKey)
366
+ }
367
+
368
+ // Generate key
369
+ guard let privateKey = generateKeyChain() else {
370
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Key generation failed")
371
+ return nil
372
+ }
373
+
374
+ return exportPublicKeyBase64(from: privateKey)
375
+ }
376
+
377
+ /**
378
+ * Generate a new EC key pair entry in the Ios Keychain by
379
+ * using the KeyPairGenerator API.
380
+ */
381
+
382
+ private static func generateKeyChain() -> SecKey? {
383
+
384
+ let tagData = KEY_ALIAS.data(using: .utf8)!
385
+
386
+ let access = SecAccessControlCreateWithFlags(
387
+ nil,
388
+ kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly,
389
+ [],
390
+ nil
391
+ )
392
+
393
+ let attributes: [String: Any] = [
394
+ kSecAttrKeyType as String: kSecAttrKeyTypeRSA,
395
+ kSecAttrKeySizeInBits as String: 2048,
396
+ kSecPrivateKeyAttrs as String: [
397
+ kSecAttrIsPermanent as String: true,
398
+ kSecAttrApplicationTag as String: tagData,
399
+ kSecAttrAccessControl as String: access as Any
400
+ ]
401
+ ]
402
+
403
+ var error: Unmanaged<CFError>?
404
+ let privateKey = SecKeyCreateRandomKey(attributes as CFDictionary, &error)
405
+
406
+ if let error = error {
407
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Key generation error: \(error.takeRetainedValue() as Any)")
408
+ }
409
+
410
+ return privateKey
411
+ }
412
+
413
+ /**
414
+ * Get Private Key of device keychain
415
+ */
416
+ private static func getPrivateKey() -> SecKey? {
417
+
418
+ let tagData = KEY_ALIAS.data(using: .utf8)!
419
+
420
+ let query: [String: Any] = [
421
+ kSecClass as String: kSecClassKey,
422
+ kSecAttrApplicationTag as String: tagData,
423
+ kSecAttrKeyType as String: kSecAttrKeyTypeRSA,
424
+ kSecReturnRef as String: true
425
+ ]
426
+
427
+ var item: CFTypeRef?
428
+ let status = SecItemCopyMatching(query as CFDictionary, &item)
429
+
430
+ if status != errSecSuccess {
431
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Key fetch error: \(status)")
432
+ return nil
433
+ }
434
+
435
+ return (item as! SecKey)
436
+ }
437
+
438
+ /**
439
+ * Get Public key of generated Private Key
440
+ */
441
+ private static func exportPublicKeyBase64(from privateKey: SecKey) -> String? {
442
+
443
+ guard let publicKey = SecKeyCopyPublicKey(privateKey) else {
444
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Cannot get public key")
445
+ return nil
446
+ }
447
+
448
+ var error: Unmanaged<CFError>?
449
+ guard let data = SecKeyCopyExternalRepresentation(publicKey, &error) as Data? else {
450
+ IpayCodePushHelper.logPrint(classTag: CLASS_TAG, log: "Export error: \(error?.takeRetainedValue() as Any)")
451
+ return nil
452
+ }
453
+
454
+ return data.base64EncodedString()
455
+ }
357
456
 
358
457
  }
@@ -11,10 +11,6 @@ export async function checkForUpdate(options) {
11
11
  console.log('checkForUpdate : Running in dev mode');
12
12
  return null;
13
13
  }
14
- if (Platform.OS == 'ios') {
15
- console.log("Under Development in iOS Platform");
16
- return null;
17
- }
18
14
  if (!["ios", "android"].includes(Platform.OS)) {
19
15
  options.onError?.(new IpayCodePushError("IpayCodePush is only supported on iOS and Android"));
20
16
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","IpayCodePushError","getAppVersion","getBundleId","getChannel","getFingerprintHash","getMinBundleId","updateBundle","checkForUpdate","options","__DEV__","debug","console","log","OS","includes","onError","currentAppVersion","platform","currentBundleId","minBundleId","channel","fingerprintHash","resolver","checkUpdate","updateInfo","appVersion","bundleId","updateStrategy","requestHeaders","requestTimeout","error","id","fileUrl","fileHash","status"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAAQ,YAAS;AAE3C,SACIC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,kBAAkB,EAClBC,cAAc,EACdC,YAAY,QACT,aAAU;;AAkCjB;;AAKA,OAAO,eAAeC,cAAcA,CAChCC,OAAsC,EACF;EACpC,IAAIC,OAAO,IAAI,CAACD,OAAO,CAACE,KAAK,EAAE;IAC3BC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,OAAO,IAAI;EACf;EAEA,IAAGb,QAAQ,CAACc,EAAE,IAAI,KAAK,EAAC;IACpBF,OAAO,CAACC,GAAG,CAAC,mCAAmC,CAAC;IAChD,OAAO,IAAI;EACf;EAEA,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAACE,QAAQ,CAACf,QAAQ,CAACc,EAAE,CAAC,EAAE;IAC3CL,OAAO,CAACO,OAAO,GACX,IAAIf,iBAAiB,CAAC,mDAAmD,CAC7E,CAAC;IACD,OAAO,IAAI;EACf;EAEA,MAAMgB,iBAAiB,GAAGf,aAAa,CAAC,CAAC;EACzC,MAAMgB,QAAQ,GAAGlB,QAAQ,CAACc,EAAuB;EACjD,MAAMK,eAAe,GAAGhB,WAAW,CAAC,CAAC;EACrC,MAAMiB,WAAW,GAAGd,cAAc,CAAC,CAAC;EACpC,MAAMe,OAAO,GAAGjB,UAAU,CAAC,CAAC;EAE5B,IAAI,CAACa,iBAAiB,EAAE;IACpBR,OAAO,CAACO,OAAO,GAAG,IAAIf,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IACrE,OAAO,IAAI;EACf;EAEA,MAAMqB,eAAe,GAAGjB,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACI,OAAO,CAACc,QAAQ,EAAEC,WAAW,EAAE;IAChCf,OAAO,CAACO,OAAO,GACX,IAAIf,iBAAiB,CAAC,yCAAyC,CACnE,CAAC;IACD,OAAO,IAAI;EACf;EAEA,IAAIwB,UAAgC,GAAG,IAAI;EAE3C,IAAI;IACAA,UAAU,GAAG,MAAMhB,OAAO,CAACc,QAAQ,CAACC,WAAW,CAAC;MAC5CN,QAAQ;MACRQ,UAAU,EAAET,iBAAiB;MAC7BU,QAAQ,EAAER,eAAe;MACzBC,WAAW;MACXC,OAAO;MACPO,cAAc,EAAEnB,OAAO,CAACmB,cAAc;MACtCN,eAAe;MACfO,cAAc,EAAEpB,OAAO,CAACoB,cAAc;MACtCC,cAAc,EAAErB,OAAO,CAACqB;IAC5B,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZtB,OAAO,CAACO,OAAO,GAAGe,KAAc,CAAC;IACjC,OAAO,IAAI;EACf;EAEA,IAAI,CAACN,UAAU,EAAE;IACb,OAAO,IAAI;EACf;EAEA,OAAO;IACH,GAAGA,UAAU;IACblB,YAAY,EAAE,MAAAA,CAAA,KAAY;MACtB,OAAOA,YAAY,CAAC;QAChBoB,QAAQ,EAAEF,UAAU,CAACO,EAAE;QACvBC,OAAO,EAAER,UAAU,CAACQ,OAAO;QAC3BC,QAAQ,EAAET,UAAU,CAACS,QAAQ;QAC7BC,MAAM,EAAEV,UAAU,CAACU;MACvB,CAAC,CAAC;IACN;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["Platform","IpayCodePushError","getAppVersion","getBundleId","getChannel","getFingerprintHash","getMinBundleId","updateBundle","checkForUpdate","options","__DEV__","debug","console","log","includes","OS","onError","currentAppVersion","platform","currentBundleId","minBundleId","channel","fingerprintHash","resolver","checkUpdate","updateInfo","appVersion","bundleId","updateStrategy","requestHeaders","requestTimeout","error","id","fileUrl","fileHash","status"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAAQ,YAAS;AAE3C,SACIC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,kBAAkB,EAClBC,cAAc,EACdC,YAAY,QACT,aAAU;;AAkCjB;;AAKA,OAAO,eAAeC,cAAcA,CAChCC,OAAsC,EACF;EACpC,IAAIC,OAAO,IAAI,CAACD,OAAO,CAACE,KAAK,EAAE;IAC3BC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,OAAO,IAAI;EACf;EAEA,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAACC,QAAQ,CAACd,QAAQ,CAACe,EAAE,CAAC,EAAE;IAC3CN,OAAO,CAACO,OAAO,GACX,IAAIf,iBAAiB,CAAC,mDAAmD,CAC7E,CAAC;IACD,OAAO,IAAI;EACf;EAEA,MAAMgB,iBAAiB,GAAGf,aAAa,CAAC,CAAC;EACzC,MAAMgB,QAAQ,GAAGlB,QAAQ,CAACe,EAAuB;EACjD,MAAMI,eAAe,GAAGhB,WAAW,CAAC,CAAC;EACrC,MAAMiB,WAAW,GAAGd,cAAc,CAAC,CAAC;EACpC,MAAMe,OAAO,GAAGjB,UAAU,CAAC,CAAC;EAE5B,IAAI,CAACa,iBAAiB,EAAE;IACpBR,OAAO,CAACO,OAAO,GAAG,IAAIf,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IACrE,OAAO,IAAI;EACf;EAEA,MAAMqB,eAAe,GAAGjB,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACI,OAAO,CAACc,QAAQ,EAAEC,WAAW,EAAE;IAChCf,OAAO,CAACO,OAAO,GACX,IAAIf,iBAAiB,CAAC,yCAAyC,CACnE,CAAC;IACD,OAAO,IAAI;EACf;EAEA,IAAIwB,UAAgC,GAAG,IAAI;EAE3C,IAAI;IACAA,UAAU,GAAG,MAAMhB,OAAO,CAACc,QAAQ,CAACC,WAAW,CAAC;MAC5CN,QAAQ;MACRQ,UAAU,EAAET,iBAAiB;MAC7BU,QAAQ,EAAER,eAAe;MACzBC,WAAW;MACXC,OAAO;MACPO,cAAc,EAAEnB,OAAO,CAACmB,cAAc;MACtCN,eAAe;MACfO,cAAc,EAAEpB,OAAO,CAACoB,cAAc;MACtCC,cAAc,EAAErB,OAAO,CAACqB;IAC5B,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZtB,OAAO,CAACO,OAAO,GAAGe,KAAc,CAAC;IACjC,OAAO,IAAI;EACf;EAEA,IAAI,CAACN,UAAU,EAAE;IACb,OAAO,IAAI;EACf;EAEA,OAAO;IACH,GAAGA,UAAU;IACblB,YAAY,EAAE,MAAAA,CAAA,KAAY;MACtB,OAAOA,YAAY,CAAC;QAChBoB,QAAQ,EAAEF,UAAU,CAACO,EAAE;QACvBC,OAAO,EAAER,UAAU,CAACQ,OAAO;QAC3BC,QAAQ,EAAET,UAAU,CAACS,QAAQ;QAC7BC,MAAM,EAAEV,UAAU,CAACU;MACvB,CAAC,CAAC;IACN;EACJ,CAAC;AACL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGnE,MAAM,WAAW,qBAAqB;IAClC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAC/C;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC,CAAC;AAGF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IACxE,QAAQ,EAAE,oBAAoB,CAAC;CAClC;AAED,wBAAsB,cAAc,CAChC,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwEtC"}
1
+ {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGnE,MAAM,WAAW,qBAAqB;IAClC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAC/C;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC,CAAC;AAGF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IACxE,QAAQ,EAAE,oBAAoB,CAAC;CAClC;AAED,wBAAsB,cAAc,CAChC,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAmEtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-instantpay-code-push",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "React Native plugin for the CodePush service",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -55,11 +55,6 @@ export async function checkForUpdate(
55
55
  return null;
56
56
  }
57
57
 
58
- if(Platform.OS == 'ios'){
59
- console.log("Under Development in iOS Platform");
60
- return null;
61
- }
62
-
63
58
  if (!["ios", "android"].includes(Platform.OS)) {
64
59
  options.onError?.(
65
60
  new IpayCodePushError("IpayCodePush is only supported on iOS and Android"),