react-native-nami-sdk 3.3.0-beta.3 → 3.3.0-beta.8

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.
@@ -81,6 +81,11 @@ jobs:
81
81
  env:
82
82
  KEYSTORE_BASE64: '${{ secrets.KEY_STORE_BASE64 }}'
83
83
 
84
+ - name: Pack the SDK
85
+ run: |
86
+ npm pack
87
+ working-directory: source/
88
+
84
89
  - name: Install test app dependencies
85
90
  run: |
86
91
  yarn install
@@ -193,6 +198,11 @@ jobs:
193
198
  echo "CURRENT_VERSION=$(cat ~/.current_version)" >> $GITHUB_ENV
194
199
  working-directory: source/examples/Basic
195
200
 
201
+ - name: Pack the SDK
202
+ run: |
203
+ npm pack
204
+ working-directory: source/
205
+
196
206
  - name: Install test app dependencies
197
207
  run: |
198
208
  yarn install
@@ -85,8 +85,8 @@ dependencies {
85
85
  implementation fileTree(dir: 'libs', include: ['*.jar'])
86
86
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
87
87
 
88
- playImplementation "com.namiml:sdk-android:3.2.11"
89
- amazonImplementation "com.namiml:sdk-amazon:3.2.11"
88
+ playImplementation "com.namiml:sdk-android:3.3.0-beta.07"
89
+ amazonImplementation "com.namiml:sdk-amazon:3.3.0-beta.07"
90
90
 
91
91
  implementation "com.facebook.react:react-native:+" // From node_modules
92
92
  coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5"
@@ -106,7 +106,7 @@ class NamiBridgeModule(reactContext: ReactApplicationContext) :
106
106
  } else {
107
107
  Arguments.createArray()
108
108
  }
109
- val settingsList = mutableListOf("extendedClientInfo:react-native:3.3.0-beta.3")
109
+ val settingsList = mutableListOf("extendedClientInfo:react-native:3.3.0-beta.7")
110
110
  namiCommandsReact?.toArrayList()?.filterIsInstance<String>()?.let { commandsFromReact ->
111
111
  settingsList.addAll(commandsFromReact)
112
112
  }
@@ -66,8 +66,8 @@ class NamiCampaignManagerBridgeModule(reactContext: ReactApplicationContext) :
66
66
  var paywallLaunchContext: PaywallLaunchContext? = null
