airbridge-react-native-sdk-restricted 4.2.0 → 4.3.0
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/.github/workflows/documentation.yml +7 -0
- package/airbridge_sdk.json +2 -2
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeReactNative.kt +10 -18
- package/android/src/main/java/co/ab180/airbridge/reactnative/common/AirbridgeJSON.kt +4 -3
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/PlacementInteractor.kt +16 -0
- package/build/document/assets/icons.js +1 -1
- package/build/document/assets/icons.svg +1 -1
- package/build/document/assets/main.js +1 -1
- package/build/document/assets/navigation.js +1 -1
- package/build/document/assets/search.js +1 -1
- package/build/document/assets/style.css +66 -21
- package/build/document/classes/Airbridge.html +9 -2
- package/build/document/classes/AirbridgeTrackingLinkOption.html +25 -0
- package/build/document/index.html +3 -3
- package/build/document/modules.html +3 -1
- package/build/document/types/AirbridgeTrackingLink.html +3 -0
- package/build/source/Airbridge.d.ts +12 -0
- package/build/source/Airbridge.js +12 -0
- package/build/source/Airbridge.js.map +1 -1
- package/build/source/constant/AirbridgeTrackingLinkOption.d.ts +27 -0
- package/build/source/constant/AirbridgeTrackingLinkOption.js +102 -0
- package/build/source/constant/AirbridgeTrackingLinkOption.js.map +1 -0
- package/build/source/module/Placement.d.ts +3 -0
- package/build/source/module/Placement.js +28 -0
- package/build/source/module/Placement.js.map +1 -1
- package/build/source/module.d.ts +2 -0
- package/build/source/module.js +2 -0
- package/build/source/module.js.map +1 -1
- package/build/source/type/AirbridgeTrackingLink.d.ts +8 -0
- package/build/source/type/AirbridgeTrackingLink.js +2 -0
- package/build/source/type/AirbridgeTrackingLink.js.map +1 -0
- package/changelog.md +14 -0
- package/ios/AirbridgeReactNative/AirbridgeReactNative.m +0 -6
- package/ios/AirbridgeReactNative/AirbridgeReactNative.swift +12 -32
- package/ios/AirbridgeReactNative/Common/AirbridgeJSON.swift +26 -0
- package/ios/AirbridgeReactNative/Module/AirbridgeModuleExtern.m +5 -0
- package/ios/AirbridgeReactNative/Module/PlacementInteractor.swift +22 -0
- package/package.json +1 -1
- package/qa/airbridge.json +2 -1
- package/qa/airbridge_qa.json +1 -1
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/ConfigurationLoader.kt +19 -23
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/IdentifiersInteractor.kt +27 -0
- package/qa/ios/AirbridgeQA/AirbridgeJSONSwizzler.swift +68 -0
- package/qa/ios/AirbridgeQA/AppDelegate.mm +3 -31
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.m +2 -0
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.swift +24 -0
- package/qa/ios/AirbridgeQA.xcodeproj/project.pbxproj +5 -1
- package/qa/ios/Podfile.lock +61 -61
- package/qa/package-lock.json +2254 -9009
- package/qa/source/navigations/Stack.js +7 -0
- package/qa/source/pages/Home.js +5 -0
- package/qa/source/pages/Identifiers.js +15 -1
- package/qa/source/pages/TrackingLink.js +162 -0
- package/readme.md +1 -1
- package/source/Airbridge.ts +21 -1
- package/source/constant/AirbridgeTrackingLinkOption.ts +122 -0
- package/source/module/Placement.ts +54 -2
- package/source/module.ts +2 -0
- package/source/type/AirbridgeTrackingLink.ts +10 -0
package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/ConfigurationLoader.kt
CHANGED
|
@@ -4,43 +4,39 @@ import android.app.Application
|
|
|
4
4
|
import android.content.Context
|
|
5
5
|
import android.util.Log
|
|
6
6
|
import co.ab180.airbridge.reactnative.AirbridgeReactNative
|
|
7
|
+
import co.ab180.airbridge.reactnative.common.AirbridgeJSON
|
|
7
8
|
import co.ab180.configuration.Loader
|
|
8
|
-
import
|
|
9
|
+
import org.json.JSONObject
|
|
10
|
+
import java.lang.reflect.Field
|
|
9
11
|
|
|
10
12
|
class ConfigurationLoader {
|
|
11
13
|
|
|
12
14
|
companion object {
|
|
13
15
|
val TAG = "Airbridge"
|
|
16
|
+
val APP_NAME = "qaabr"
|
|
17
|
+
val APP_TOKEN = "fe67302f822445d98591566d5fae1293"
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
fun init(application: Application) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
null,
|
|
20
|
-
application,
|
|
21
|
-
"qaabr",
|
|
22
|
-
"fe67302f822445d98591566d5fae1293",
|
|
23
|
-
loadOption(application)
|
|
24
|
-
)
|
|
25
|
-
}
|
|
21
|
+
injectLoaderFunc()
|
|
22
|
+
AirbridgeReactNative.initializeSDK(application, APP_NAME, APP_TOKEN)
|
|
26
23
|
}
|
|
27
24
|
|
|
28
|
-
private fun
|
|
25
|
+
private fun injectLoaderFunc() {
|
|
29
26
|
try {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
val airbridgeJsonClass = AirbridgeJSON::class.java
|
|
28
|
+
val loaderFuncField: Field = airbridgeJsonClass.getDeclaredField("loaderFunc")
|
|
29
|
+
loaderFuncField.isAccessible = true
|
|
30
|
+
|
|
31
|
+
val loaderFunc: (Context) -> JSONObject? = { context ->
|
|
32
|
+
JSONObject(loadOption(context))
|
|
33
|
+
}
|
|
34
|
+
Log.d(TAG, "inject loaderFunc field")
|
|
35
|
+
loaderFuncField.set(AirbridgeJSON, loaderFunc)
|
|
37
36
|
} catch (throwable: Throwable) {
|
|
38
|
-
Log.d(TAG, "
|
|
39
|
-
null
|
|
40
|
-
}?.also {
|
|
41
|
-
it.isAccessible = true
|
|
42
|
-
Log.d(TAG, "find initializeSDK method : $it")
|
|
37
|
+
Log.d(TAG, "not found loaderFunc field error : $throwable")
|
|
43
38
|
}
|
|
39
|
+
}
|
|
44
40
|
|
|
45
41
|
private fun loadOption(context: Context): Map<String, Any> =
|
|
46
42
|
Loader.loadOption(context)
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
package co.ab180.airbridge.qa.application.module
|
|
2
2
|
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.util.Log
|
|
3
5
|
import co.ab180.airbridge.Airbridge
|
|
6
|
+
import co.ab180.airbridge.qa.application.ConfigurationLoader.Companion.TAG
|
|
7
|
+
import co.ab180.airbridge.reactnative.AirbridgeReactNative
|
|
8
|
+
import co.ab180.airbridge.reactnative.common.AirbridgeJSON
|
|
4
9
|
import com.facebook.react.bridge.Promise
|
|
5
10
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
11
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
@@ -13,6 +18,7 @@ import kotlinx.coroutines.flow.combine
|
|
|
13
18
|
import kotlinx.coroutines.flow.flow
|
|
14
19
|
import kotlinx.coroutines.launch
|
|
15
20
|
import org.json.JSONObject
|
|
21
|
+
import java.lang.reflect.Field
|
|
16
22
|
|
|
17
23
|
class IdentifiersInteractor(
|
|
18
24
|
reactContext: ReactApplicationContext?
|
|
@@ -20,6 +26,27 @@ class IdentifiersInteractor(
|
|
|
20
26
|
|
|
21
27
|
override fun getName(): String = "IdentifiersInteractor"
|
|
22
28
|
|
|
29
|
+
@ReactMethod
|
|
30
|
+
fun airbridgeJSON(promise: Promise) {
|
|
31
|
+
val airbridgeJSON = try {
|
|
32
|
+
val clazz = AirbridgeReactNative::class.java
|
|
33
|
+
val field: Field = clazz.getDeclaredField("airbridgeJSON")
|
|
34
|
+
field.isAccessible = true
|
|
35
|
+
field.get(null) as? Map<String, Any>
|
|
36
|
+
} catch (e: Exception) {
|
|
37
|
+
Log.d(TAG, "airbridgeJSON not found")
|
|
38
|
+
null
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
promise.resolve(
|
|
42
|
+
if (airbridgeJSON == null) {
|
|
43
|
+
JSONObject()
|
|
44
|
+
} else {
|
|
45
|
+
JSONObject(airbridgeJSON)
|
|
46
|
+
}.toString()
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
23
50
|
@ReactMethod
|
|
24
51
|
fun identifiers(promise: Promise) {
|
|
25
52
|
request {
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//
|
|
2
|
+
// AirbridgeJSONSwizzler.swift
|
|
3
|
+
// AirbridgeQA
|
|
4
|
+
//
|
|
5
|
+
// Created by ab180 on 3/4/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import ObjectiveC.runtime
|
|
10
|
+
import AirbridgeQALibrary
|
|
11
|
+
|
|
12
|
+
@objc(AirbridgeJSONSwizzler_Swift)
|
|
13
|
+
public class AirbridgeJSONSwizzler: NSObject {
|
|
14
|
+
|
|
15
|
+
@objc
|
|
16
|
+
public static func swizzleLoadAirbridgeJSON() {
|
|
17
|
+
guard let airbridgeJSONSwizzlerClassType = NSClassFromString("AirbridgeJSONSwizzler_Swift") else {
|
|
18
|
+
NSLog("Swizzling AirbridgeJSON failed: Class not found.")
|
|
19
|
+
return
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
guard let airbridgeJSONClassType = NSClassFromString("AirbridgeJSON_Swift") else {
|
|
23
|
+
NSLog("Swizzling AirbridgeJSON failed: Class not found.")
|
|
24
|
+
return
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
let originalSelector = NSSelectorFromString("loadAirbridgeJSON")
|
|
28
|
+
let swizzledSelector = NSSelectorFromString("swizzled_loadAirbridgeJSON")
|
|
29
|
+
|
|
30
|
+
guard let originalMethod = class_getClassMethod(airbridgeJSONClassType, originalSelector),
|
|
31
|
+
let swizzledMethod = class_getClassMethod(airbridgeJSONSwizzlerClassType, swizzledSelector) else {
|
|
32
|
+
NSLog("Swizzling AirbridgeJSON failed: Methods not found.")
|
|
33
|
+
return
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
let swizzledIMP = method_getImplementation(swizzledMethod)
|
|
37
|
+
method_setImplementation(originalMethod, swizzledIMP)
|
|
38
|
+
NSLog("Swizzling AirbridgeJSON successfully")
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@objc(swizzled_loadAirbridgeJSON)
|
|
42
|
+
class func swizzled_loadAirbridgeJSON() -> [AnyHashable: Any]? {
|
|
43
|
+
let configuration = SDKConfigurationManager.shared.load() ?? {
|
|
44
|
+
NSLog("Swizzling AirbridgeJSON SDKConfigurationManager failed")
|
|
45
|
+
try? SDKConfigurationManager.shared.reset()
|
|
46
|
+
return SDKConfigurationManager.shared.configuration
|
|
47
|
+
}()
|
|
48
|
+
|
|
49
|
+
var newDic = configuration.toAirbridgeJSON()
|
|
50
|
+
newDic["trackingLinkCustomDomains"] = [
|
|
51
|
+
"qaabr.dev.abr.ge",
|
|
52
|
+
"qaabr.dev1.abr.ge",
|
|
53
|
+
"qaabr.dev2.abr.ge",
|
|
54
|
+
"qaabr.dev.airbridge.io",
|
|
55
|
+
"qaabr.dev1.airbridge.io",
|
|
56
|
+
"qaabr.dev2.airbridge.io",
|
|
57
|
+
"qa.ab180.co",
|
|
58
|
+
"qa.dev.ab180.co",
|
|
59
|
+
"qa.dev1.ab180.co",
|
|
60
|
+
"qa.dev2.ab180.co",
|
|
61
|
+
"xn--qa--bw8n.xn--ob0bx63e.com"
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
configuration.applyToStorage()
|
|
65
|
+
NSLog("Swizzling AirbridgeJSON loadOption: \(newDic)")
|
|
66
|
+
return newDic
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -14,13 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
#import "APNsSetting.h"
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
+ (void)initializeSDKWithName:(NSString*)name
|
|
20
|
-
token:(NSString*)token
|
|
21
|
-
airbridgeJSON:(nullable NSDictionary*)airbridgeJSON;
|
|
22
|
-
|
|
23
|
-
@end
|
|
17
|
+
#import "AirbridgeQA-Swift.h"
|
|
24
18
|
|
|
25
19
|
@implementation AppDelegate
|
|
26
20
|
|
|
@@ -33,35 +27,13 @@
|
|
|
33
27
|
|
|
34
28
|
[FIRApp configure];
|
|
35
29
|
[self swizzleWebViewAlert];
|
|
30
|
+
[AirbridgeJSONSwizzler_Swift swizzleLoadAirbridgeJSON];
|
|
36
31
|
|
|
37
32
|
// 권한 요청 없이 APNs 등록
|
|
38
33
|
[[UIApplication sharedApplication] registerForRemoteNotifications];
|
|
39
34
|
|
|
40
|
-
SDKConfiguration* configuration = [SDKConfigurationManager.shared load];
|
|
41
|
-
if (configuration == nil) {
|
|
42
|
-
[SDKConfigurationManager.shared resetAndReturnError:nil];
|
|
43
|
-
configuration = SDKConfigurationManager.shared.configuration;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
NSMutableDictionary *newDic = [NSMutableDictionary dictionaryWithDictionary:[configuration toAirbridgeJSON]];
|
|
47
|
-
[newDic setValue:@[
|
|
48
|
-
@"qaabr.dev.abr.ge",
|
|
49
|
-
@"qaabr.dev1.abr.ge",
|
|
50
|
-
@"qaabr.dev2.abr.ge",
|
|
51
|
-
@"qaabr.dev.airbridge.io",
|
|
52
|
-
@"qaabr.dev1.airbridge.io",
|
|
53
|
-
@"qaabr.dev2.airbridge.io",
|
|
54
|
-
@"qa.ab180.co",
|
|
55
|
-
@"qa.dev.ab180.co",
|
|
56
|
-
@"qa.dev1.ab180.co",
|
|
57
|
-
@"qa.dev2.ab180.co",
|
|
58
|
-
@"xn--qa--bw8n.xn--ob0bx63e.com"
|
|
59
|
-
] forKey:@"trackingLinkCustomDomains"];
|
|
60
|
-
|
|
61
|
-
[configuration applyToStorage];
|
|
62
35
|
[AirbridgeReactNative initializeSDKWithName:@"qaabr"
|
|
63
|
-
token:@"fe67302f822445d98591566d5fae1293"
|
|
64
|
-
airbridgeJSON:newDic];
|
|
36
|
+
token:@"fe67302f822445d98591566d5fae1293"];
|
|
65
37
|
|
|
66
38
|
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
67
39
|
}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
@interface RCT_EXTERN_MODULE(IdentifiersInteractor, NSObject)
|
|
11
11
|
|
|
12
|
+
RCT_EXTERN_METHOD(airbridgeJSON:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
13
|
+
|
|
12
14
|
RCT_EXTERN_METHOD(identifiers:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
13
15
|
|
|
14
16
|
RCT_EXTERN_METHOD(apnsToken:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
@@ -10,6 +10,30 @@ import AdSupport
|
|
|
10
10
|
|
|
11
11
|
@objc(IdentifiersInteractor)
|
|
12
12
|
class IdentifiersInteractor: NSObject {
|
|
13
|
+
|
|
14
|
+
@objc(airbridgeJSON:reject:)
|
|
15
|
+
func airbridgeJSON(
|
|
16
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
17
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
18
|
+
) {
|
|
19
|
+
guard let classType = NSClassFromString("AirbridgeReactNative_Swift") else {
|
|
20
|
+
NSLog("reflaction AirbridgeReactNative_Swift failed: Class not found.")
|
|
21
|
+
resolve("")
|
|
22
|
+
return
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
guard let airbridgeJSON = (classType.value(forKey: "airbridgeJSON") as? [AnyHashable: Any]) else {
|
|
26
|
+
NSLog("reflaction AirbridgeReactNative_Swift failed: airbridgeJSON not found.")
|
|
27
|
+
resolve("")
|
|
28
|
+
return
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
resolve(String(
|
|
32
|
+
data: try! JSONSerialization.data(withJSONObject: airbridgeJSON),
|
|
33
|
+
encoding: .utf8
|
|
34
|
+
))
|
|
35
|
+
}
|
|
36
|
+
|
|
13
37
|
@objc(identifiers:reject:)
|
|
14
38
|
func identifiers(
|
|
15
39
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
|
14
14
|
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
|
15
15
|
20D0876B7957883E58D87769 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 509084115650365DDB501091 /* PrivacyInfo.xcprivacy */; };
|
|
16
|
+
6364E1D52D76C486009281C3 /* AirbridgeJSONSwizzler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6364E1D42D76C486009281C3 /* AirbridgeJSONSwizzler.swift */; };
|
|
16
17
|
7699B88040F8A987B510C191 /* libPods-AirbridgeQA-AirbridgeQATests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-AirbridgeQA-AirbridgeQATests.a */; };
|
|
17
18
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
|
18
19
|
9FEEF72A2D5233C20024EBC7 /* APNsSetting.m in Resources */ = {isa = PBXBuildFile; fileRef = 9FEEF7292D5233BD0024EBC7 /* APNsSetting.m */; };
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
5709B34CF0A7D63546082F79 /* Pods-AirbridgeQA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AirbridgeQA.release.xcconfig"; path = "Target Support Files/Pods-AirbridgeQA/Pods-AirbridgeQA.release.xcconfig"; sourceTree = "<group>"; };
|
|
53
54
|
5B7EB9410499542E8C5724F5 /* Pods-AirbridgeQA-AirbridgeQATests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AirbridgeQA-AirbridgeQATests.debug.xcconfig"; path = "Target Support Files/Pods-AirbridgeQA-AirbridgeQATests/Pods-AirbridgeQA-AirbridgeQATests.debug.xcconfig"; sourceTree = "<group>"; };
|
|
54
55
|
5DCACB8F33CDC322A6C60F78 /* libPods-AirbridgeQA.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AirbridgeQA.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
56
|
+
6364E1D42D76C486009281C3 /* AirbridgeJSONSwizzler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AirbridgeJSONSwizzler.swift; path = AirbridgeQA/AirbridgeJSONSwizzler.swift; sourceTree = "<group>"; };
|
|
55
57
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AirbridgeQA/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
56
58
|
89C6BE57DB24E9ADA2F236DE /* Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig"; path = "Target Support Files/Pods-AirbridgeQA-AirbridgeQATests/Pods-AirbridgeQA-AirbridgeQATests.release.xcconfig"; sourceTree = "<group>"; };
|
|
57
59
|
9FEEF71C2D52039A0024EBC7 /* APNsSetting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = APNsSetting.h; path = AirbridgeQA/APNsSetting.h; sourceTree = SOURCE_ROOT; };
|
|
@@ -126,6 +128,7 @@
|
|
|
126
128
|
C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */,
|
|
127
129
|
C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */,
|
|
128
130
|
C3A5047F2C292006003D3C3C /* DeviceInfoInteractor.m */,
|
|
131
|
+
6364E1D42D76C486009281C3 /* AirbridgeJSONSwizzler.swift */,
|
|
129
132
|
);
|
|
130
133
|
name = AirbridgeQA;
|
|
131
134
|
sourceTree = "<group>";
|
|
@@ -466,7 +469,7 @@
|
|
|
466
469
|
);
|
|
467
470
|
runOnlyForDeploymentPostprocessing = 0;
|
|
468
471
|
shellPath = /bin/sh;
|
|
469
|
-
shellScript = "echo '{\"wrapperName\": \"airbridge-react-native-sdk\", \"wrapperVersion\": \"4.
|
|
472
|
+
shellScript = "echo '{\"wrapperName\": \"airbridge-react-native-sdk\", \"wrapperVersion\": \"4.3.0\"}' > \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LibraryInfo.json\"\n";
|
|
470
473
|
};
|
|
471
474
|
F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
|
|
472
475
|
isa = PBXShellScriptBuildPhase;
|
|
@@ -501,6 +504,7 @@
|
|
|
501
504
|
buildActionMask = 2147483647;
|
|
502
505
|
files = (
|
|
503
506
|
9FEEF72B2D5236F90024EBC7 /* APNsSetting.m in Sources */,
|
|
507
|
+
6364E1D52D76C486009281C3 /* AirbridgeJSONSwizzler.swift in Sources */,
|
|
504
508
|
C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */,
|
|
505
509
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
|
506
510
|
C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */,
|
package/qa/ios/Podfile.lock
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PODS:
|
|
2
|
-
- airbridge-ios-sdk (4.
|
|
3
|
-
- airbridge-ios-sdk-qa-library (4.
|
|
4
|
-
- airbridge-react-native-sdk (4.
|
|
5
|
-
- airbridge-ios-sdk (= 4.
|
|
2
|
+
- airbridge-ios-sdk (4.3.0)
|
|
3
|
+
- airbridge-ios-sdk-qa-library (4.3.0)
|
|
4
|
+
- airbridge-react-native-sdk (4.3.0):
|
|
5
|
+
- airbridge-ios-sdk (= 4.3.0)
|
|
6
6
|
- React
|
|
7
7
|
- boost (1.84.0)
|
|
8
8
|
- DoubleConversion (1.1.6)
|
|
@@ -1336,7 +1336,7 @@ PODS:
|
|
|
1336
1336
|
- react-native-simple-toast (3.3.2):
|
|
1337
1337
|
- React-Core
|
|
1338
1338
|
- Toast (~> 4)
|
|
1339
|
-
- react-native-webview (13.
|
|
1339
|
+
- react-native-webview (13.13.2):
|
|
1340
1340
|
- DoubleConversion
|
|
1341
1341
|
- glog
|
|
1342
1342
|
- hermes-engine
|
|
@@ -1646,7 +1646,7 @@ PODS:
|
|
|
1646
1646
|
- FirebaseCoreExtension
|
|
1647
1647
|
- React-Core
|
|
1648
1648
|
- RNFBApp
|
|
1649
|
-
- RNGestureHandler (2.
|
|
1649
|
+
- RNGestureHandler (2.24.0):
|
|
1650
1650
|
- DoubleConversion
|
|
1651
1651
|
- glog
|
|
1652
1652
|
- hermes-engine
|
|
@@ -1667,7 +1667,7 @@ PODS:
|
|
|
1667
1667
|
- ReactCommon/turbomodule/bridging
|
|
1668
1668
|
- ReactCommon/turbomodule/core
|
|
1669
1669
|
- Yoga
|
|
1670
|
-
- RNScreens (3.
|
|
1670
|
+
- RNScreens (3.36.0):
|
|
1671
1671
|
- DoubleConversion
|
|
1672
1672
|
- glog
|
|
1673
1673
|
- hermes-engine
|
|
@@ -1942,9 +1942,9 @@ EXTERNAL SOURCES:
|
|
|
1942
1942
|
:path: "../node_modules/react-native/ReactCommon/yoga"
|
|
1943
1943
|
|
|
1944
1944
|
SPEC CHECKSUMS:
|
|
1945
|
-
airbridge-ios-sdk:
|
|
1946
|
-
airbridge-ios-sdk-qa-library:
|
|
1947
|
-
airbridge-react-native-sdk:
|
|
1945
|
+
airbridge-ios-sdk: e5e2e1b97860043fac6726f3e7cbf7784ae12ac9
|
|
1946
|
+
airbridge-ios-sdk-qa-library: 079464947679da1c09b1523b68e8af59aad8efc6
|
|
1947
|
+
airbridge-react-native-sdk: 81f6d4100af26cec2b51ca9a75e750cd6958fdf6
|
|
1948
1948
|
boost: 4cb898d0bf20404aab1850c656dcea009429d6c1
|
|
1949
1949
|
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
|
|
1950
1950
|
FBAEMKit: e34530df538b8eb8aeb53c35867715ba6c63ef0c
|
|
@@ -1964,70 +1964,70 @@ SPEC CHECKSUMS:
|
|
|
1964
1964
|
hermes-engine: e949b1da40409c52aa7bd79ff32cec045f5b4650
|
|
1965
1965
|
nanopb: 438bc412db1928dac798aa6fd75726007be04262
|
|
1966
1966
|
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
|
1967
|
-
RCT-Folly:
|
|
1967
|
+
RCT-Folly: 34124ae2e667a0e5f0ea378db071d27548124321
|
|
1968
1968
|
RCTDeprecation: bc01aeeb7acc314fc615a092001050d2e97c353a
|
|
1969
1969
|
RCTRequired: a511d4665e1f7ac044aad6486aa19d061bd2d365
|
|
1970
1970
|
RCTTypeSafety: e77969bb08d920251de98b1fc1df223d7039c1ff
|
|
1971
1971
|
React: d7184b3f39c367504fe746f26b9d68a1dff0085b
|
|
1972
1972
|
React-callinvoker: 45fca04012bbc94978d3655007339dcf1a5232fd
|
|
1973
|
-
React-Core:
|
|
1974
|
-
React-CoreModules:
|
|
1975
|
-
React-cxxreact:
|
|
1973
|
+
React-Core: f29aa5a11399a06d4604fa19b7a9a42672e92b77
|
|
1974
|
+
React-CoreModules: 984c3c8c5633cd51d385e74c1d0232a48f4ca91c
|
|
1975
|
+
React-cxxreact: 586b99147cb95554032b61307b1f16842a9ab632
|
|
1976
1976
|
React-debug: 352c197132c626eddc6a1cd76e2697d1f2c8aaf2
|
|
1977
|
-
React-defaultsnativemodule:
|
|
1978
|
-
React-domnativemodule:
|
|
1979
|
-
React-Fabric:
|
|
1980
|
-
React-FabricComponents:
|
|
1981
|
-
React-FabricImage:
|
|
1977
|
+
React-defaultsnativemodule: 20499e69bd8e772ff2b0d33d9eafd0e1133ae64b
|
|
1978
|
+
React-domnativemodule: b6770222363b4a1efeface8ee0510a96d32229af
|
|
1979
|
+
React-Fabric: 62e898d7e1b6e8796d16cbcd090c052bc925199d
|
|
1980
|
+
React-FabricComponents: ea8cd47f0e7ecc7575919c7b1270ad9f5d9f363a
|
|
1981
|
+
React-FabricImage: b636c0c182685ff997a6e69cb6da67f5bb215920
|
|
1982
1982
|
React-featureflags: eb9f39413a653bd71a3eade6cafcefbc90bf7453
|
|
1983
|
-
React-featureflagsnativemodule:
|
|
1984
|
-
React-graphics:
|
|
1985
|
-
React-hermes:
|
|
1986
|
-
React-idlecallbacksnativemodule:
|
|
1987
|
-
React-ImageManager:
|
|
1988
|
-
React-jserrorhandler:
|
|
1989
|
-
React-jsi:
|
|
1990
|
-
React-jsiexecutor:
|
|
1991
|
-
React-jsinspector:
|
|
1992
|
-
React-jsitracing:
|
|
1993
|
-
React-logger:
|
|
1994
|
-
React-Mapbuffer:
|
|
1995
|
-
React-microtasksnativemodule:
|
|
1996
|
-
react-native-native-log:
|
|
1997
|
-
react-native-safe-area-context:
|
|
1998
|
-
react-native-simple-toast:
|
|
1999
|
-
react-native-webview:
|
|
1983
|
+
React-featureflagsnativemodule: 0e55cb4f68c8de37b12966793df2134ad9e2f580
|
|
1984
|
+
React-graphics: 146003496c10b3fcb928e53a43d54a90a871a1bc
|
|
1985
|
+
React-hermes: 4a18803737f2332dc35d895bec765d642433b08c
|
|
1986
|
+
React-idlecallbacksnativemodule: 73d467840261d38b1309917919b159d49bf61ea0
|
|
1987
|
+
React-ImageManager: c0a9bb2be7602e31c8bb51554bc2ff3cc266fab9
|
|
1988
|
+
React-jserrorhandler: 44c17947a0f723f9092d7c5ad1de1c4024829a97
|
|
1989
|
+
React-jsi: 5748b5650fbd60bdb45fe6e54b44989dae1cc34f
|
|
1990
|
+
React-jsiexecutor: 8118b48576d215094ca27abe5fb55b7f4c9cd796
|
|
1991
|
+
React-jsinspector: 68aec6d3d6057ba3d25851238c1d87a6967eb9e4
|
|
1992
|
+
React-jsitracing: ffe8e4616d556e27c0932bbc2b3a418da5aebb17
|
|
1993
|
+
React-logger: 11533686221afc574eeee73f7e0ad1f9787dd52f
|
|
1994
|
+
React-Mapbuffer: 256f4499192c75419e788e1dc0510d7eb2ca2fb6
|
|
1995
|
+
React-microtasksnativemodule: f00aca09de0180639040ba7823bd56d295bebd2c
|
|
1996
|
+
react-native-native-log: b6d4756019312793917f89e988b204eb939ed24c
|
|
1997
|
+
react-native-safe-area-context: 758e894ca5a9bd1868d2a9cfbca7326a2b6bf9dc
|
|
1998
|
+
react-native-simple-toast: 4c9cc976cb92b6e5fb555e7c57fce38b90a56d07
|
|
1999
|
+
react-native-webview: 042b9dfd509d23e7ebc07da06c38a8bcc4679d46
|
|
2000
2000
|
React-nativeconfig: 7af2ccce165f86b233a9f9d63295f6207e62640e
|
|
2001
|
-
React-NativeModulesApple:
|
|
2001
|
+
React-NativeModulesApple: 6861baf05010ce6aa9fb407ed0a54f5b29552f73
|
|
2002
2002
|
React-perflogger: 7c4e97b47d8bc58c03fad1a6b97d96181b59aa41
|
|
2003
|
-
React-performancetimeline:
|
|
2003
|
+
React-performancetimeline: 21e2172fc988e71a9a288fa57c41da4870770ce6
|
|
2004
2004
|
React-RCTActionSheet: 4d320d60f7343d15c681b4a3cb44fcf1e1d319a7
|
|
2005
|
-
React-RCTAnimation:
|
|
2006
|
-
React-RCTAppDelegate:
|
|
2007
|
-
React-RCTBlob:
|
|
2008
|
-
React-RCTFabric:
|
|
2009
|
-
React-RCTImage:
|
|
2010
|
-
React-RCTLinking:
|
|
2011
|
-
React-RCTNetwork:
|
|
2012
|
-
React-RCTSettings:
|
|
2013
|
-
React-RCTText:
|
|
2014
|
-
React-RCTVibration:
|
|
2005
|
+
React-RCTAnimation: 8e286f1bdf2ce49be337cd88d487ca75c5be7b17
|
|
2006
|
+
React-RCTAppDelegate: 000dd400a0796549698511cf9960957a377f277d
|
|
2007
|
+
React-RCTBlob: ad1988b6ec8adb557ea705cb364e9a75112bacf6
|
|
2008
|
+
React-RCTFabric: 4e7d671cc9b6961a4331e607fa8ac86f03f11b3f
|
|
2009
|
+
React-RCTImage: 1da26c1cfb7594847ff4c6874e076a63f3290508
|
|
2010
|
+
React-RCTLinking: 87dc35744c32db2578f63a7454a2a8f87d788142
|
|
2011
|
+
React-RCTNetwork: 96530e272e24a374e942bfcb0e0d9395fc6a9da5
|
|
2012
|
+
React-RCTSettings: 181f949ad273bdc1915ececfe9258d36f51e1b77
|
|
2013
|
+
React-RCTText: c977f49e85e46ee1b109633fccac50d6738bec1d
|
|
2014
|
+
React-RCTVibration: e1ce7248ef1b820d6d2fe11e6690263c88dc54bd
|
|
2015
2015
|
React-rendererconsistency: 10d49d3d663e52b28fac749543473207f0dd411e
|
|
2016
|
-
React-rendererdebug:
|
|
2016
|
+
React-rendererdebug: b3eb4e09a3f7d09acc9c0ff00ba527fe88dc1fd0
|
|
2017
2017
|
React-rncore: 2f9b482f627d8854a0b247e78119764d73d42335
|
|
2018
|
-
React-RuntimeApple:
|
|
2019
|
-
React-RuntimeCore:
|
|
2018
|
+
React-RuntimeApple: 9f28ce7a5c58657fcc7285b59b69af3c8a26d13a
|
|
2019
|
+
React-RuntimeCore: cf5ed9e0282fb3235805df42b5fb62c07426cc32
|
|
2020
2020
|
React-runtimeexecutor: 7f3bb572e57574f0e45338f2e33339d1b712e7ea
|
|
2021
|
-
React-RuntimeHermes:
|
|
2022
|
-
React-runtimescheduler:
|
|
2023
|
-
React-utils:
|
|
2024
|
-
ReactCodegen:
|
|
2025
|
-
ReactCommon:
|
|
2026
|
-
RNCMaskedView:
|
|
2027
|
-
RNFBApp:
|
|
2028
|
-
RNFBMessaging:
|
|
2029
|
-
RNGestureHandler:
|
|
2030
|
-
RNScreens:
|
|
2021
|
+
React-RuntimeHermes: 97e3ecb2a84308268ff43c32fdadb725bb0eb216
|
|
2022
|
+
React-runtimescheduler: 9dd943100ab75bf6d444ffa30cfccdcc62a3b063
|
|
2023
|
+
React-utils: eae7aa27b3c164329f3f66384a8cdb70c4d8cf44
|
|
2024
|
+
ReactCodegen: 402359d3205477a4475bc1628077e44a44fde994
|
|
2025
|
+
ReactCommon: f28ff9e3fc196dae898b463ed40f241621a023ef
|
|
2026
|
+
RNCMaskedView: e2e87cbd6366581943892b44176e7976ff988dfd
|
|
2027
|
+
RNFBApp: 0e66b9f844efdf2ac3fa2b30e64c9db41a263b3d
|
|
2028
|
+
RNFBMessaging: 70b12c9f22c7c9d5011ac9b12ac2bafbfb081267
|
|
2029
|
+
RNGestureHandler: fc491c834d09b0538618a3f328ab75fe8f90f5b4
|
|
2030
|
+
RNScreens: 5dc985f7d0745a9a0e1241996d11fade3a8bc4b5
|
|
2031
2031
|
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
|
|
2032
2032
|
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
|
|
2033
2033
|
Yoga: 06fc4b2c3664ae0e278964b8fbcb0ee9d21f0a5a
|