airbridge-react-native-sdk-restricted 4.1.5 → 4.2.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/build.yml +191 -10
- package/airbridge-react-native-sdk-restricted.podspec +1 -0
- package/airbridge_sdk.json +2 -2
- package/android/build.gradle +14 -5
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeReactNative.kt +43 -24
- package/android/src/main/java/co/ab180/airbridge/reactnative/common/AirbridgeJSON.kt +22 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/extension/JSONConvert.kt +1 -1
- package/build/source/Airbridge.js +1 -1
- package/build/source/Airbridge.js.map +1 -1
- package/changelog.md +16 -0
- package/ios/AirbridgeReactNative/AirbridgeReactNative.swift +44 -3
- package/ios/copy-airbridge-json.rb +3 -2
- package/ios/create-library-info-json.rb +26 -0
- package/package.json +1 -1
- package/qa/airbridge_qa.json +1 -1
- package/qa/ios/AirbridgeQA/APNsSetting.h +11 -0
- package/qa/ios/AirbridgeQA/APNsSetting.m +20 -0
- package/qa/ios/AirbridgeQA/AppDelegate.mm +15 -0
- package/qa/ios/AirbridgeQA/Bridging-Header.h +8 -0
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.m +2 -0
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.swift +17 -0
- package/qa/ios/AirbridgeQA/Info.plist +1 -0
- package/qa/ios/AirbridgeQA.xcodeproj/project.pbxproj +33 -2
- package/qa/ios/Podfile.lock +51 -32
- package/qa/package-lock.json +9857 -5589
- package/qa/source/App.js +1 -1
- package/qa/source/common/FCMService.js +35 -5
- package/qa/source/pages/AppInfo.js +1 -0
- package/script/BuildQA.sh +4 -7
- package/script/ChangeRestricted.sh +1 -0
- package/source/Airbridge.ts +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'xcodeproj'
|
|
2
|
+
require 'pathname'
|
|
3
|
+
|
|
4
|
+
current_directory=File.dirname(__FILE__)
|
|
5
|
+
|
|
6
|
+
ios_project_directory=`cd #{current_directory}; cd ../../../ios; pwd`.gsub("\n", "")
|
|
7
|
+
ios_project_file=File.join(
|
|
8
|
+
ios_project_directory,
|
|
9
|
+
`cd #{ios_project_directory}; find . -maxdepth 1 -name "*.xcodeproj" | tail -1`,
|
|
10
|
+
).gsub("\n", "")
|
|
11
|
+
|
|
12
|
+
package=JSON.parse(File.read(File.join(current_directory, '..', 'package.json')))
|
|
13
|
+
project = Xcodeproj::Project.open(ios_project_file)
|
|
14
|
+
target = project.targets.first
|
|
15
|
+
phase = target.shell_script_build_phases().select {|phase| phase.name == "[Airbridge] Create LibraryInfo.json"}[0]
|
|
16
|
+
script = (
|
|
17
|
+
"echo '{\"wrapperName\": \"" + package["name"] + "\", \"wrapperVersion\": \"" + package["version"] + "\"}' > \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LibraryInfo.json\"" + "\n"
|
|
18
|
+
)
|
|
19
|
+
if phase == nil
|
|
20
|
+
phase = target.new_shell_script_build_phase("[Airbridge] Create LibraryInfo.json")
|
|
21
|
+
end
|
|
22
|
+
if phase.shell_script != script
|
|
23
|
+
phase.shell_script = script
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
project.save()
|
package/package.json
CHANGED
package/qa/airbridge_qa.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// APNsSetting.m
|
|
3
|
+
// AirbridgeQA
|
|
4
|
+
//
|
|
5
|
+
// Created by SangRyel Do on 2/4/25.
|
|
6
|
+
//
|
|
7
|
+
#import "APNsSetting.h"
|
|
8
|
+
|
|
9
|
+
@implementation APNsSetting
|
|
10
|
+
static NSString *_apns = nil;
|
|
11
|
+
|
|
12
|
+
+ (NSString *)apns {
|
|
13
|
+
return _apns;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
+ (void)setApns:(NSString *)apns {
|
|
17
|
+
_apns = [apns copy];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@end
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
#import <WebKit/WebKit.h>
|
|
13
13
|
#import <AppTrackingTransparency/AppTrackingTransparency.h>
|
|
14
14
|
|
|
15
|
+
#import "APNsSetting.h"
|
|
16
|
+
|
|
15
17
|
@interface AirbridgeReactNative ()
|
|
16
18
|
|
|
17
19
|
+ (void)initializeSDKWithName:(NSString*)name
|
|
@@ -32,6 +34,9 @@
|
|
|
32
34
|
[FIRApp configure];
|
|
33
35
|
[self swizzleWebViewAlert];
|
|
34
36
|
|
|
37
|
+
// 권한 요청 없이 APNs 등록
|
|
38
|
+
[[UIApplication sharedApplication] registerForRemoteNotifications];
|
|
39
|
+
|
|
35
40
|
SDKConfiguration* configuration = [SDKConfigurationManager.shared load];
|
|
36
41
|
if (configuration == nil) {
|
|
37
42
|
[SDKConfigurationManager.shared resetAndReturnError:nil];
|
|
@@ -61,6 +66,16 @@
|
|
|
61
66
|
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
62
67
|
}
|
|
63
68
|
|
|
69
|
+
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
|
|
70
|
+
const unsigned char *bytes = (const unsigned char *)[deviceToken bytes];
|
|
71
|
+
NSMutableString* apns = [[NSMutableString alloc] initWithCapacity:deviceToken.length * 2];
|
|
72
|
+
for (int i=0; i<deviceToken.length; i++) {
|
|
73
|
+
[apns appendFormat:@"%02x", bytes[i]];
|
|
74
|
+
}
|
|
75
|
+
[APNsSetting setApns:apns];
|
|
76
|
+
NSLog(@"[app] AppDelegate setApns : %@", apns);
|
|
77
|
+
}
|
|
78
|
+
|
|
64
79
|
- (void)swizzleWebViewAlert {
|
|
65
80
|
SEL selector = NSSelectorFromString(@"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:");
|
|
66
81
|
Method method = class_getInstanceMethod(NSClassFromString(@"RNCWebViewImpl"), selector);
|
|
@@ -33,4 +33,21 @@ class IdentifiersInteractor: NSObject {
|
|
|
33
33
|
"idfv": UIDevice.current.identifierForVendor?.uuidString
|
|
34
34
|
])
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
@objc(apnsToken:reject:)
|
|
38
|
+
func apnsToken(
|
|
39
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
40
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
41
|
+
) {
|
|
42
|
+
let response: [AnyHashable: Any]
|
|
43
|
+
if let apnsToken = APNsSetting.apns {
|
|
44
|
+
response = ["responseCode": 200, "data": apnsToken]
|
|
45
|
+
} else {
|
|
46
|
+
response = ["responseCode": 202]
|
|
47
|
+
}
|
|
48
|
+
resolve(String(
|
|
49
|
+
data: try! JSONSerialization.data(withJSONObject: response),
|
|
50
|
+
encoding: .utf8
|
|
51
|
+
))
|
|
52
|
+
}
|
|
36
53
|
}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
20D0876B7957883E58D87769 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 509084115650365DDB501091 /* PrivacyInfo.xcprivacy */; };
|
|
16
16
|
7699B88040F8A987B510C191 /* libPods-AirbridgeQA-AirbridgeQATests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-AirbridgeQA-AirbridgeQATests.a */; };
|
|
17
17
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
|
18
|
+
9FEEF72A2D5233C20024EBC7 /* APNsSetting.m in Resources */ = {isa = PBXBuildFile; fileRef = 9FEEF7292D5233BD0024EBC7 /* APNsSetting.m */; };
|
|
19
|
+
9FEEF72B2D5236F90024EBC7 /* APNsSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FEEF7292D5233BD0024EBC7 /* APNsSetting.m */; };
|
|
18
20
|
C32569CA2C252200005224AD /* PermissionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32569C92C252200005224AD /* PermissionInteractor.swift */; };
|
|
19
21
|
C32569CD2C2523F9005224AD /* PermissionInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C32569CC2C2523F9005224AD /* PermissionInteractor.m */; };
|
|
20
22
|
C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */; };
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = AirbridgeQA/AppDelegate.h; sourceTree = "<group>"; };
|
|
43
45
|
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = AirbridgeQA/AppDelegate.mm; sourceTree = "<group>"; };
|
|
44
46
|
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AirbridgeQA/Images.xcassets; sourceTree = "<group>"; };
|
|
45
|
-
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = AirbridgeQA/Info.plist; sourceTree =
|
|
47
|
+
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = AirbridgeQA/Info.plist; sourceTree = SOURCE_ROOT; };
|
|
46
48
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = AirbridgeQA/main.m; sourceTree = "<group>"; };
|
|
47
49
|
19F6CBCC0A4E27FBF8BF4A61 /* libPods-AirbridgeQA-AirbridgeQATests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AirbridgeQA-AirbridgeQATests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
48
50
|
3B4392A12AC88292D35C810B /* Pods-AirbridgeQA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AirbridgeQA.debug.xcconfig"; path = "Target Support Files/Pods-AirbridgeQA/Pods-AirbridgeQA.debug.xcconfig"; sourceTree = "<group>"; };
|
|
@@ -52,6 +54,9 @@
|
|
|
52
54
|
5DCACB8F33CDC322A6C60F78 /* libPods-AirbridgeQA.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AirbridgeQA.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
53
55
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AirbridgeQA/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
54
56
|
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
|
+
9FEEF71C2D52039A0024EBC7 /* APNsSetting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = APNsSetting.h; path = AirbridgeQA/APNsSetting.h; sourceTree = SOURCE_ROOT; };
|
|
58
|
+
9FEEF7292D5233BD0024EBC7 /* APNsSetting.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = APNsSetting.m; path = AirbridgeQA/APNsSetting.m; sourceTree = "<group>"; };
|
|
59
|
+
9FEEF72D2D52FD4D0024EBC7 /* Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Bridging-Header.h"; path = "AirbridgeQA/Bridging-Header.h"; sourceTree = "<group>"; };
|
|
55
60
|
C32569C92C252200005224AD /* PermissionInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PermissionInteractor.swift; path = AirbridgeQA/PermissionInteractor.swift; sourceTree = "<group>"; };
|
|
56
61
|
C32569CC2C2523F9005224AD /* PermissionInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PermissionInteractor.m; path = AirbridgeQA/PermissionInteractor.m; sourceTree = "<group>"; };
|
|
57
62
|
C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IdentifiersInteractor.swift; path = AirbridgeQA/IdentifiersInteractor.swift; sourceTree = "<group>"; };
|
|
@@ -103,6 +108,9 @@
|
|
|
103
108
|
13B07FAE1A68108700A75B9A /* AirbridgeQA */ = {
|
|
104
109
|
isa = PBXGroup;
|
|
105
110
|
children = (
|
|
111
|
+
9FEEF72D2D52FD4D0024EBC7 /* Bridging-Header.h */,
|
|
112
|
+
9FEEF71C2D52039A0024EBC7 /* APNsSetting.h */,
|
|
113
|
+
9FEEF7292D5233BD0024EBC7 /* APNsSetting.m */,
|
|
106
114
|
C3A972502C16D5CE00148EF3 /* AirbridgeQA.entitlements */,
|
|
107
115
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
|
|
108
116
|
13B07FB01A68108700A75B9A /* AppDelegate.mm */,
|
|
@@ -212,6 +220,7 @@
|
|
|
212
220
|
E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
|
|
213
221
|
E69B344EB307D0B30A1489D0 /* [CP-User] [RNFB] Core Configuration */,
|
|
214
222
|
0F6BA7EF1972C8E1EFFDC1E2 /* [Airbridge] Copy airbridge.json */,
|
|
223
|
+
F512DEE40B6FEB6A7857769A /* [Airbridge] Create LibraryInfo.json */,
|
|
215
224
|
);
|
|
216
225
|
buildRules = (
|
|
217
226
|
);
|
|
@@ -273,6 +282,7 @@
|
|
|
273
282
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
|
|
274
283
|
C3A9724F2C16D52700148EF3 /* GoogleService-Info.plist in Resources */,
|
|
275
284
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
|
285
|
+
9FEEF72A2D5233C20024EBC7 /* APNsSetting.m in Resources */,
|
|
276
286
|
20D0876B7957883E58D87769 /* PrivacyInfo.xcprivacy in Resources */,
|
|
277
287
|
);
|
|
278
288
|
runOnlyForDeploymentPostprocessing = 0;
|
|
@@ -329,7 +339,7 @@
|
|
|
329
339
|
);
|
|
330
340
|
runOnlyForDeploymentPostprocessing = 0;
|
|
331
341
|
shellPath = /bin/sh;
|
|
332
|
-
shellScript = "if [ -r ${SRCROOT}/../airbridge.json ]; then\n cp ${SRCROOT}/../airbridge.json ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/airbridge.json\nfi";
|
|
342
|
+
shellScript = "if [ -r \"${SRCROOT}/../airbridge.json\" ]; then\n cp \"${SRCROOT}/../airbridge.json\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/airbridge.json\"\nfi";
|
|
333
343
|
};
|
|
334
344
|
A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
|
|
335
345
|
isa = PBXShellScriptBuildPhase;
|
|
@@ -440,6 +450,24 @@
|
|
|
440
450
|
shellPath = /bin/sh;
|
|
441
451
|
shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
|
|
442
452
|
};
|
|
453
|
+
F512DEE40B6FEB6A7857769A /* [Airbridge] Create LibraryInfo.json */ = {
|
|
454
|
+
isa = PBXShellScriptBuildPhase;
|
|
455
|
+
buildActionMask = 2147483647;
|
|
456
|
+
files = (
|
|
457
|
+
);
|
|
458
|
+
inputFileListPaths = (
|
|
459
|
+
);
|
|
460
|
+
inputPaths = (
|
|
461
|
+
);
|
|
462
|
+
name = "[Airbridge] Create LibraryInfo.json";
|
|
463
|
+
outputFileListPaths = (
|
|
464
|
+
);
|
|
465
|
+
outputPaths = (
|
|
466
|
+
);
|
|
467
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
468
|
+
shellPath = /bin/sh;
|
|
469
|
+
shellScript = "echo '{\"wrapperName\": \"airbridge-react-native-sdk\", \"wrapperVersion\": \"4.2.0\"}' > \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LibraryInfo.json\"\n";
|
|
470
|
+
};
|
|
443
471
|
F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
|
|
444
472
|
isa = PBXShellScriptBuildPhase;
|
|
445
473
|
buildActionMask = 2147483647;
|
|
@@ -472,6 +500,7 @@
|
|
|
472
500
|
isa = PBXSourcesBuildPhase;
|
|
473
501
|
buildActionMask = 2147483647;
|
|
474
502
|
files = (
|
|
503
|
+
9FEEF72B2D5236F90024EBC7 /* APNsSetting.m in Sources */,
|
|
475
504
|
C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */,
|
|
476
505
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
|
477
506
|
C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */,
|
|
@@ -579,6 +608,7 @@
|
|
|
579
608
|
);
|
|
580
609
|
PRODUCT_BUNDLE_IDENTIFIER = co.ab180.airbridge.qa.application;
|
|
581
610
|
PRODUCT_NAME = AirbridgeQA;
|
|
611
|
+
SWIFT_OBJC_BRIDGING_HEADER = "AirbridgeQA/Bridging-Header.h";
|
|
582
612
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
583
613
|
SWIFT_VERSION = 5.0;
|
|
584
614
|
VERSIONING_SYSTEM = "apple-generic";
|
|
@@ -607,6 +637,7 @@
|
|
|
607
637
|
);
|
|
608
638
|
PRODUCT_BUNDLE_IDENTIFIER = co.ab180.airbridge.qa.application;
|
|
609
639
|
PRODUCT_NAME = AirbridgeQA;
|
|
640
|
+
SWIFT_OBJC_BRIDGING_HEADER = "AirbridgeQA/Bridging-Header.h";
|
|
610
641
|
SWIFT_VERSION = 5.0;
|
|
611
642
|
VERSIONING_SYSTEM = "apple-generic";
|
|
612
643
|
};
|
package/qa/ios/Podfile.lock
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
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.2.2)
|
|
3
|
+
- airbridge-ios-sdk-qa-library (4.2.2)
|
|
4
|
+
- airbridge-react-native-sdk (4.2.0):
|
|
5
|
+
- airbridge-ios-sdk (= 4.2.2)
|
|
6
6
|
- React
|
|
7
7
|
- boost (1.84.0)
|
|
8
8
|
- DoubleConversion (1.1.6)
|
|
9
|
-
- FBAEMKit (
|
|
10
|
-
- FBSDKCoreKit_Basics (=
|
|
9
|
+
- FBAEMKit (18.0.0):
|
|
10
|
+
- FBSDKCoreKit_Basics (= 18.0.0)
|
|
11
11
|
- FBLazyVector (0.75.1)
|
|
12
|
-
- FBSDKCoreKit (
|
|
13
|
-
- FBAEMKit (=
|
|
14
|
-
- FBSDKCoreKit_Basics (=
|
|
15
|
-
- FBSDKCoreKit_Basics (
|
|
12
|
+
- FBSDKCoreKit (18.0.0):
|
|
13
|
+
- FBAEMKit (= 18.0.0)
|
|
14
|
+
- FBSDKCoreKit_Basics (= 18.0.0)
|
|
15
|
+
- FBSDKCoreKit_Basics (18.0.0)
|
|
16
16
|
- Firebase/CoreOnly (10.29.0):
|
|
17
17
|
- FirebaseCore (= 10.29.0)
|
|
18
18
|
- Firebase/Messaging (10.29.0):
|
|
@@ -1331,12 +1331,12 @@ PODS:
|
|
|
1331
1331
|
- Yoga
|
|
1332
1332
|
- react-native-native-log (0.1.3):
|
|
1333
1333
|
- React
|
|
1334
|
-
- react-native-safe-area-context (4.
|
|
1334
|
+
- react-native-safe-area-context (4.14.1):
|
|
1335
1335
|
- React-Core
|
|
1336
|
-
- react-native-simple-toast (3.3.
|
|
1336
|
+
- react-native-simple-toast (3.3.2):
|
|
1337
1337
|
- React-Core
|
|
1338
1338
|
- Toast (~> 4)
|
|
1339
|
-
- react-native-webview (13.12.
|
|
1339
|
+
- react-native-webview (13.12.5):
|
|
1340
1340
|
- DoubleConversion
|
|
1341
1341
|
- glog
|
|
1342
1342
|
- hermes-engine
|
|
@@ -1617,17 +1617,36 @@ PODS:
|
|
|
1617
1617
|
- React-logger (= 0.75.1)
|
|
1618
1618
|
- React-perflogger (= 0.75.1)
|
|
1619
1619
|
- React-utils (= 0.75.1)
|
|
1620
|
-
- RNCMaskedView (0.3.
|
|
1620
|
+
- RNCMaskedView (0.3.2):
|
|
1621
|
+
- DoubleConversion
|
|
1622
|
+
- glog
|
|
1623
|
+
- hermes-engine
|
|
1624
|
+
- RCT-Folly (= 2024.01.01.00)
|
|
1625
|
+
- RCTRequired
|
|
1626
|
+
- RCTTypeSafety
|
|
1621
1627
|
- React-Core
|
|
1622
|
-
|
|
1628
|
+
- React-debug
|
|
1629
|
+
- React-Fabric
|
|
1630
|
+
- React-featureflags
|
|
1631
|
+
- React-graphics
|
|
1632
|
+
- React-ImageManager
|
|
1633
|
+
- React-NativeModulesApple
|
|
1634
|
+
- React-RCTFabric
|
|
1635
|
+
- React-rendererdebug
|
|
1636
|
+
- React-utils
|
|
1637
|
+
- ReactCodegen
|
|
1638
|
+
- ReactCommon/turbomodule/bridging
|
|
1639
|
+
- ReactCommon/turbomodule/core
|
|
1640
|
+
- Yoga
|
|
1641
|
+
- RNFBApp (20.5.0):
|
|
1623
1642
|
- Firebase/CoreOnly (= 10.29.0)
|
|
1624
1643
|
- React-Core
|
|
1625
|
-
- RNFBMessaging (20.
|
|
1644
|
+
- RNFBMessaging (20.5.0):
|
|
1626
1645
|
- Firebase/Messaging (= 10.29.0)
|
|
1627
1646
|
- FirebaseCoreExtension
|
|
1628
1647
|
- React-Core
|
|
1629
1648
|
- RNFBApp
|
|
1630
|
-
- RNGestureHandler (2.
|
|
1649
|
+
- RNGestureHandler (2.21.2):
|
|
1631
1650
|
- DoubleConversion
|
|
1632
1651
|
- glog
|
|
1633
1652
|
- hermes-engine
|
|
@@ -1648,7 +1667,7 @@ PODS:
|
|
|
1648
1667
|
- ReactCommon/turbomodule/bridging
|
|
1649
1668
|
- ReactCommon/turbomodule/core
|
|
1650
1669
|
- Yoga
|
|
1651
|
-
- RNScreens (3.
|
|
1670
|
+
- RNScreens (3.35.0):
|
|
1652
1671
|
- DoubleConversion
|
|
1653
1672
|
- glog
|
|
1654
1673
|
- hermes-engine
|
|
@@ -1923,15 +1942,15 @@ EXTERNAL SOURCES:
|
|
|
1923
1942
|
:path: "../node_modules/react-native/ReactCommon/yoga"
|
|
1924
1943
|
|
|
1925
1944
|
SPEC CHECKSUMS:
|
|
1926
|
-
airbridge-ios-sdk:
|
|
1927
|
-
airbridge-ios-sdk-qa-library:
|
|
1928
|
-
airbridge-react-native-sdk:
|
|
1945
|
+
airbridge-ios-sdk: dc9373851397d23b5930966454af805929102c3d
|
|
1946
|
+
airbridge-ios-sdk-qa-library: 7d41cc83c37fb8e30487eccf0a209d493f6672c1
|
|
1947
|
+
airbridge-react-native-sdk: dd5d5ead46ff1d6eab9a3ee80912b2cab6dd78d8
|
|
1929
1948
|
boost: 4cb898d0bf20404aab1850c656dcea009429d6c1
|
|
1930
1949
|
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
|
|
1931
|
-
FBAEMKit:
|
|
1950
|
+
FBAEMKit: e34530df538b8eb8aeb53c35867715ba6c63ef0c
|
|
1932
1951
|
FBLazyVector: a3071c12f1650bfa84f2815e9982426256a0aae1
|
|
1933
|
-
FBSDKCoreKit:
|
|
1934
|
-
FBSDKCoreKit_Basics:
|
|
1952
|
+
FBSDKCoreKit: d3f479a69127acebb1c6aad91c1a33907bcf6c2f
|
|
1953
|
+
FBSDKCoreKit_Basics: 017b6dc2a1862024815a8229e75661e627ac1e29
|
|
1935
1954
|
Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d
|
|
1936
1955
|
FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16
|
|
1937
1956
|
FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f
|
|
@@ -1975,9 +1994,9 @@ SPEC CHECKSUMS:
|
|
|
1975
1994
|
React-Mapbuffer: b758bec0d9994c10a2841dfd5ec70673665fd3e2
|
|
1976
1995
|
React-microtasksnativemodule: f25dba9c8c3f8be0b3368d52b99abd6e381dee1d
|
|
1977
1996
|
react-native-native-log: bd883a7b018c0cdd9d23bc806a074bc067cfb7a9
|
|
1978
|
-
react-native-safe-area-context:
|
|
1979
|
-
react-native-simple-toast:
|
|
1980
|
-
react-native-webview:
|
|
1997
|
+
react-native-safe-area-context: 141eca0fd4e4191288dfc8b96a7c7e1c2983447a
|
|
1998
|
+
react-native-simple-toast: 645b68c26e43786fc05e3d7401de2b057f139054
|
|
1999
|
+
react-native-webview: b034adbe6dc6cc783c3270b6e47298bc1dfdb632
|
|
1981
2000
|
React-nativeconfig: 7af2ccce165f86b233a9f9d63295f6207e62640e
|
|
1982
2001
|
React-NativeModulesApple: db1c1ee9dda26c9e58d824b4100fed83add82ae9
|
|
1983
2002
|
React-perflogger: 7c4e97b47d8bc58c03fad1a6b97d96181b59aa41
|
|
@@ -2004,11 +2023,11 @@ SPEC CHECKSUMS:
|
|
|
2004
2023
|
React-utils: 0ae17a2fe87b43a939826410d2fcbb28d44f1bfc
|
|
2005
2024
|
ReactCodegen: e9156d86a166f3e10dc8fb6160764048df3528bc
|
|
2006
2025
|
ReactCommon: 3ae48fa4cfa7052a270c2150ececfc94e541fb8a
|
|
2007
|
-
RNCMaskedView:
|
|
2008
|
-
RNFBApp:
|
|
2009
|
-
RNFBMessaging:
|
|
2010
|
-
RNGestureHandler:
|
|
2011
|
-
RNScreens:
|
|
2026
|
+
RNCMaskedView: e07a0b5e9e8d6962826def06e6ff2ecdb815433f
|
|
2027
|
+
RNFBApp: 5f87753a8d8b37d229adf85cd0ff37709ffdf008
|
|
2028
|
+
RNFBMessaging: 3fa1114c0868dd21f20dfe186adf42297ea316b1
|
|
2029
|
+
RNGestureHandler: aa9690789023c9be8f06aa90e10ce637ea788f4d
|
|
2030
|
+
RNScreens: c7ceced6a8384cb9be5e7a5e88e9e714401fd958
|
|
2012
2031
|
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
|
|
2013
2032
|
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
|
|
2014
2033
|
Yoga: 06fc4b2c3664ae0e278964b8fbcb0ee9d21f0a5a
|