67
67
  if (context != null) {
68
68
  val productGroups: MutableList<String> = mutableListOf()
69
- val customAttributes: MutableMap<String, String> = mutableMapOf()
70
- var customObject: MutableMap<String, Any> = mutableMapOf()
69
+ val customAttributes: MutableMap<String, Any> = mutableMapOf()
70
+ var customObject: MutableMap<String, Any?> = mutableMapOf()
71
71
 
72
72
  if (context.hasKey("productGroups")) {
73
73
  val groups = context.getArray("productGroups")
@@ -1,31 +1,47 @@
1
1
  package com.nami.reactlibrary
2
2
 
3
+ import android.os.Handler
4
+ import android.os.Looper
3
5
  import com.facebook.react.bridge.*
4
6
  import com.facebook.react.modules.core.DeviceEventManagerModule
5
- //import com.namiml.customer.NamiFlowManager
7
+ import com.namiml.flow.NamiFlowManager
6
8
 
7
9
  class NamiFlowManagerBridgeModule(reactContext: ReactApplicationContext) :
8
10
  ReactContextBaseJavaModule(reactContext) {
9
11
 
12
+ private var eventHandler: ((WritableMap) -> Unit)? = null
13
+
10
14
  override fun getName(): String {
11
15
  return "RNNamiFlowManager"
12
16
  }
13
17
 
14
18
  @ReactMethod
15
19
  fun registerStepHandoff() {
16
- //NamiFlowManager.registerStepHandoff { handoffTag, handoffData ->
17
- // val payload = Arguments.createMap().apply {
18
- // putString("handoffTag", handoffTag)
19
- // putString("handoffData", handoffData)
20
- // }
21
- //
22
- // sendEvent("RegisterStepHandoff", payload)
23
- //}
20
+ NamiFlowManager.registerStepHandoff { handoffTag, handoffData ->
21
+ val payload = Arguments.createMap().apply {
22
+ putString("handoffTag", handoffTag)
23
+ if (handoffData != null) {
24
+ putMap("handoffData", Arguments.makeNativeMap(handoffData))
25
+ }
26
+ }
27
+ sendEvent("RegisterStepHandoff", payload)
28
+ }
29
+ }
30
+
31
+ @ReactMethod
32
+ fun registerEventHandler(callback: Callback) {
33
+ eventHandler = { payload ->
34
+ callback.invoke(payload)
35
+ }
24
36
  }
25
37
 
26
38
  @ReactMethod
27
39
  fun resume() {
28
- //NamiFlowManager.resume()
40
+ val delayMillis = 100L
41
+
42
+ Handler(Looper.getMainLooper()).postDelayed({
43
+ NamiFlowManager.resume()
44
+ }, delayMillis)
29
45
  }
30
46
 
31
47
  private fun sendEvent(eventName: String, params: WritableMap?) {
@@ -33,4 +49,12 @@ class NamiFlowManagerBridgeModule(reactContext: ReactApplicationContext) :
33
49
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
34
50
  .emit(eventName, params)
35
51
  }
52
+
53
+ @ReactMethod
54
+ fun addListener(eventName: String?) {
55
+ }
56
+
57
+ @ReactMethod
58
+ fun removeListeners(count: Int?) {
59
+ }
36
60
  }
@@ -10,6 +10,7 @@
10
10
 
11
11
  @interface RCT_EXTERN_MODULE(RNNamiFlowManager, RCTEventEmitter)
12
12
  RCT_EXTERN_METHOD(registerStepHandoff)
13
+ RCT_EXTERN_METHOD(registerEventHandler:(RCTResponseSenderBlock)callback)
13
14
  RCT_EXTERN_METHOD(resume)
14
15
 
15
16
  + (BOOL)requiresMainQueueSetup {
@@ -28,15 +28,23 @@ class RNNamiFlowManager: RCTEventEmitter {
28
28
 
29
29
  @objc func registerStepHandoff() {
30
30
  NamiFlowManager.registerStepHandoff { tag, data in
31
- let payload: [String: Any] = [
31
+ var payload: [String: Any] = [
32
32
  "handoffTag": tag,
33
- "handoffData": data ?? "",
34
33
  ]
35
- print("handoff native \(tag) \(data)")
34
+ if let data = data {
35
+ payload["handoffData"] = data
36
+ }
36
37
  RNNamiFlowManager.shared?.sendEvent(withName: "RegisterStepHandoff", body: payload)
37
38
  }
38
39
  }
39
40
 
41
+ @objc(registerEventHandler:)
42
+ func registerEventHandler(_ callback: @escaping RCTResponseSenderBlock) {
43
+ NamiFlowManager.registerEventHandler { payload in
44
+ callback([payload])
45
+ }
46
+ }
47
+
40
48
  @objc func resume() {
41
49
  DispatchQueue.main.async {
42
50
  NamiFlowManager.resume()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nami-sdk",
3
- "version": "3.3.0-beta.3",
3
+ "version": "3.3.0-beta.8",
4
4
  "description": "React Native Module for Nami - Easy subscriptions & in-app purchases, with powerful built-in paywalls and A/B testing.",
5
5
  "main": "index.ts",
6
6
  "types": "index.d.ts",
@@ -20,7 +20,7 @@ Pod::Spec.new do |s|
20
20
  s.source_files = "ios/**/*.{h,m,swift}"
21
21
  s.requires_arc = true
22
22
 
23
- s.dependency 'Nami', '3.3.0-beta.03'
23
+ s.dependency 'Nami', '3.3.0-beta.06'
24
24
  s.dependency 'React'
25
25
 
26
26
  end
@@ -49,6 +49,42 @@ export const NamiCustomerManager: INamiCustomerManager = {
49
49
  logout: () => {
50
50
  RNNamiCustomerManager.logout();
51
51
  },
52
+ setCustomerDataPlatformId: platformId => {
53
+ RNNamiCustomerManager.setCustomerDataPlatformId(platformId);
54
+ },
55
+ clearCustomerDataPlatformId: () => {
56
+ RNNamiCustomerManager.clearCustomerDataPlatformId();
57
+ },
58
+ setAnonymousMode: anonymousMode => {
59
+ RNNamiCustomerManager.setAnonymousMode(anonymousMode);
60
+ },
61
+ setCustomerAttribute: (key, value) => {
62
+ RNNamiCustomerManager.setCustomerAttribute(key, value);
63
+ },
64
+ clearCustomerAttribute: key => {
65
+ RNNamiCustomerManager.clearCustomerAttribute(key);
66
+ },
67
+ clearAllCustomerAttributes: () => {
68
+ RNNamiCustomerManager.clearAllCustomerAttributes();
69
+ },
70
+ getCustomerAttribute: async key => {
71
+ return RNNamiCustomerManager.getCustomerAttribute(key);
72
+ },
73
+ journeyState: async () => {
74
+ return RNNamiCustomerManager.journeyState();
75
+ },
76
+ isLoggedIn: async () => {
77
+ return RNNamiCustomerManager.isLoggedIn();
78
+ },
79
+ loggedInId: async () => {
80
+ return RNNamiCustomerManager.loggedInId();
81
+ },
82
+ deviceId: async () => {
83
+ return RNNamiCustomerManager.deviceId();
84
+ },
85
+ inAnonymousMode: async () => {
86
+ return RNNamiCustomerManager.inAnonymousMode();
87
+ },
52
88
  registerJourneyStateHandler: (
53
89
  callback: (journeyState: CustomerJourneyState) => void,
54
90
  ) => {
@@ -1,8 +1,32 @@
1
1
  export declare enum NamiFlowManagerEvents {
2
- RegisterStepHandoff = "RegisterStepHandoff"
2
+ RegisterStepHandoff = "RegisterStepHandoff"
3
3
  }
4
+
4
5
  export interface INamiFlowManager {
5
- registerStepHandoff: (callback: (handoffTag: string, handoffData?: string) => void) => () => void;
6
- resume: () => void;
6
+ /**
7
+ * Registers a callback to receive handoff step events.
8
+ * @param callback - Called with handoffTag and optional handoffData object.
9
+ * @returns Unsubscribe function.
10
+ */
11
+ registerStepHandoff: (
12
+ callback: (handoffTag: string, handoffData?: { [key: string]: any }) => void
13
+ ) => () => void;
14
+
15
+ /**
16
+ * Resumes the flow manager.
17
+ */
18
+ resume: () => void;
19
+
20
+ /**
21
+ * Registers an event handler for custom payload events.
22
+ * @param handler - Called with the payload object sent from native.
23
+ */
24
+ registerEventHandler: (
25
+ handler: (payload: { [key: string]: any }) => void
26
+ ) => void;
7
27
  }
28
+
29
+ /**
30
+ * Nami Flow Manager instance for interacting with the native SDK.
31
+ */
8
32
  export declare const NamiFlowManager: INamiFlowManager;
@@ -12,16 +12,12 @@ export enum NamiFlowManagerEvents {
12
12
 
13
13
  export interface INamiFlowManager {
14
14
  registerStepHandoff: (
15
- callback: (handoffTag: string, handoffData?: string) => void,
15
+ callback: (handoffTag: string, handoffData?: { [key: string]: any }) => void,
16
16
  ) => () => void;
17
17
  resume: () => void;
18
- }
19
-
20
- if (typeof RNNamiFlowManager?.addListener !== 'function') {
21
- RNNamiFlowManager.addListener = () => {};
22
- }
23
- if (typeof RNNamiFlowManager?.removeListeners !== 'function') {
24
- RNNamiFlowManager.removeListeners = () => {};
18
+ registerEventHandler: (
19
+ handler: (payload: { [key: string]: any }) => void
20
+ ) => void;
25
21
  }
26
22
 
27
23
  const flowEmitter = new NativeEventEmitter(RNNamiFlowManager);
@@ -32,8 +28,8 @@ export const NamiFlowManager: INamiFlowManager = {
32
28
 
33
29
  const subscription: EmitterSubscription = flowEmitter.addListener(
34
30
  NamiFlowManagerEvents.RegisterStepHandoff,
35
- (event: { handoffTag: string; handoffData?: string }) => {
36
- console.warn('[NamiFlowManager] Received handoff event:', event);
31
+ (event: { handoffTag: string; handoffData?: { [key: string]: any } }) => {
32
+ console.info('[NamiFlowManager] Received handoff event:', event);
37
33
  callback(event.handoffTag, event.handoffData);
38
34
  }
39
35
  );
@@ -51,9 +47,20 @@ export const NamiFlowManager: INamiFlowManager = {
51
47
 
52
48
  resume: () => {
53
49
  if (RNNamiFlowManager?.resume) {
50
+ console.info('[NamiFlowManager] resume from handoff requested');
54
51
  RNNamiFlowManager.resume();
55
52
  } else {
56
53
  console.warn('[NamiFlowManager] Native method resume is not available.');
57
54
  }
58
55
  },
56
+
57
+ registerEventHandler: (handler) => {
58
+ if (RNNamiFlowManager?.registerEventHandler) {
59
+ RNNamiFlowManager.registerEventHandler((payload: { [key: string]: any }) => {
60
+ handler(payload);
61
+ });
62
+ } else {
63
+ console.warn('[NamiFlowManager] Native method registerEventHandler is not available.');
64
+ }
65
+ },
59
66
  };
package/android/.project DELETED
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <projectDescription>
3
- <name>android___</name>
4
- <comment>Project android___ created by Buildship.</comment>
5
- <projects>
6
- </projects>
7
- <buildSpec>
8
- <buildCommand>
9
- <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10
- <arguments>
11
- </arguments>
12
- </buildCommand>
13
- </buildSpec>
14
- <natures>
15
- <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16
- </natures>
17
- </projectDescription>
@@ -1,13 +0,0 @@
1
- arguments=
2
- auto.sync=false
3
- build.scans.enabled=false
4
- connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.0))
5
- connection.project.dir=
6
- eclipse.preferences.version=1
7
- gradle.user.home=
8
- java.home=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
9
- jvm.arguments=
10
- offline.mode=false
11
- override.workspace.settings=true
12
- show.console.view=true
13
- show.executions.view=true
@@ -1,365 +0,0 @@
1
- // !$*UTF8*$!
2
- {
3
- archiveVersion = 1;
4
- classes = {
5
- };
6
- objectVersion = 46;
7
- objects = {
8
-
9
- /* Begin PBXBuildFile section */
10
- B3E7B58A1CC2AC0600A0062D /* RNNami.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNNami.m */; };
11
- EB1C9AFB23BE9C5700CAD548 /* NamiPurchaseManagerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = EB1C9AF823BE9C5600CAD548 /* NamiPurchaseManagerBridge.m */; };
12
- EB1C9AFC23BE9C5700CAD548 /* NamiPaywallManagerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = EB1C9AF923BE9C5600CAD548 /* NamiPaywallManagerBridge.m */; };
13
- EB1C9AFD23BE9C5700CAD548 /* NamiEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = EB1C9AFA23BE9C5700CAD548 /* NamiEmitter.m */; };
14
- EB75992124F031E900430D98 /* NamiCustomerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EB75992024F031E900430D98 /* NamiCustomerManager.m */; };
15
- EB7B50CE243E314900EBA6B7 /* NamiEntitlementManagerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = EB7B50CD243E314900EBA6B7 /* NamiEntitlementManagerBridge.m */; };
16
- EBC59E5D23C5514B008A123A /* Nami.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC59E5C23C5514B008A123A /* Nami.m */; };
17
- EBC59E6323C7F634008A123A /* NamiBridgeUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC59E6223C7F634008A123A /* NamiBridgeUtil.m */; };
18
- EBEEAC10243C29C800E01389 /* NamiMLManagerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEEAC0F243C29C800E01389 /* NamiMLManagerBridge.m */; };
19
- FA3AB38529E009F300FD2E8D /* NamiPaywallManagerBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA3AB38429E009F300FD2E8D /* NamiPaywallManagerBridge.swift */; };
20
- FA4CEE3D29DEE01600058372 /* NamiPurchaseManagerBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA4CEE3C29DEE01600058372 /* NamiPurchaseManagerBridge.swift */; };
21
- FA86299F29DDA881000090C6 /* NamiEntitlementManagerBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA86299E29DDA881000090C6 /* NamiEntitlementManagerBridge.swift */; };
22
- FAADDB4F29D376590096591A /* NamiCampaignManagerBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAADDB4D29D376590096591A /* NamiCampaignManagerBridge.swift */; };
23
- FAADDB5229D377560096591A /* NamiCampaignManagerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = FAADDB5129D377560096591A /* NamiCampaignManagerBridge.m */; };
24
- FAD132F729D6BD5E001059A2 /* NamiCustomerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAD132F629D6BD5E001059A2 /* NamiCustomerManager.swift */; };
25
- /* End PBXBuildFile section */
26
-
27
- /* Begin PBXCopyFilesBuildPhase section */
28
- 58B511D91A9E6C8500147676 /* CopyFiles */ = {
29
- isa = PBXCopyFilesBuildPhase;
30
- buildActionMask = 2147483647;
31
- dstPath = "include/$(PRODUCT_NAME)";
32
- dstSubfolderSpec = 16;
33
- files = (
34
- );
35
- runOnlyForDeploymentPostprocessing = 0;
36
- };
37
- /* End PBXCopyFilesBuildPhase section */
38
-
39
- /* Begin PBXFileReference section */
40
- 134814201AA4EA6300B7C361 /* libRNNami.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libRNNami.a; path = "/Users/dannami/Nami/Source/react-native-nami-sdk/ios/build/Debug-iphoneos/libRNNami.a"; sourceTree = "<absolute>"; };
41
- B3E7B5881CC2AC0600A0062D /* RNNami.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNNami.h; sourceTree = "<group>"; };
42
- B3E7B5891CC2AC0600A0062D /* RNNami.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNami.m; sourceTree = "<group>"; };
43
- EB1C9AF823BE9C5600CAD548 /* NamiPurchaseManagerBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NamiPurchaseManagerBridge.m; sourceTree = "<group>"; };
44
- EB1C9AF923BE9C5600CAD548 /* NamiPaywallManagerBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NamiPaywallManagerBridge.m; sourceTree = "<group>"; };
45
- EB1C9AFA23BE9C5700CAD548 /* NamiEmitter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NamiEmitter.m; sourceTree = "<group>"; };
46
- EB75992024F031E900430D98 /* NamiCustomerManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NamiCustomerManager.m; sourceTree = "<group>"; };
47
- EB7B50CD243E314900EBA6B7 /* NamiEntitlementManagerBridge.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NamiEntitlementManagerBridge.m; sourceTree = "<group>"; };
48
- EBC59E5C23C5514B008A123A /* Nami.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Nami.m; sourceTree = "<group>"; };
49
- EBC59E6223C7F634008A123A /* NamiBridgeUtil.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NamiBridgeUtil.m; sourceTree = "<group>"; };
50
- EBC59E6423C7F7A0008A123A /* NamiBridgeUtil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NamiBridgeUtil.h; sourceTree = "<group>"; };
51
- EBEEAC0F243C29C800E01389 /* NamiMLManagerBridge.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NamiMLManagerBridge.m; sourceTree = "<group>"; };
52
- FA02430629D2EAE00018CA56 /* RNNami-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RNNami-Bridging-Header.h"; sourceTree = "<group>"; };
53
- FA3AB38429E009F300FD2E8D /* NamiPaywallManagerBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamiPaywallManagerBridge.swift; sourceTree = "<group>"; };
54
- FA4CEE3C29DEE01600058372 /* NamiPurchaseManagerBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamiPurchaseManagerBridge.swift; sourceTree = "<group>"; };
55
- FA86299E29DDA881000090C6 /* NamiEntitlementManagerBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamiEntitlementManagerBridge.swift; sourceTree = "<group>"; };
56
- FAADDB4D29D376590096591A /* NamiCampaignManagerBridge.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NamiCampaignManagerBridge.swift; sourceTree = "<group>"; };
57
- FAADDB5129D377560096591A /* NamiCampaignManagerBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NamiCampaignManagerBridge.m; sourceTree = "<group>"; };
58
- FAD132F629D6BD5E001059A2 /* NamiCustomerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamiCustomerManager.swift; sourceTree = "<group>"; };
59
- /* End PBXFileReference section */
60
-
61
- /* Begin PBXFrameworksBuildPhase section */
62
- 58B511D81A9E6C8500147676 /* Frameworks */ = {
63
- isa = PBXFrameworksBuildPhase;
64
- buildActionMask = 2147483647;
65
- files = (
66
- );
67
- runOnlyForDeploymentPostprocessing = 0;
68
- };
69
- /* End PBXFrameworksBuildPhase section */
70
-
71
- /* Begin PBXGroup section */
72
- 58B511D21A9E6C8500147676 = {
73
- isa = PBXGroup;
74
- children = (
75
- FA3AB38329E009D200FD2E8D /* NamiPaywallManager */,
76
- FA4CEE3E29DEE01E00058372 /* NamiPurchaseManager */,
77
- FA8629A029DDA8A5000090C6 /* NamiEntitlementManager */,
78
- FADE7CFB29DD9875000BF262 /* NamiCustomerManager */,
79
- FADE7CFA29DD984E000BF262 /* NamiCampaignManager */,
80
- FA02430629D2EAE00018CA56 /* RNNami-Bridging-Header.h */,
81
- EBC59E6423C7F7A0008A123A /* NamiBridgeUtil.h */,
82
- EBC59E6223C7F634008A123A /* NamiBridgeUtil.m */,
83
- B3E7B5881CC2AC0600A0062D /* RNNami.h */,
84
- B3E7B5891CC2AC0600A0062D /* RNNami.m */,
85
- EBC59E5C23C5514B008A123A /* Nami.m */,
86
- EB1C9AFA23BE9C5700CAD548 /* NamiEmitter.m */,
87
- EBEEAC0F243C29C800E01389 /* NamiMLManagerBridge.m */,
88
- );
89
- sourceTree = "<group>";
90
- };
91
- FA3AB38329E009D200FD2E8D /* NamiPaywallManager */ = {
92
- isa = PBXGroup;
93
- children = (
94
- EB1C9AF923BE9C5600CAD548 /* NamiPaywallManagerBridge.m */,
95
- FA3AB38429E009F300FD2E8D /* NamiPaywallManagerBridge.swift */,
96
- );
97
- name = NamiPaywallManager;
98
- sourceTree = "<group>";
99
- };
100
- FA4CEE3E29DEE01E00058372 /* NamiPurchaseManager */ = {
101
- isa = PBXGroup;
102
- children = (
103
- FA4CEE3C29DEE01600058372 /* NamiPurchaseManagerBridge.swift */,
104
- EB1C9AF823BE9C5600CAD548 /* NamiPurchaseManagerBridge.m */,
105
- );
106
- name = NamiPurchaseManager;
107
- sourceTree = "<group>";
108
- };
109
- FA8629A029DDA8A5000090C6 /* NamiEntitlementManager */ = {
110
- isa = PBXGroup;
111
- children = (
112
- FA86299E29DDA881000090C6 /* NamiEntitlementManagerBridge.swift */,
113
- EB7B50CD243E314900EBA6B7 /* NamiEntitlementManagerBridge.m */,
114
- );
115
- name = NamiEntitlementManager;
116
- sourceTree = "<group>";
117
- };
118
- FADE7CFA29DD984E000BF262 /* NamiCampaignManager */ = {
119
- isa = PBXGroup;
120
- children = (
121
- FAADDB5129D377560096591A /* NamiCampaignManagerBridge.m */,
122
- FAADDB4D29D376590096591A /* NamiCampaignManagerBridge.swift */,
123
- );
124
- name = NamiCampaignManager;
125
- sourceTree = "<group>";
126
- };
127
- FADE7CFB29DD9875000BF262 /* NamiCustomerManager */ = {
128
- isa = PBXGroup;
129
- children = (
130
- FAD132F629D6BD5E001059A2 /* NamiCustomerManager.swift */,
131
- EB75992024F031E900430D98 /* NamiCustomerManager.m */,
132
- );
133
- name = NamiCustomerManager;
134
- sourceTree = "<group>";
135
- };
136
- /* End PBXGroup section */
137
-
138
- /* Begin PBXNativeTarget section */
139
- 58B511DA1A9E6C8500147676 /* RNNami */ = {
140
- isa = PBXNativeTarget;
141
- buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNNami" */;
142
- buildPhases = (
143
- 58B511D71A9E6C8500147676 /* Sources */,
144
- 58B511D81A9E6C8500147676 /* Frameworks */,
145
- 58B511D91A9E6C8500147676 /* CopyFiles */,
146
- );
147
- buildRules = (
148
- );
149
- dependencies = (
150
- );
151
- name = RNNami;
152
- productName = RCTDataManager;
153
- productReference = 134814201AA4EA6300B7C361 /* libRNNami.a */;
154
- productType = "com.apple.product-type.library.static";
155
- };
156
- /* End PBXNativeTarget section */
157
-
158
- /* Begin PBXProject section */
159
- 58B511D31A9E6C8500147676 /* Project object */ = {
160
- isa = PBXProject;
161
- attributes = {
162
- LastUpgradeCheck = 0830;
163
- ORGANIZATIONNAME = Facebook;
164
- TargetAttributes = {
165
- 58B511DA1A9E6C8500147676 = {
166
- CreatedOnToolsVersion = 6.1.1;
167
- LastSwiftMigration = 1420;
168
- };
169
- };
170
- };
171
- buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNNami" */;
172
- compatibilityVersion = "Xcode 3.2";
173
- developmentRegion = en;
174
- hasScannedForEncodings = 0;
175
- knownRegions = (
176
- en,
177
- Base,
178
- );
179
- mainGroup = 58B511D21A9E6C8500147676;
180
- productRefGroup = 58B511D21A9E6C8500147676;
181
- projectDirPath = "";
182
- projectRoot = "";
183
- targets = (
184
- 58B511DA1A9E6C8500147676 /* RNNami */,
185
- );
186
- };
187
- /* End PBXProject section */
188
-
189
- /* Begin PBXSourcesBuildPhase section */
190
- 58B511D71A9E6C8500147676 /* Sources */ = {
191
- isa = PBXSourcesBuildPhase;
192
- buildActionMask = 2147483647;
193
- files = (
194
- FA3AB38529E009F300FD2E8D /* NamiPaywallManagerBridge.swift in Sources */,
195
- EBC59E5D23C5514B008A123A /* Nami.m in Sources */,
196
- EB1C9AFB23BE9C5700CAD548 /* NamiPurchaseManagerBridge.m in Sources */,
197
- EB1C9AFC23BE9C5700CAD548 /* NamiPaywallManagerBridge.m in Sources */,
198
- EBC59E6323C7F634008A123A /* NamiBridgeUtil.m in Sources */,
199
- FA4CEE3D29DEE01600058372 /* NamiPurchaseManagerBridge.swift in Sources */,
200
- FA86299F29DDA881000090C6 /* NamiEntitlementManagerBridge.swift in Sources */,
201
- FAD132F729D6BD5E001059A2 /* NamiCustomerManager.swift in Sources */,
202
- B3E7B58A1CC2AC0600A0062D /* RNNami.m in Sources */,
203
- FAADDB4F29D376590096591A /* NamiCampaignManagerBridge.swift in Sources */,
204
- FAADDB5229D377560096591A /* NamiCampaignManagerBridge.m in Sources */,
205
- EB75992124F031E900430D98 /* NamiCustomerManager.m in Sources */,
206
- EB7B50CE243E314900EBA6B7 /* NamiEntitlementManagerBridge.m in Sources */,
207
- EBEEAC10243C29C800E01389 /* NamiMLManagerBridge.m in Sources */,
208
- EB1C9AFD23BE9C5700CAD548 /* NamiEmitter.m in Sources */,
209
- );
210
- runOnlyForDeploymentPostprocessing = 0;
211
- };
212
- /* End PBXSourcesBuildPhase section */
213
-
214
- /* Begin XCBuildConfiguration section */
215
- 58B511ED1A9E6C8500147676 /* Debug */ = {
216
- isa = XCBuildConfiguration;
217
- buildSettings = {
218
- ALWAYS_SEARCH_USER_PATHS = NO;
219
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
220
- CLANG_CXX_LIBRARY = "libc++";
221
- CLANG_ENABLE_MODULES = YES;
222
- CLANG_ENABLE_OBJC_ARC = YES;
223
- CLANG_WARN_BOOL_CONVERSION = YES;
224
- CLANG_WARN_CONSTANT_CONVERSION = YES;
225
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
226
- CLANG_WARN_EMPTY_BODY = YES;
227
- CLANG_WARN_ENUM_CONVERSION = YES;
228
- CLANG_WARN_INFINITE_RECURSION = YES;
229
- CLANG_WARN_INT_CONVERSION = YES;
230
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
231
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
232
- CLANG_WARN_UNREACHABLE_CODE = YES;
233
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
234
- COPY_PHASE_STRIP = NO;
235
- ENABLE_STRICT_OBJC_MSGSEND = YES;
236
- ENABLE_TESTABILITY = YES;
237
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
238
- GCC_C_LANGUAGE_STANDARD = gnu99;
239
- GCC_DYNAMIC_NO_PIC = NO;
240
- GCC_NO_COMMON_BLOCKS = YES;
241
- GCC_OPTIMIZATION_LEVEL = 0;
242
- GCC_PREPROCESSOR_DEFINITIONS = (
243
- "DEBUG=1",
244
- "$(inherited)",
245
- );
246
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
247
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
248
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
249
- GCC_WARN_UNDECLARED_SELECTOR = YES;
250
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
251
- GCC_WARN_UNUSED_FUNCTION = YES;
252
- GCC_WARN_UNUSED_VARIABLE = YES;
253
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
254
- MTL_ENABLE_DEBUG_INFO = YES;
255
- ONLY_ACTIVE_ARCH = YES;
256
- SDKROOT = iphoneos;
257
- };
258
- name = Debug;
259
- };
260
- 58B511EE1A9E6C8500147676 /* Release */ = {
261
- isa = XCBuildConfiguration;
262
- buildSettings = {
263
- ALWAYS_SEARCH_USER_PATHS = NO;
264
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
265
- CLANG_CXX_LIBRARY = "libc++";
266
- CLANG_ENABLE_MODULES = YES;
267
- CLANG_ENABLE_OBJC_ARC = YES;
268
- CLANG_WARN_BOOL_CONVERSION = YES;
269
- CLANG_WARN_CONSTANT_CONVERSION = YES;
270
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
271
- CLANG_WARN_EMPTY_BODY = YES;
272
- CLANG_WARN_ENUM_CONVERSION = YES;
273
- CLANG_WARN_INFINITE_RECURSION = YES;
274
- CLANG_WARN_INT_CONVERSION = YES;
275
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
276
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
277
- CLANG_WARN_UNREACHABLE_CODE = YES;
278
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
279
- COPY_PHASE_STRIP = YES;
280
- ENABLE_NS_ASSERTIONS = NO;
281
- ENABLE_STRICT_OBJC_MSGSEND = YES;
282
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
283
- GCC_C_LANGUAGE_STANDARD = gnu99;
284
- GCC_NO_COMMON_BLOCKS = YES;
285
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
286
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
287
- GCC_WARN_UNDECLARED_SELECTOR = YES;
288
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
289
- GCC_WARN_UNUSED_FUNCTION = YES;
290
- GCC_WARN_UNUSED_VARIABLE = YES;
291
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
292
- MTL_ENABLE_DEBUG_INFO = NO;
293
- SDKROOT = iphoneos;
294
- VALIDATE_PRODUCT = YES;
295
- };
296
- name = Release;
297
- };
298
- 58B511F01A9E6C8500147676 /* Debug */ = {
299
- isa = XCBuildConfiguration;
300
- buildSettings = {
301
- CLANG_ENABLE_MODULES = YES;
302
- HEADER_SEARCH_PATHS = (
303
- "$(inherited)",
304
- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
305
- "$(SRCROOT)/../../../React/**",
306
- "$(SRCROOT)/../../react-native/React/**",
307
- "$(SRCROOT)/../../react-native/React/**",
308
- );
309
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
310
- LIBRARY_SEARCH_PATHS = "$(inherited)";
311
- OTHER_LDFLAGS = "-ObjC";
312
- PRODUCT_NAME = RNNami;
313
- SKIP_INSTALL = YES;
314
- SWIFT_OBJC_BRIDGING_HEADER = "RNNami-Bridging-Header.h";
315
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
316
- SWIFT_VERSION = 5.0;
317
- };
318
- name = Debug;
319
- };
320
- 58B511F11A9E6C8500147676 /* Release */ = {
321
- isa = XCBuildConfiguration;
322
- buildSettings = {
323
- CLANG_ENABLE_MODULES = YES;
324
- HEADER_SEARCH_PATHS = (
325
- "$(inherited)",
326
- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
327
- "$(SRCROOT)/../../../React/**",
328
- "$(SRCROOT)/../../react-native/React/**",
329
- "$(SRCROOT)/../../react-native/React/**",
330
- );
331
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
332
- LIBRARY_SEARCH_PATHS = "$(inherited)";
333
- OTHER_LDFLAGS = "-ObjC";
334
- PRODUCT_NAME = RNNami;
335
- SKIP_INSTALL = YES;
336
- SWIFT_OBJC_BRIDGING_HEADER = "RNNami-Bridging-Header.h";
337
- SWIFT_VERSION = 5.0;
338
- };
339
- name = Release;
340
- };
341
- /* End XCBuildConfiguration section */
342
-
343
- /* Begin XCConfigurationList section */
344
- 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNNami" */ = {
345
- isa = XCConfigurationList;
346
- buildConfigurations = (
347
- 58B511ED1A9E6C8500147676 /* Debug */,
348
- 58B511EE1A9E6C8500147676 /* Release */,
349
- );
350
- defaultConfigurationIsVisible = 0;
351
- defaultConfigurationName = Release;
352
- };
353
- 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNNami" */ = {
354
- isa = XCConfigurationList;
355
- buildConfigurations = (
356
- 58B511F01A9E6C8500147676 /* Debug */,
357
- 58B511F11A9E6C8500147676 /* Release */,
358
- );
359
- defaultConfigurationIsVisible = 0;
360
- defaultConfigurationName = Release;
361
- };
362
- /* End XCConfigurationList section */
363
- };
364
- rootObject = 58B511D31A9E6C8500147676 /* Project object */;
365
- }
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:">
6
- </FileRef>
7
- </Workspace>
@@ -1,8 +0,0 @@
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>
@@ -1,67 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Scheme
3
- LastUpgradeVersion = "1420"
4
- version = "1.3">
5
- <BuildAction
6
- parallelizeBuildables = "YES"
7
- buildImplicitDependencies = "YES">
8
- <BuildActionEntries>
9
- <BuildActionEntry
10
- buildForTesting = "YES"
11
- buildForRunning = "YES"
12
- buildForProfiling = "YES"
13
- buildForArchiving = "YES"
14
- buildForAnalyzing = "YES">
15
- <BuildableReference
16
- BuildableIdentifier = "primary"
17
- BlueprintIdentifier = "58B511DA1A9E6C8500147676"
18
- BuildableName = "libRNNami.a"
19
- BlueprintName = "RNNami"
20
- ReferencedContainer = "container:RNNami.xcodeproj">
21
- </BuildableReference>
22
- </BuildActionEntry>
23
- </BuildActionEntries>
24
- </BuildAction>
25
- <TestAction
26
- buildConfiguration = "Debug"
27
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
- shouldUseLaunchSchemeArgsEnv = "YES">
30
- <Testables>
31
- </Testables>
32
- </TestAction>
33
- <LaunchAction
34
- buildConfiguration = "Debug"
35
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37
- launchStyle = "0"
38
- useCustomWorkingDirectory = "NO"
39
- ignoresPersistentStateOnLaunch = "NO"
40
- debugDocumentVersioning = "YES"
41
- debugServiceExtension = "internal"
42
- allowLocationSimulation = "YES">
43
- </LaunchAction>
44
- <ProfileAction
45
- buildConfiguration = "Release"
46
- shouldUseLaunchSchemeArgsEnv = "YES"
47
- savedToolIdentifier = ""
48
- useCustomWorkingDirectory = "NO"
49
- debugDocumentVersioning = "YES">
50
- <MacroExpansion>
51
- <BuildableReference
52
- BuildableIdentifier = "primary"
53
- BlueprintIdentifier = "58B511DA1A9E6C8500147676"
54
- BuildableName = "libRNNami.a"
55
- BlueprintName = "RNNami"
56
- ReferencedContainer = "container:RNNami.xcodeproj">
57
- </BuildableReference>
58
- </MacroExpansion>
59
- </ProfileAction>
60
- <AnalyzeAction
61
- buildConfiguration = "Debug">
62
- </AnalyzeAction>
63
- <ArchiveAction
64
- buildConfiguration = "Release"
65
- revealArchiveInOrganizer = "YES">
66
- </ArchiveAction>
67
- </Scheme>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "group:RNNami.xcodeproj">
6
- </FileRef>
7
- </Workspace>
@@ -1,8 +0,0 @@
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>