airbridge-react-native-sdk-restricted 2.8.9 → 4.1.2
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 +249 -159
- package/.github/workflows/documentation.yml +79 -0
- package/.github/workflows/qa.yml +187 -0
- package/.github/workflows/release.yml +26 -0
- package/airbridge-react-native-sdk-restricted.podspec +10 -7
- package/airbridge_sdk.json +4 -0
- package/android/build.gradle +22 -5
- package/android/{copy-config.gradle → copy-airbridge-json.gradle} +2 -2
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeReactNative.kt +153 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/common/AirbridgeLifecycleIntegration.kt +7 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/extension/AirbridgeOptionBuilderApply.kt +79 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/extension/JSONConvert.kt +33 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/AttributionInteractor.kt +54 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/DeeplinkInteractor.kt +45 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/EventInteractor.kt +22 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/FetchInteractor.kt +51 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/PlacementInteractor.kt +56 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/RegisterInteractor.kt +108 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/SwitchInteractor.kt +43 -0
- package/android/src/main/java/co/ab180/airbridge/reactnative/module/WebInterfaceInteractor.kt +24 -0
- package/build/document/.nojekyll +1 -0
- package/build/document/assets/highlight.css +22 -0
- package/build/document/assets/icons.js +18 -0
- package/build/document/assets/icons.svg +1 -0
- package/build/document/assets/main.js +60 -0
- package/build/document/assets/navigation.js +1 -0
- package/build/document/assets/search.js +1 -0
- package/build/document/assets/style.css +1448 -0
- package/build/document/classes/Airbridge.html +113 -0
- package/build/document/classes/AirbridgeAttribute.html +49 -0
- package/build/document/classes/AirbridgeCategory.html +28 -0
- package/build/document/index.html +8 -0
- package/build/document/modules.html +4 -0
- package/build/source/Airbridge.d.ts +230 -0
- package/build/source/Airbridge.js +277 -0
- package/build/source/Airbridge.js.map +1 -0
- package/build/source/architecture/Interactor.d.ts +2 -0
- package/build/source/architecture/Interactor.js +7 -0
- package/build/source/architecture/Interactor.js.map +1 -0
- package/build/source/architecture/module.d.ts +1 -0
- package/build/source/architecture/module.js +2 -0
- package/build/source/architecture/module.js.map +1 -0
- package/build/source/constant/AirbridgeAttribute.d.ts +51 -0
- package/build/source/constant/AirbridgeAttribute.js +144 -0
- package/build/source/constant/AirbridgeAttribute.js.map +1 -0
- package/build/source/constant/AirbridgeCategory.d.ts +30 -0
- package/build/source/constant/AirbridgeCategory.js +81 -0
- package/build/source/constant/AirbridgeCategory.js.map +1 -0
- package/build/source/module/Attribution.d.ts +16 -0
- package/build/source/module/Attribution.js +39 -0
- package/build/source/module/Attribution.js.map +1 -0
- package/build/source/module/Deeplink.d.ts +17 -0
- package/build/source/module/Deeplink.js +40 -0
- package/build/source/module/Deeplink.js.map +1 -0
- package/build/source/module/Event.d.ts +14 -0
- package/build/source/module/Event.js +50 -0
- package/build/source/module/Event.js.map +1 -0
- package/build/source/module/Fetch.d.ts +19 -0
- package/build/source/module/Fetch.js +100 -0
- package/build/source/module/Fetch.js.map +1 -0
- package/build/source/module/Placement.d.ts +18 -0
- package/build/source/module/Placement.js +95 -0
- package/build/source/module/Placement.js.map +1 -0
- package/build/source/module/Register.d.ts +49 -0
- package/build/source/module/Register.js +138 -0
- package/build/source/module/Register.js.map +1 -0
- package/build/source/module/Switch.d.ts +24 -0
- package/build/source/module/Switch.js +39 -0
- package/build/source/module/Switch.js.map +1 -0
- package/build/source/module/WebInterface.d.ts +16 -0
- package/build/source/module/WebInterface.js +46 -0
- package/build/source/module/WebInterface.js.map +1 -0
- package/build/source/module.d.ts +3 -0
- package/build/source/module.js +4 -0
- package/build/source/module.js.map +1 -0
- package/build/source/utility/check.d.ts +13 -0
- package/build/source/utility/check.js +15 -0
- package/build/source/utility/check.js.map +1 -0
- package/build/source/utility/compute.d.ts +3 -0
- package/build/source/utility/compute.js +5 -0
- package/build/source/utility/compute.js.map +1 -0
- package/build/source/utility/create.d.ts +5 -0
- package/build/source/utility/create.js +12 -0
- package/build/source/utility/create.js.map +1 -0
- package/build/source/utility/extract.d.ts +3 -0
- package/build/source/utility/extract.js +4 -0
- package/build/source/utility/extract.js.map +1 -0
- package/build/source/utility/json.d.ts +11 -0
- package/build/source/utility/json.js +137 -0
- package/build/source/utility/json.js.map +1 -0
- package/build/source/utility/log.d.ts +4 -0
- package/build/source/utility/log.js +9 -0
- package/build/source/utility/log.js.map +1 -0
- package/changelog.md +14 -3
- package/ios/AirbridgeReactNative/AirbridgeReactNative.h +23 -0
- package/ios/AirbridgeReactNative/AirbridgeReactNative.m +36 -0
- package/ios/AirbridgeReactNative/AirbridgeReactNative.swift +107 -0
- package/ios/AirbridgeReactNative/Extension/AirbridgeOptionBuilderApply.swift +86 -0
- package/ios/AirbridgeReactNative/Extension/DataFromHex.swift +21 -0
- package/ios/AirbridgeReactNative/Extension/Logger.swift +62 -0
- package/ios/AirbridgeReactNative/Module/AirbridgeModuleExtern.m +133 -0
- package/ios/AirbridgeReactNative/Module/AttributionInteractor.swift +43 -0
- package/ios/AirbridgeReactNative/Module/DeeplinkInteractor.swift +49 -0
- package/ios/AirbridgeReactNative/Module/EventInteractor.swift +26 -0
- package/ios/AirbridgeReactNative/Module/FetchInteractor.swift +66 -0
- package/ios/AirbridgeReactNative/Module/PlacementInteractor.swift +72 -0
- package/ios/AirbridgeReactNative/Module/RegisterInteractor.swift +104 -0
- package/ios/AirbridgeReactNative/Module/SwitchInteractor.swift +48 -0
- package/ios/AirbridgeReactNative/Module/WebInterfaceInteractor.swift +30 -0
- package/ios/{copy-config.rb → copy-airbridge-json.rb} +1 -1
- package/package.json +18 -27
- package/qa/Gemfile +3 -4
- package/qa/Gemfile.lock +28 -17
- package/qa/airbridge_qa.json +6 -0
- package/qa/android/app/build.gradle +30 -26
- package/qa/android/app/src/main/AndroidManifest.xml +182 -7
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/ConfigurationLoader.kt +5 -5
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/MainActivity.kt +2 -2
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/IdentifiersInteractor.kt +8 -17
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/InstallReferrerInteractor.kt +13 -22
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/ModuleInjector.kt +1 -2
- package/qa/android/app/src/main/res/values/airbridge.xml +16 -0
- package/qa/android/build.gradle +4 -2
- package/qa/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/qa/android/gradle.properties +0 -2
- package/qa/android/gradlew +1 -1
- package/qa/android/settings.gradle +3 -1
- package/qa/ios/AirbridgeQA/AirbridgeQA.entitlements +12 -0
- package/qa/ios/AirbridgeQA/AppDelegate.mm +40 -30
- package/qa/ios/AirbridgeQA/DeviceInfoInteractor.swift +0 -1
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.swift +4 -8
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@2x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20@3x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@2x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon@3x.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/AppIcon~ipad.png +0 -0
- package/qa/ios/AirbridgeQA/Images.xcassets/AppIcon.appiconset/Contents.json +113 -32
- package/qa/ios/AirbridgeQA/Info.plist +8 -0
- package/qa/ios/AirbridgeQA.xcodeproj/project.pbxproj +47 -29
- package/qa/ios/InternalLibrary/airbridge-ios-sdk-qa-library.podspec +32 -0
- package/qa/ios/InternalLibrary/airbridge-ios-sdk-restricted.podspec +32 -0
- package/qa/ios/Library/airbridge-ios-sdk-qa-library.podspec +6 -1
- package/qa/ios/Podfile +13 -1
- package/qa/ios/Podfile.lock +689 -316
- package/qa/ios/Script/prepare-build-parameter.rb +23 -0
- package/qa/metro.config.js +5 -2
- package/qa/package-lock.json +3369 -1433
- package/qa/package.json +30 -30
- package/qa/source/App.js +13 -6
- package/qa/source/common/FCMService.js +39 -15
- package/qa/source/common/QALog.js +12 -0
- package/qa/source/navigations/Stack.js +8 -1
- package/qa/source/pages/AppInfo.js +40 -0
- package/qa/source/pages/Browse.js +16 -19
- package/qa/source/pages/DeviceInfo.js +10 -4
- package/qa/source/pages/Event.js +70 -60
- package/qa/source/pages/Home.js +77 -17
- package/qa/source/pages/Identifiers.js +10 -6
- package/qa/source/pages/Placement.js +3 -3
- package/qa/source/pages/Skad.js +76 -0
- package/qa/source/pages/UserInfo.js +47 -28
- package/readme.md +6 -6
- package/script/BuildDocument.sh +10 -0
- package/{scripts/build-qa.sh → script/BuildQA.sh} +5 -4
- package/script/BuildSource.sh +14 -0
- package/script/ChangeInternalSDK.sh +22 -0
- package/script/ChangeProductionSDK.sh +39 -0
- package/script/ChangeRestricted.sh +34 -0
- package/script/PrepareBuildParameter.sh +28 -0
- package/source/Airbridge.ts +340 -0
- package/source/architecture/Interactor.ts +10 -0
- package/source/architecture/module.ts +1 -0
- package/source/constant/AirbridgeAttribute.ts +188 -0
- package/source/constant/AirbridgeCategory.ts +104 -0
- package/source/module/Attribution.ts +4 -8
- package/source/module/Deeplink.ts +59 -0
- package/source/module/Event.ts +71 -0
- package/source/module/Fetch.ts +137 -0
- package/source/module/Placement.ts +134 -0
- package/source/module/Register.ts +203 -0
- package/source/module/Switch.ts +61 -0
- package/source/module/WebInterface.ts +55 -0
- package/source/module.ts +3 -0
- package/source/tsconfig.json +14 -0
- package/source/utility/check.ts +46 -0
- package/source/utility/compute.ts +9 -0
- package/source/utility/create.ts +12 -0
- package/source/utility/extract.ts +5 -0
- package/source/utility/json.ts +180 -0
- package/source/utility/log.ts +14 -0
- package/test/jest.json +13 -0
- package/test/mock.ts +112 -0
- package/test/module/Deeplink.test.ts +29 -0
- package/test/tsconfig.json +8 -0
- package/.eslintrc.json +0 -44
- package/.gitattributes +0 -1
- package/.github/actions/add-github-check/action.yml +0 -78
- package/.github/actions/add-github-comment/action.yml +0 -48
- package/.github/actions/add-slack-message/action.yml +0 -32
- package/.github/actions/edit-github-check/action.yml +0 -59
- package/.github/actions/edit-github-comment/action.yml +0 -41
- package/.github/workflows/release-restricted.yml +0 -35
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeAttribution.java +0 -78
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeDeeplink.java +0 -97
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeEvent.java +0 -76
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeLifecycle.java +0 -31
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeLifecycleIntegration.java +0 -8
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgePlacement.java +0 -42
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeRN.java +0 -112
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeState.java +0 -174
- package/android/src/main/java/co/ab180/airbridge/reactnative/ConfigReader.java +0 -154
- package/android/src/main/java/co/ab180/airbridge/reactnative/Get.java +0 -84
- package/index.d.ts +0 -338
- package/index.js +0 -8
- package/ios/AirbridgeRN/ARNConfigReader.h +0 -19
- package/ios/AirbridgeRN/ARNConfigReader.m +0 -80
- package/ios/AirbridgeRN/ARNGet.h +0 -20
- package/ios/AirbridgeRN/ARNGet.m +0 -40
- package/ios/AirbridgeRN/ARNHex.h +0 -16
- package/ios/AirbridgeRN/ARNHex.m +0 -44
- package/ios/AirbridgeRN/AirbridgeAttribution.h +0 -19
- package/ios/AirbridgeRN/AirbridgeAttribution.m +0 -47
- package/ios/AirbridgeRN/AirbridgeDeeplink.h +0 -20
- package/ios/AirbridgeRN/AirbridgeDeeplink.m +0 -59
- package/ios/AirbridgeRN/AirbridgeEvent.h +0 -17
- package/ios/AirbridgeRN/AirbridgeEvent.m +0 -63
- package/ios/AirbridgeRN/AirbridgePlacement.h +0 -17
- package/ios/AirbridgeRN/AirbridgePlacement.m +0 -38
- package/ios/AirbridgeRN/AirbridgeRN.h +0 -71
- package/ios/AirbridgeRN/AirbridgeRN.m +0 -83
- package/ios/AirbridgeRN/AirbridgeState.h +0 -17
- package/ios/AirbridgeRN/AirbridgeState.m +0 -94
- package/ios/AirbridgeRN.xcodeproj/project.pbxproj +0 -417
- package/qa/android/app/src/main/java/co/ab180/airbridge/qa/application/module/UserInfoInteractor.kt +0 -74
- package/qa/ios/AirbridgeQA/UserInfoInteractor.m +0 -57
- package/qa/ios/AirbridgeQA/UserInfoInteractor.swift +0 -49
- package/qa/source/pages/appInfo.js +0 -22
- package/scripts/addiOSFramework.js +0 -48
- package/scripts/change_restricted.sh +0 -21
- package/scripts/update_native_version.sh +0 -104
- package/src/Airbridge.js +0 -82
- package/src/Deeplink.js +0 -75
- package/src/Event.js +0 -38
- package/src/Placement.js +0 -56
- package/src/State.js +0 -175
- package/src/WebInterface.js +0 -135
- package/src/tool/Log.js +0 -40
- package/src/tool/_.js +0 -56
- package/src/type/AirbridgeAttributes.js +0 -40
- package/src/type/AirbridgeCategory.js +0 -35
- package/src/type/AirbridgeProduct.js +0 -18
- package/src/typedef/EventOption.js +0 -9
- package/src/typedef/Product.js +0 -10
- package/src/typedef/User.js +0 -9
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
#import <Firebase/Firebase.h>
|
|
6
6
|
#import <objc/runtime.h>
|
|
7
7
|
|
|
8
|
-
#import <
|
|
9
|
-
#import <AirbridgeRN/AirbridgeRN.h>
|
|
8
|
+
#import <Airbridge/Airbridge.h>
|
|
10
9
|
#import <AirbridgeQALibrary/AirbridgeQALibrary.h>
|
|
10
|
+
#import <AirbridgeReactNative/AirbridgeReactNative.h>
|
|
11
11
|
|
|
12
|
+
#import <WebKit/WebKit.h>
|
|
12
13
|
#import <AppTrackingTransparency/AppTrackingTransparency.h>
|
|
13
14
|
|
|
14
|
-
@interface
|
|
15
|
+
@interface AirbridgeReactNative ()
|
|
15
16
|
|
|
16
|
-
+ (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
withLaunchOptions:(nullable NSDictionary*)launchOptions;
|
|
17
|
+
+ (void)initializeSDKWithName:(NSString*)name
|
|
18
|
+
token:(NSString*)token
|
|
19
|
+
airbridgeJSON:(nullable NSDictionary*)airbridgeJSON;
|
|
20
20
|
|
|
21
21
|
@end
|
|
22
22
|
|
|
@@ -37,11 +37,26 @@
|
|
|
37
37
|
[SDKConfigurationManager.shared resetAndReturnError:nil];
|
|
38
38
|
configuration = SDKConfigurationManager.shared.configuration;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
[
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
|
|
41
|
+
NSMutableDictionary *newDic = [NSMutableDictionary dictionaryWithDictionary:[configuration toAirbridgeJSON]];
|
|
42
|
+
[newDic setValue:@[
|
|
43
|
+
@"qaabr.dev.abr.ge",
|
|
44
|
+
@"qaabr.dev1.abr.ge",
|
|
45
|
+
@"qaabr.dev2.abr.ge",
|
|
46
|
+
@"qaabr.dev.airbridge.io",
|
|
47
|
+
@"qaabr.dev1.airbridge.io",
|
|
48
|
+
@"qaabr.dev2.airbridge.io",
|
|
49
|
+
@"qa.ab180.co",
|
|
50
|
+
@"qa.dev.ab180.co",
|
|
51
|
+
@"qa.dev1.ab180.co",
|
|
52
|
+
@"qa.dev2.ab180.co",
|
|
53
|
+
@"xn--qa--bw8n.xn--ob0bx63e.com"
|
|
54
|
+
] forKey:@"trackingLinkCustomDomains"];
|
|
55
|
+
|
|
56
|
+
[configuration applyToStorage];
|
|
57
|
+
[AirbridgeReactNative initializeSDKWithName:@"qaabr"
|
|
58
|
+
token:@"fe67302f822445d98591566d5fae1293"
|
|
59
|
+
airbridgeJSON:newDic];
|
|
45
60
|
|
|
46
61
|
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
47
62
|
}
|
|
@@ -74,22 +89,6 @@
|
|
|
74
89
|
[RCTPresentedViewController() presentViewController:alert animated:YES completion:NULL];
|
|
75
90
|
}
|
|
76
91
|
|
|
77
|
-
- (NSDictionary*)airbridgeJSON:(SDKConfiguration*)configuration {
|
|
78
|
-
NSMutableDictionary* dictionary = [[NSMutableDictionary alloc] init];
|
|
79
|
-
dictionary[@"sessionTimeoutSeconds"] = @(configuration.sessionTimeoutSecond);
|
|
80
|
-
dictionary[@"autoStartTrackingEnabled"] = @(configuration.isAutoStartTrackingEnabled);
|
|
81
|
-
dictionary[@"userInfoHashEnabled"] = @(configuration.isHashUserInformationEnabled);
|
|
82
|
-
dictionary[@"trackAirbridgeLinkOnly"] = @(configuration.isTrackAirbridgeDeeplinkOnlyEnabled);
|
|
83
|
-
dictionary[@"facebookDeferredAppLinkEnabled"] = @(configuration.isTrackMetaDeferredAppLinkEnabled);
|
|
84
|
-
dictionary[@"trackingAuthorizeTimeoutSeconds"] = @(configuration.autoDetermineTrackingAuthorizationTimeoutSecond);
|
|
85
|
-
if (configuration.isSDKSignatureEnabled) {
|
|
86
|
-
dictionary[@"sdkSignatureSecretID"] = configuration.sdkSignatureSecretID;
|
|
87
|
-
dictionary[@"sdkSignatureSecret"] = configuration.sdkSignatureSecretKey;
|
|
88
|
-
}
|
|
89
|
-
dictionary[@"logLevel"] = @"debug";
|
|
90
|
-
return dictionary;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
92
|
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
94
93
|
{
|
|
95
94
|
return [self bundleURL];
|
|
@@ -108,7 +107,7 @@
|
|
|
108
107
|
openURL:(NSURL *)url
|
|
109
108
|
options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options
|
|
110
109
|
{
|
|
111
|
-
[
|
|
110
|
+
[AirbridgeReactNative trackDeeplinkWithUrl:url];
|
|
112
111
|
return YES;
|
|
113
112
|
}
|
|
114
113
|
|
|
@@ -116,8 +115,19 @@
|
|
|
116
115
|
continueUserActivity:(NSUserActivity *)userActivity
|
|
117
116
|
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
|
|
118
117
|
{
|
|
119
|
-
[
|
|
118
|
+
[AirbridgeReactNative trackDeeplinkWithUserActivity:userActivity];
|
|
120
119
|
return YES;
|
|
121
120
|
}
|
|
122
121
|
|
|
122
|
+
- (void) application:(UIApplication *)application
|
|
123
|
+
didReceiveRemoteNotification:(NSDictionary *)userInfo
|
|
124
|
+
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
|
|
125
|
+
{
|
|
126
|
+
if ([userInfo objectForKey:@"airbridge-uninstall-tracking"] != nil) {
|
|
127
|
+
NSLog(@"(Airbridge) Airbridge silent push notification received");
|
|
128
|
+
} else {
|
|
129
|
+
NSLog(@"(Airbridge) Message data payload: %@", userInfo);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
123
133
|
@end
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
//
|
|
7
7
|
|
|
8
8
|
import React
|
|
9
|
-
import AirBridge
|
|
10
9
|
import AdSupport
|
|
11
10
|
|
|
12
11
|
@objc(IdentifiersInteractor)
|
|
@@ -29,12 +28,9 @@ class IdentifiersInteractor: NSObject {
|
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
func fetch(onSuccess: @escaping ([String: String?]) -> Void) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"generatedDeviceUUID": generatedDeviceUUID
|
|
37
|
-
])
|
|
38
|
-
}
|
|
31
|
+
onSuccess([
|
|
32
|
+
"idfa": ASIdentifierManager.shared().advertisingIdentifier.uuidString,
|
|
33
|
+
"idfv": UIDevice.current.identifierForVendor?.uuidString
|
|
34
|
+
])
|
|
39
35
|
}
|
|
40
36
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,53 +1,134 @@
|
|
|
1
1
|
{
|
|
2
|
-
"images"
|
|
2
|
+
"images": [
|
|
3
3
|
{
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
4
|
+
"filename": "AppIcon@2x.png",
|
|
5
|
+
"idiom": "iphone",
|
|
6
|
+
"scale": "2x",
|
|
7
|
+
"size": "60x60"
|
|
7
8
|
},
|
|
8
9
|
{
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"filename": "AppIcon@3x.png",
|
|
11
|
+
"idiom": "iphone",
|
|
12
|
+
"scale": "3x",
|
|
13
|
+
"size": "60x60"
|
|
12
14
|
},
|
|
13
15
|
{
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
16
|
+
"filename": "AppIcon~ipad.png",
|
|
17
|
+
"idiom": "ipad",
|
|
18
|
+
"scale": "1x",
|
|
19
|
+
"size": "76x76"
|
|
17
20
|
},
|
|
18
21
|
{
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
+
"filename": "AppIcon@2x~ipad.png",
|
|
23
|
+
"idiom": "ipad",
|
|
24
|
+
"scale": "2x",
|
|
25
|
+
"size": "76x76"
|
|
22
26
|
},
|
|
23
27
|
{
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
28
|
+
"filename": "AppIcon-83.5@2x~ipad.png",
|
|
29
|
+
"idiom": "ipad",
|
|
30
|
+
"scale": "2x",
|
|
31
|
+
"size": "83.5x83.5"
|
|
27
32
|
},
|
|
28
33
|
{
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
34
|
+
"filename": "AppIcon-40@2x.png",
|
|
35
|
+
"idiom": "iphone",
|
|
36
|
+
"scale": "2x",
|
|
37
|
+
"size": "40x40"
|
|
32
38
|
},
|
|
33
39
|
{
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
40
|
+
"filename": "AppIcon-40@3x.png",
|
|
41
|
+
"idiom": "iphone",
|
|
42
|
+
"scale": "3x",
|
|
43
|
+
"size": "40x40"
|
|
37
44
|
},
|
|
38
45
|
{
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
46
|
+
"filename": "AppIcon-40~ipad.png",
|
|
47
|
+
"idiom": "ipad",
|
|
48
|
+
"scale": "1x",
|
|
49
|
+
"size": "40x40"
|
|
42
50
|
},
|
|
43
51
|
{
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
52
|
+
"filename": "AppIcon-40@2x~ipad.png",
|
|
53
|
+
"idiom": "ipad",
|
|
54
|
+
"scale": "2x",
|
|
55
|
+
"size": "40x40"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"filename": "AppIcon-20@2x.png",
|
|
59
|
+
"idiom": "iphone",
|
|
60
|
+
"scale": "2x",
|
|
61
|
+
"size": "20x20"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"filename": "AppIcon-20@3x.png",
|
|
65
|
+
"idiom": "iphone",
|
|
66
|
+
"scale": "3x",
|
|
67
|
+
"size": "20x20"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"filename": "AppIcon-20~ipad.png",
|
|
71
|
+
"idiom": "ipad",
|
|
72
|
+
"scale": "1x",
|
|
73
|
+
"size": "20x20"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"filename": "AppIcon-20@2x~ipad.png",
|
|
77
|
+
"idiom": "ipad",
|
|
78
|
+
"scale": "2x",
|
|
79
|
+
"size": "20x20"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"filename": "AppIcon-29.png",
|
|
83
|
+
"idiom": "iphone",
|
|
84
|
+
"scale": "1x",
|
|
85
|
+
"size": "29x29"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"filename": "AppIcon-29@2x.png",
|
|
89
|
+
"idiom": "iphone",
|
|
90
|
+
"scale": "2x",
|
|
91
|
+
"size": "29x29"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"filename": "AppIcon-29@3x.png",
|
|
95
|
+
"idiom": "iphone",
|
|
96
|
+
"scale": "3x",
|
|
97
|
+
"size": "29x29"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"filename": "AppIcon-29~ipad.png",
|
|
101
|
+
"idiom": "ipad",
|
|
102
|
+
"scale": "1x",
|
|
103
|
+
"size": "29x29"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"filename": "AppIcon-29@2x~ipad.png",
|
|
107
|
+
"idiom": "ipad",
|
|
108
|
+
"scale": "2x",
|
|
109
|
+
"size": "29x29"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"filename": "AppIcon-60@2x~car.png",
|
|
113
|
+
"idiom": "car",
|
|
114
|
+
"scale": "2x",
|
|
115
|
+
"size": "60x60"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"filename": "AppIcon-60@3x~car.png",
|
|
119
|
+
"idiom": "car",
|
|
120
|
+
"scale": "3x",
|
|
121
|
+
"size": "60x60"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"filename": "AppIcon~ios-marketing.png",
|
|
125
|
+
"idiom": "ios-marketing",
|
|
126
|
+
"scale": "1x",
|
|
127
|
+
"size": "1024x1024"
|
|
47
128
|
}
|
|
48
129
|
],
|
|
49
|
-
"info"
|
|
50
|
-
"author"
|
|
51
|
-
"version"
|
|
130
|
+
"info": {
|
|
131
|
+
"author": "iconkitchen",
|
|
132
|
+
"version": 1
|
|
52
133
|
}
|
|
53
|
-
}
|
|
134
|
+
}
|
|
@@ -30,6 +30,14 @@
|
|
|
30
30
|
<string>qaabr</string>
|
|
31
31
|
</array>
|
|
32
32
|
</dict>
|
|
33
|
+
<dict>
|
|
34
|
+
<key>CFBundleTypeRole</key>
|
|
35
|
+
<string>None</string>
|
|
36
|
+
<key>CFBundleURLSchemes</key>
|
|
37
|
+
<array>
|
|
38
|
+
<string>other</string>
|
|
39
|
+
</array>
|
|
40
|
+
</dict>
|
|
33
41
|
</array>
|
|
34
42
|
<key>CFBundleVersion</key>
|
|
35
43
|
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
@@ -17,8 +17,6 @@
|
|
|
17
17
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
|
18
18
|
C32569CA2C252200005224AD /* PermissionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C32569C92C252200005224AD /* PermissionInteractor.swift */; };
|
|
19
19
|
C32569CD2C2523F9005224AD /* PermissionInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C32569CC2C2523F9005224AD /* PermissionInteractor.m */; };
|
|
20
|
-
C3A504762C291665003D3C3C /* UserInfoInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A504752C291665003D3C3C /* UserInfoInteractor.swift */; };
|
|
21
|
-
C3A504782C2916FD003D3C3C /* UserInfoInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */; };
|
|
22
20
|
C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */; };
|
|
23
21
|
C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */; };
|
|
24
22
|
C3A5047E2C291CA9003D3C3C /* DeviceInfoInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */; };
|
|
@@ -56,8 +54,6 @@
|
|
|
56
54
|
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
55
|
C32569C92C252200005224AD /* PermissionInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PermissionInteractor.swift; path = AirbridgeQA/PermissionInteractor.swift; sourceTree = "<group>"; };
|
|
58
56
|
C32569CC2C2523F9005224AD /* PermissionInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PermissionInteractor.m; path = AirbridgeQA/PermissionInteractor.m; sourceTree = "<group>"; };
|
|
59
|
-
C3A504752C291665003D3C3C /* UserInfoInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserInfoInteractor.swift; path = AirbridgeQA/UserInfoInteractor.swift; sourceTree = "<group>"; };
|
|
60
|
-
C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UserInfoInteractor.m; path = AirbridgeQA/UserInfoInteractor.m; sourceTree = "<group>"; };
|
|
61
57
|
C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = IdentifiersInteractor.swift; path = AirbridgeQA/IdentifiersInteractor.swift; sourceTree = "<group>"; };
|
|
62
58
|
C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = IdentifiersInteractor.m; path = AirbridgeQA/IdentifiersInteractor.m; sourceTree = "<group>"; };
|
|
63
59
|
C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceInfoInteractor.swift; path = AirbridgeQA/DeviceInfoInteractor.swift; sourceTree = "<group>"; };
|
|
@@ -118,8 +114,6 @@
|
|
|
118
114
|
C3A9724E2C16D52700148EF3 /* GoogleService-Info.plist */,
|
|
119
115
|
C32569C92C252200005224AD /* PermissionInteractor.swift */,
|
|
120
116
|
C32569CC2C2523F9005224AD /* PermissionInteractor.m */,
|
|
121
|
-
C3A504752C291665003D3C3C /* UserInfoInteractor.swift */,
|
|
122
|
-
C3A504772C2916FD003D3C3C /* UserInfoInteractor.m */,
|
|
123
117
|
C3A504792C291A32003D3C3C /* IdentifiersInteractor.swift */,
|
|
124
118
|
C3A5047B2C291BE5003D3C3C /* IdentifiersInteractor.m */,
|
|
125
119
|
C3A5047D2C291CA9003D3C3C /* DeviceInfoInteractor.swift */,
|
|
@@ -209,6 +203,7 @@
|
|
|
209
203
|
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AirbridgeQA" */;
|
|
210
204
|
buildPhases = (
|
|
211
205
|
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
|
|
206
|
+
C367F7A4CE6E212E32D1F3AF /* [AirbridgeQA] Prepare build parameter */,
|
|
212
207
|
13B07F871A680F5B00A75B9A /* Sources */,
|
|
213
208
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
|
214
209
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
|
@@ -216,7 +211,7 @@
|
|
|
216
211
|
00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
|
|
217
212
|
E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
|
|
218
213
|
E69B344EB307D0B30A1489D0 /* [CP-User] [RNFB] Core Configuration */,
|
|
219
|
-
|
|
214
|
+
0F6BA7EF1972C8E1EFFDC1E2 /* [Airbridge] Copy airbridge.json */,
|
|
220
215
|
);
|
|
221
216
|
buildRules = (
|
|
222
217
|
);
|
|
@@ -318,6 +313,24 @@
|
|
|
318
313
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AirbridgeQA/Pods-AirbridgeQA-frameworks.sh\"\n";
|
|
319
314
|
showEnvVarsInLog = 0;
|
|
320
315
|
};
|
|
316
|
+
0F6BA7EF1972C8E1EFFDC1E2 /* [Airbridge] Copy airbridge.json */ = {
|
|
317
|
+
isa = PBXShellScriptBuildPhase;
|
|
318
|
+
buildActionMask = 2147483647;
|
|
319
|
+
files = (
|
|
320
|
+
);
|
|
321
|
+
inputFileListPaths = (
|
|
322
|
+
);
|
|
323
|
+
inputPaths = (
|
|
324
|
+
);
|
|
325
|
+
name = "[Airbridge] Copy airbridge.json";
|
|
326
|
+
outputFileListPaths = (
|
|
327
|
+
);
|
|
328
|
+
outputPaths = (
|
|
329
|
+
);
|
|
330
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
331
|
+
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";
|
|
333
|
+
};
|
|
321
334
|
A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
|
|
322
335
|
isa = PBXShellScriptBuildPhase;
|
|
323
336
|
buildActionMask = 2147483647;
|
|
@@ -340,6 +353,24 @@
|
|
|
340
353
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
341
354
|
showEnvVarsInLog = 0;
|
|
342
355
|
};
|
|
356
|
+
C367F7A4CE6E212E32D1F3AF /* [AirbridgeQA] Prepare build parameter */ = {
|
|
357
|
+
isa = PBXShellScriptBuildPhase;
|
|
358
|
+
buildActionMask = 2147483647;
|
|
359
|
+
files = (
|
|
360
|
+
);
|
|
361
|
+
inputFileListPaths = (
|
|
362
|
+
);
|
|
363
|
+
inputPaths = (
|
|
364
|
+
);
|
|
365
|
+
name = "[AirbridgeQA] Prepare build parameter";
|
|
366
|
+
outputFileListPaths = (
|
|
367
|
+
);
|
|
368
|
+
outputPaths = (
|
|
369
|
+
);
|
|
370
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
371
|
+
shellPath = /bin/sh;
|
|
372
|
+
shellScript = "sh \"$SRCROOT/../../script/PrepareBuildParameter.sh\"";
|
|
373
|
+
};
|
|
343
374
|
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
|
|
344
375
|
isa = PBXShellScriptBuildPhase;
|
|
345
376
|
buildActionMask = 2147483647;
|
|
@@ -409,24 +440,6 @@
|
|
|
409
440
|
shellPath = /bin/sh;
|
|
410
441
|
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";
|
|
411
442
|
};
|
|
412
|
-
F3CA2F01D012BA2728957B14 /* [Airbridge] Copy airbridge.json */ = {
|
|
413
|
-
isa = PBXShellScriptBuildPhase;
|
|
414
|
-
buildActionMask = 2147483647;
|
|
415
|
-
files = (
|
|
416
|
-
);
|
|
417
|
-
inputFileListPaths = (
|
|
418
|
-
);
|
|
419
|
-
inputPaths = (
|
|
420
|
-
);
|
|
421
|
-
name = "[Airbridge] Copy airbridge.json";
|
|
422
|
-
outputFileListPaths = (
|
|
423
|
-
);
|
|
424
|
-
outputPaths = (
|
|
425
|
-
);
|
|
426
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
427
|
-
shellPath = /bin/sh;
|
|
428
|
-
shellScript = "if [ -r ${SRCROOT}/../airbridge.json ]; then\n cp ${SRCROOT}/../airbridge.json ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/airbridge.json\nfi\n";
|
|
429
|
-
};
|
|
430
443
|
F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
|
|
431
444
|
isa = PBXShellScriptBuildPhase;
|
|
432
445
|
buildActionMask = 2147483647;
|
|
@@ -461,11 +474,9 @@
|
|
|
461
474
|
files = (
|
|
462
475
|
C3A5047A2C291A32003D3C3C /* IdentifiersInteractor.swift in Sources */,
|
|
463
476
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
|
464
|
-
C3A504762C291665003D3C3C /* UserInfoInteractor.swift in Sources */,
|
|
465
477
|
C3A5047C2C291BE5003D3C3C /* IdentifiersInteractor.m in Sources */,
|
|
466
478
|
C3A5047E2C291CA9003D3C3C /* DeviceInfoInteractor.swift in Sources */,
|
|
467
479
|
C32569CD2C2523F9005224AD /* PermissionInteractor.m in Sources */,
|
|
468
|
-
C3A504782C2916FD003D3C3C /* UserInfoInteractor.m in Sources */,
|
|
469
480
|
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
|
470
481
|
C3A504802C292006003D3C3C /* DeviceInfoInteractor.m in Sources */,
|
|
471
482
|
C32569CA2C252200005224AD /* PermissionInteractor.swift in Sources */,
|
|
@@ -674,9 +685,13 @@
|
|
|
674
685
|
"-DFOLLY_CFG_NO_COROUTINES=1",
|
|
675
686
|
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
|
|
676
687
|
);
|
|
677
|
-
OTHER_LDFLAGS =
|
|
688
|
+
OTHER_LDFLAGS = (
|
|
689
|
+
"$(inherited)",
|
|
690
|
+
" ",
|
|
691
|
+
);
|
|
678
692
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
|
679
693
|
SDKROOT = iphoneos;
|
|
694
|
+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
|
680
695
|
USE_HERMES = true;
|
|
681
696
|
};
|
|
682
697
|
name = Debug;
|
|
@@ -746,7 +761,10 @@
|
|
|
746
761
|
"-DFOLLY_CFG_NO_COROUTINES=1",
|
|
747
762
|
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
|
|
748
763
|
);
|
|
749
|
-
OTHER_LDFLAGS =
|
|
764
|
+
OTHER_LDFLAGS = (
|
|
765
|
+
"$(inherited)",
|
|
766
|
+
" ",
|
|
767
|
+
);
|
|
750
768
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
|
751
769
|
SDKROOT = iphoneos;
|
|
752
770
|
USE_HERMES = true;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
current_directory=File.dirname(__FILE__)
|
|
4
|
+
airbridge_qa = JSON.parse(File.read(File.join(current_directory, '../../airbridge_qa.json')))
|
|
5
|
+
airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
|
|
6
|
+
|
|
7
|
+
Pod::Spec.new do |s|
|
|
8
|
+
s.name = 'airbridge-ios-sdk-qa-library'
|
|
9
|
+
s.version = airbridge_sdk['ios_version']
|
|
10
|
+
s.homepage = 'https://airbridge.io'
|
|
11
|
+
s.license = {
|
|
12
|
+
:type => 'Commercial',
|
|
13
|
+
:text => 'Copyright AB180 Inc. All Rights Reserved.'
|
|
14
|
+
}
|
|
15
|
+
s.author = 'ab180'
|
|
16
|
+
s.platform = :ios, '12.0'
|
|
17
|
+
s.swift_version = '5.0'
|
|
18
|
+
|
|
19
|
+
s.source = {
|
|
20
|
+
:http => "https://sdk-internal.airbridge.io/build/airbridge-ios-sdk/#{airbridge_qa['intenral_library']['ios_version']}/AirbridgeQALibrary.zip"
|
|
21
|
+
}
|
|
22
|
+
s.preserve_paths = 'AirbridgeQALibrary'
|
|
23
|
+
s.source_files = 'AirbridgeQALibrary/.Source/AirbridgeQALibrary.swift'
|
|
24
|
+
s.vendored_frameworks = 'AirbridgeQALibrary/AirbridgeQALibrary.xcframework'
|
|
25
|
+
|
|
26
|
+
s.summary = 'QA Library of Airbridge SDK for iOS'
|
|
27
|
+
s.description = <<-DESC
|
|
28
|
+
# airbridge-ios-sdk-qa-library
|
|
29
|
+
|
|
30
|
+
QA Library of Airbridge SDK for iOS
|
|
31
|
+
DESC
|
|
32
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
current_directory=File.dirname(__FILE__)
|
|
4
|
+
airbridge_qa = JSON.parse(File.read(File.join(current_directory, '../../airbridge_qa.json')))
|
|
5
|
+
airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
|
|
6
|
+
|
|
7
|
+
Pod::Spec.new do |s|
|
|
8
|
+
s.name = 'airbridge-ios-sdk-restricted'
|
|
9
|
+
s.version = airbridge_sdk['ios_version']
|
|
10
|
+
s.homepage = 'https://airbridge.io'
|
|
11
|
+
s.license = {
|
|
12
|
+
:type => 'Commercial',
|
|
13
|
+
:text => 'Copyright AB180 Inc. All Rights Reserved.'
|
|
14
|
+
}
|
|
15
|
+
s.author = 'ab180'
|
|
16
|
+
s.platform = :ios, '12.0'
|
|
17
|
+
s.swift_version = '5.0'
|
|
18
|
+
|
|
19
|
+
s.source = {
|
|
20
|
+
:http => "https://sdk-internal.airbridge.io/build/airbridge-ios-sdk/#{airbridge_qa['intenral_library']['ios_version']}/AirbridgeRestricted.zip"
|
|
21
|
+
}
|
|
22
|
+
s.preserve_paths = 'Airbridge'
|
|
23
|
+
s.source_files = 'Airbridge/.Source/Airbridge.swift'
|
|
24
|
+
s.vendored_frameworks = 'Airbridge/Airbridge.xcframework'
|
|
25
|
+
|
|
26
|
+
s.summary = 'Airbridge SDK for iOS'
|
|
27
|
+
s.description = <<-DESC
|
|
28
|
+
# airbridge-ios-sdk
|
|
29
|
+
|
|
30
|
+
Airbridge SDK for iOS
|
|
31
|
+
DESC
|
|
32
|
+
end
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
current_directory=File.dirname(__FILE__)
|
|
4
|
+
airbridge_sdk = JSON.parse(File.read(File.join(current_directory, '../../../airbridge_sdk.json')))
|
|
5
|
+
|
|
1
6
|
Pod::Spec.new do |s|
|
|
2
7
|
s.name = 'airbridge-ios-sdk-qa-library'
|
|
3
|
-
s.version = '
|
|
8
|
+
s.version = airbridge_sdk['ios_version']
|
|
4
9
|
s.homepage = 'https://airbridge.io'
|
|
5
10
|
s.license = {
|
|
6
11
|
:type => 'Commercial',
|