@igaworks/adbrix-react-native-sdk 1.0.1

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE +20 -0
  3. package/README.md +16 -0
  4. package/adbrix-react-native-sdk.podspec +20 -0
  5. package/android/build.gradle +78 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +3 -0
  8. package/android/src/main/AndroidManifestNew.xml +2 -0
  9. package/android/src/main/java/com/igaworks/adbrixreactnativesdk/AdbrixReactNativeParser.java +220 -0
  10. package/android/src/main/java/com/igaworks/adbrixreactnativesdk/AdbrixReactNativeSdkModule.java +166 -0
  11. package/android/src/main/java/com/igaworks/adbrixreactnativesdk/AdbrixReactNativeSdkPackage.java +29 -0
  12. package/babel.config.js +3 -0
  13. package/example/.bundle/config +2 -0
  14. package/example/.watchmanconfig +1 -0
  15. package/example/Gemfile +10 -0
  16. package/example/README.md +106 -0
  17. package/example/android/README.md +24 -0
  18. package/example/android/app/build.gradle +128 -0
  19. package/example/android/app/debug.keystore +0 -0
  20. package/example/android/app/proguard-rules.pro +10 -0
  21. package/example/android/app/src/debug/AndroidManifest.xml +9 -0
  22. package/example/android/app/src/main/AndroidManifest.xml +34 -0
  23. package/example/android/app/src/main/ic_launcher-playstore.png +0 -0
  24. package/example/android/app/src/main/java/igaworks/adbrixreactnativesdk/example/MainActivity.kt +28 -0
  25. package/example/android/app/src/main/java/igaworks/adbrixreactnativesdk/example/MainApplication.kt +44 -0
  26. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  27. package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  28. package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  29. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  30. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  31. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  32. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  33. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  34. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  35. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  36. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  37. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  38. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  39. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  40. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  41. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  42. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  43. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  44. package/example/android/app/src/main/res/values/ic_launcher_background.xml +4 -0
  45. package/example/android/app/src/main/res/values/strings.xml +3 -0
  46. package/example/android/app/src/main/res/values/styles.xml +9 -0
  47. package/example/android/build.gradle +21 -0
  48. package/example/android/gradle.properties +39 -0
  49. package/example/android/settings.gradle +6 -0
  50. package/example/app.json +4 -0
  51. package/example/babel.config.js +4 -0
  52. package/example/index.js +5 -0
  53. package/example/ios/.xcode.env +11 -0
  54. package/example/ios/AdbrixReactNativeSdkExample/AppDelegate.swift +53 -0
  55. package/example/ios/AdbrixReactNativeSdkExample/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  56. package/example/ios/AdbrixReactNativeSdkExample/Images.xcassets/Contents.json +6 -0
  57. package/example/ios/AdbrixReactNativeSdkExample/Info.plist +62 -0
  58. package/example/ios/AdbrixReactNativeSdkExample/LaunchScreen.storyboard +47 -0
  59. package/example/ios/AdbrixReactNativeSdkExample/PrivacyInfo.xcprivacy +37 -0
  60. package/example/ios/AdbrixReactNativeSdkExample.xcodeproj/project.pbxproj +488 -0
  61. package/example/ios/AdbrixReactNativeSdkExample.xcodeproj/xcshareddata/xcschemes/AdbrixReactNativeSdkExample.xcscheme +88 -0
  62. package/example/ios/AdbrixReactNativeSdkExample.xcworkspace/contents.xcworkspacedata +10 -0
  63. package/example/ios/Podfile +35 -0
  64. package/example/ios/Podfile.lock +1821 -0
  65. package/example/jest.config.js +3 -0
  66. package/example/metro.config.js +27 -0
  67. package/example/package.json +33 -0
  68. package/example/react-native.config.js +21 -0
  69. package/example/src/App.tsx +755 -0
  70. package/ios/AdbrixPropertiesParser.h +16 -0
  71. package/ios/AdbrixPropertiesParser.m +97 -0
  72. package/ios/AdbrixReactNative.swift +170 -0
  73. package/ios/AdbrixReactNativeSdk.h +11 -0
  74. package/ios/AdbrixReactNativeSdk.m +79 -0
  75. package/ios/AdbrixReactNativeSdk.xcodeproj/project.pbxproj +324 -0
  76. package/lib/commonjs/constants.js +174 -0
  77. package/lib/commonjs/constants.js.map +1 -0
  78. package/lib/commonjs/index.d.js +6 -0
  79. package/lib/commonjs/index.d.js.map +1 -0
  80. package/lib/commonjs/index.js +155 -0
  81. package/lib/commonjs/index.js.map +1 -0
  82. package/lib/commonjs/package.json +1 -0
  83. package/lib/commonjs/properties.js +347 -0
  84. package/lib/commonjs/properties.js.map +1 -0
  85. package/lib/index.d.ts +312 -0
  86. package/lib/module/constants.js +170 -0
  87. package/lib/module/constants.js.map +1 -0
  88. package/lib/module/index.d.js +4 -0
  89. package/lib/module/index.d.js.map +1 -0
  90. package/lib/module/index.js +121 -0
  91. package/lib/module/index.js.map +1 -0
  92. package/lib/module/properties.js +342 -0
  93. package/lib/module/properties.js.map +1 -0
  94. package/package.json +57 -0
  95. package/src/constants.js +175 -0
  96. package/src/index.d.ts +312 -0
  97. package/src/index.js +124 -0
  98. package/src/properties.js +275 -0
  99. package/tsconfig.json +29 -0
@@ -0,0 +1,16 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ @interface AdbrixPropertiesParser : NSObject
4
+
5
+ + (NSMutableDictionary *)parseProperties:(NSDictionary *)propertiesDict;
6
+
7
+ + (id)parsePropertyValue:(NSDictionary *)dict forKey:(NSString *)key;
8
+
9
+ + (id)parseTypedValue:(NSDictionary *)typedValue;
10
+
11
+ + (NSArray *)parseItemsArray:(NSArray *)itemsArray;
12
+
13
+ + (NSMutableDictionary *)parseItem:(NSDictionary *)itemDict;
14
+
15
+
16
+ @end
@@ -0,0 +1,97 @@
1
+ #import "AdbrixPropertiesParser.h"
2
+
3
+ @implementation AdbrixPropertiesParser
4
+
5
+ + (NSMutableDictionary *)parseProperties:(NSDictionary *)propertiesDict {
6
+ if (!propertiesDict) {
7
+ return [[NSMutableDictionary alloc] init];
8
+ }
9
+
10
+ NSMutableDictionary *parsedProperties = [[NSMutableDictionary alloc] init];
11
+
12
+ for (NSString *key in propertiesDict.allKeys) {
13
+ id value = [self parsePropertyValue:propertiesDict forKey:key];
14
+ if (value) {
15
+ parsedProperties[key] = value;
16
+ }
17
+ }
18
+
19
+
20
+ return parsedProperties;
21
+ }
22
+
23
+ + (id)parsePropertyValue:(NSDictionary *)dict forKey:(NSString *)key {
24
+ @try {
25
+ if ([key isEqualToString:@"abx:items"] && dict[key]) {
26
+ NSArray *itemsArray = dict[key];
27
+ if ([itemsArray isKindOfClass:[NSArray class]]) {
28
+ return [self parseItemsArray:itemsArray];
29
+ }
30
+ return nil;
31
+ }
32
+
33
+ if (dict[key]) {
34
+ NSDictionary *typedValue = dict[key];
35
+ if ([typedValue isKindOfClass:[NSDictionary class]] &&
36
+ typedValue[@"value"] && typedValue[@"type"]) {
37
+ return [self parseTypedValue:typedValue];
38
+ }
39
+ }
40
+
41
+ return nil;
42
+ }
43
+ @catch (NSException *exception) {
44
+ return nil;
45
+ }
46
+ }
47
+
48
+ + (id)parseTypedValue:(NSDictionary *)typedValue {
49
+ NSString *type = typedValue[@"type"];
50
+ id value = typedValue[@"value"];
51
+
52
+ if ([type isEqualToString:@"string"]) {
53
+ return value;
54
+ } else if ([type isEqualToString:@"long"]) {
55
+ return @([value longLongValue]);
56
+ } else if ([type isEqualToString:@"double"]) {
57
+ return @([value doubleValue]);
58
+ } else if ([type isEqualToString:@"boolean"]) {
59
+ return @([value boolValue]);
60
+ } else {
61
+ return [value description];
62
+ }
63
+ }
64
+
65
+ + (NSArray *)parseItemsArray:(NSArray *)itemsArray {
66
+ NSMutableArray *items = [[NSMutableArray alloc] init];
67
+
68
+ for (NSDictionary *itemDict in itemsArray) {
69
+ if ([itemDict isKindOfClass:[NSDictionary class]]) {
70
+ NSDictionary *parsedItem = [self parseItem:itemDict];
71
+ [items addObject:parsedItem];
72
+ }
73
+ }
74
+
75
+
76
+ return items;
77
+ }
78
+
79
+ + (NSMutableDictionary *)parseItem:(NSDictionary *)itemDict {
80
+ NSMutableDictionary *parsedItem = [[NSMutableDictionary alloc] init];
81
+
82
+ for (NSString *key in itemDict.allKeys) {
83
+ NSDictionary *typedValue = itemDict[key];
84
+ if ([typedValue isKindOfClass:[NSDictionary class]] &&
85
+ typedValue[@"value"] && typedValue[@"type"]) {
86
+ id value = [self parseTypedValue:typedValue];
87
+ if (value) {
88
+ parsedItem[key] = value;
89
+ }
90
+ }
91
+ }
92
+
93
+ return parsedItem;
94
+ }
95
+
96
+
97
+ @end
@@ -0,0 +1,170 @@
1
+ import Foundation
2
+ import AdbrixSDK
3
+
4
+ @objc(AdbrixReactNative)
5
+ public class AdbrixReactNative: NSObject, AdbrixDeferredDeepLinkDelegate {
6
+
7
+ private static let shared = AdbrixReactNative()
8
+
9
+ private let queue = DispatchQueue(label: "com.adbrix.reactnative.queue")
10
+
11
+ private var isInitialized: Bool = false
12
+
13
+ private var pendingDeepLinkURL: URL?
14
+ private var deferredDeepLink: [String: Any]?
15
+ private var deferredDeepLinkResolver: ((Any?) -> Void)?
16
+
17
+
18
+ private override init() {
19
+ super.init()
20
+ }
21
+
22
+ @objc(initWithAppKey:secretKey:)
23
+ public static func initialize(appKey: String, secretKey: String) {
24
+ shared.performInit(applicationKey: appKey, secretKey: secretKey, config: nil)
25
+ }
26
+
27
+ @objc(initWithAppKey:secretKey:config:)
28
+ public static func initialize(appKey: String, secretKey: String, config: [String: Any]) {
29
+ shared.performInit(applicationKey: appKey, secretKey: secretKey, config: config)
30
+ }
31
+
32
+ @objc(enableSDK)
33
+ public static func enable() {
34
+ shared.performEnable()
35
+ }
36
+
37
+ @objc(disableSDK)
38
+ public static func disable() {
39
+ shared.performDisable()
40
+ }
41
+
42
+ @objc(attAuthorized:)
43
+ public static func setTrackingAuthorization(_ authorized: Bool) {
44
+ shared.performSetTrackingAuthorization(authorized)
45
+ }
46
+
47
+ @objc(logEvent:properties:)
48
+ public static func logEvent(_ eventName: String, properties: [String: Any]?) {
49
+ shared.performLogEvent(eventName, properties: properties)
50
+ }
51
+
52
+ @objc(deepLinkOpenWithURL:)
53
+ public static func deepLinkOpen(url: URL) {
54
+ shared.performDeepLinkOpen(url: url)
55
+ }
56
+
57
+ @objc(deepLinkOpenWithUserActivity:)
58
+ public static func deepLinkOpen(userActivity: NSUserActivity) {
59
+ shared.performDeepLinkOpen(userActivity: userActivity)
60
+ }
61
+
62
+ @objc(blockDeferredDeepLinkLaunch:)
63
+ public static func blockDeferredDeepLinkLaunch(resolver: @escaping (Any?) -> Void) {
64
+ shared.performBlockDeferredDeepLinkLaunch(resolver: resolver)
65
+ }
66
+
67
+ private func performInit(applicationKey: String, secretKey: String, config: [String: Any]?) {
68
+ Adbrix.shared().setDeferredDeepLinkDelegate(self)
69
+ Adbrix.shared().sdkInit(appkey: applicationKey, secretKey: secretKey, extraConfig: config ?? [:])
70
+
71
+ queue.async { [weak self] in
72
+ guard let self = self else { return }
73
+
74
+ self.isInitialized = true
75
+ if let url = self.pendingDeepLinkURL {
76
+ self.pendingDeepLinkURL = nil
77
+ DispatchQueue.main.async {
78
+ Adbrix.shared().deepLinkOpen(url: url)
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ private func performEnable() {
85
+ Adbrix.shared().enableSDK()
86
+ }
87
+
88
+ private func performDisable() {
89
+ Adbrix.shared().disableSDK()
90
+ }
91
+
92
+ private func performSetTrackingAuthorization(_ authorized: Bool) {
93
+ Adbrix.shared().attAuthorized(authorized)
94
+ }
95
+
96
+ private func performLogEvent(_ eventName: String, properties: [String: Any]?) {
97
+ Adbrix.shared().logEvent(name: eventName, properties: properties ?? [:])
98
+ }
99
+
100
+ private func performDeepLinkOpen(url: URL) {
101
+ queue.async { [weak self] in
102
+ guard let self = self else { return }
103
+
104
+ if self.isInitialized {
105
+ Adbrix.shared().deepLinkOpen(url: url)
106
+ } else {
107
+ self.pendingDeepLinkURL = url
108
+ }
109
+ }
110
+ }
111
+
112
+ private func performDeepLinkOpen(userActivity: NSUserActivity) {
113
+ if userActivity.activityType == NSUserActivityTypeBrowsingWeb,
114
+ let deepLinkUrl = userActivity.webpageURL {
115
+ queue.async { [weak self] in
116
+ guard let self = self else { return }
117
+
118
+ if self.isInitialized {
119
+ Adbrix.shared().deepLinkOpen(url: deepLinkUrl)
120
+ } else {
121
+ self.pendingDeepLinkURL = deepLinkUrl
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ private func performBlockDeferredDeepLinkLaunch(resolver: @escaping (Any?) -> Void) {
128
+ queue.async { [weak self] in
129
+ guard let self = self else { return }
130
+
131
+ if let callback = self.deferredDeepLink {
132
+ DispatchQueue.main.async {
133
+ resolver(callback)
134
+ }
135
+ self.deferredDeepLink = nil
136
+ } else {
137
+ self.deferredDeepLinkResolver = resolver
138
+ }
139
+ }
140
+ }
141
+
142
+ public func didReceive(deferredDeepLink: AdbrixDeepLink) {
143
+
144
+ guard let deepLink = deferredDeepLink.deepLink, !deepLink.isEmpty else {
145
+ return
146
+ }
147
+
148
+ let callback: [String: Any] = [
149
+ "result": deferredDeepLink.result.rawValue,
150
+ "deepLink": deepLink
151
+ ]
152
+
153
+ queue.async { [weak self] in
154
+ guard let self = self else { return }
155
+
156
+ if let resolver = self.deferredDeepLinkResolver {
157
+ DispatchQueue.main.async {
158
+ resolver(callback)
159
+ }
160
+ self.deferredDeepLinkResolver = nil
161
+ } else {
162
+ if let url = URL(string: deepLink) {
163
+ DispatchQueue.main.async {
164
+ UIApplication.shared.open(url)
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
@@ -0,0 +1,11 @@
1
+ #if __has_include("RCTBridgeModule.h")
2
+ #import "RCTBridgeModule.h"
3
+ #else
4
+ #import <React/RCTBridgeModule.h>
5
+ #endif
6
+
7
+ @interface AdbrixReactNativeSdk : NSObject <RCTBridgeModule>
8
+ + (void)deeplinkOpenWith:(NSURL *)url;
9
+ + (void)deeplinkOpenWithUserActivity:(NSUserActivity *)userActivity;
10
+
11
+ @end
@@ -0,0 +1,79 @@
1
+ #import "AdbrixReactNativeSdk.h"
2
+ #import "AdbrixPropertiesParser.h"
3
+ #import <AdbrixSDK/AdbrixSDK.h>
4
+
5
+ #import "adbrix_react_native_sdk-Swift.h"
6
+
7
+ @implementation AdbrixReactNativeSdk
8
+ RCT_EXPORT_MODULE(Adbrix)
9
+
10
+ RCT_EXPORT_METHOD(init:(NSDictionary *)params)
11
+ {
12
+ NSString *applicationKey = params[@"applicationKey"];
13
+ NSString *secretKey = params[@"secretKey"];
14
+
15
+ [AdbrixReactNative initWithAppKey:applicationKey secretKey:secretKey];
16
+ }
17
+
18
+ RCT_EXPORT_METHOD(initWithConfig:(NSDictionary *)params)
19
+ {
20
+ NSString *applicationKey = params[@"applicationKey"];
21
+ NSString *secretKey = params[@"secretKey"];
22
+ NSDictionary *config = params[@"config"];
23
+
24
+ [AdbrixReactNative initWithAppKey:applicationKey secretKey:secretKey config:config];
25
+ }
26
+
27
+ RCT_EXPORT_METHOD(logEvent:(NSDictionary *)params)
28
+ {
29
+ NSString *eventName = params[@"eventName"];
30
+ NSDictionary *properties = params[@"properties"];
31
+
32
+ if (properties) {
33
+ NSDictionary *parsedProperties = [AdbrixPropertiesParser parseProperties:properties];
34
+
35
+ [AdbrixReactNative logEvent:eventName properties:parsedProperties];
36
+ } else {
37
+ [AdbrixReactNative logEvent:eventName properties:nil];
38
+ }
39
+
40
+ }
41
+
42
+ RCT_EXPORT_METHOD(enableSDK)
43
+ {
44
+ [AdbrixReactNative enableSDK];
45
+ }
46
+
47
+ RCT_EXPORT_METHOD(disableSDK)
48
+ {
49
+ [AdbrixReactNative disableSDK];
50
+ }
51
+
52
+ RCT_EXPORT_METHOD(blockDeferredDeepLinkLaunch:(RCTPromiseResolveBlock)resolve
53
+ reject:(RCTPromiseRejectBlock)reject)
54
+ {
55
+ [AdbrixReactNative blockDeferredDeepLinkLaunch:^(id _Nullable result) {
56
+ if (result && result != [NSNull null]) {
57
+ resolve(result);
58
+ } else {
59
+ resolve([NSNull null]);
60
+ }
61
+ }];
62
+ }
63
+
64
+ RCT_EXPORT_METHOD(attAuthorized:(BOOL)authorized)
65
+ {
66
+ [AdbrixReactNative attAuthorized:authorized];
67
+ }
68
+
69
+ + (void)deeplinkOpenWith:(NSURL *)url
70
+ {
71
+ [AdbrixReactNative deepLinkOpenWithURL:url];
72
+ }
73
+
74
+ + (void)deeplinkOpenWithUserActivity:(NSUserActivity *)userActivity
75
+ {
76
+ [AdbrixReactNative deepLinkOpenWithUserActivity: userActivity];
77
+ }
78
+
79
+ @end
@@ -0,0 +1,324 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 54;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 5E555C1E2413F4C50029B9AD /* AdbrixReactNativeSdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E555C1B2413F4C50029B9AD /* AdbrixReactNativeSdk.h */; settings = {ATTRIBUTES = (Public, ); }; };
11
+ 9C9096D62DF7F5DC00D91A40 /* AdbrixReactNativeSdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C9096D42DF7F5DC00D91A40 /* AdbrixReactNativeSdk.h */; };
12
+ 9C9096D72DF7F5DC00D91A40 /* AdbrixPropertiesParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C9096D12DF7F5DC00D91A40 /* AdbrixPropertiesParser.h */; };
13
+ 9C9096D82DF7F5DC00D91A40 /* AdbrixPropertiesParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C9096D22DF7F5DC00D91A40 /* AdbrixPropertiesParser.m */; };
14
+ 9C9096D92DF7F5DC00D91A40 /* AdbrixReactNative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C9096D32DF7F5DC00D91A40 /* AdbrixReactNative.swift */; };
15
+ 9C9096DA2DF7F5DC00D91A40 /* AdbrixReactNativeSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C9096D52DF7F5DC00D91A40 /* AdbrixReactNativeSdk.m */; };
16
+ /* End PBXBuildFile section */
17
+
18
+ /* Begin PBXFileReference section */
19
+ 5E555C182413F4C50029B9AD /* libAdbrixReactNativeSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAdbrixReactNativeSdk.a; sourceTree = BUILT_PRODUCTS_DIR; };
20
+ 5E555C1B2413F4C50029B9AD /* AdbrixReactNativeSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AdbrixReactNativeSdk.h; sourceTree = "<group>"; };
21
+ 9C9096D12DF7F5DC00D91A40 /* AdbrixPropertiesParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AdbrixPropertiesParser.h; sourceTree = "<group>"; };
22
+ 9C9096D22DF7F5DC00D91A40 /* AdbrixPropertiesParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AdbrixPropertiesParser.m; sourceTree = "<group>"; };
23
+ 9C9096D32DF7F5DC00D91A40 /* AdbrixReactNative.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdbrixReactNative.swift; sourceTree = "<group>"; };
24
+ 9C9096D42DF7F5DC00D91A40 /* AdbrixReactNativeSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AdbrixReactNativeSdk.h; sourceTree = "<group>"; };
25
+ 9C9096D52DF7F5DC00D91A40 /* AdbrixReactNativeSdk.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AdbrixReactNativeSdk.m; sourceTree = "<group>"; };
26
+ /* End PBXFileReference section */
27
+
28
+ /* Begin PBXFrameworksBuildPhase section */
29
+ 5E555C152413F4C50029B9AD /* Frameworks */ = {
30
+ isa = PBXFrameworksBuildPhase;
31
+ buildActionMask = 2147483647;
32
+ files = (
33
+ );
34
+ runOnlyForDeploymentPostprocessing = 0;
35
+ };
36
+ /* End PBXFrameworksBuildPhase section */
37
+
38
+ /* Begin PBXGroup section */
39
+ 5E555C0F2413F4C50029B9AD = {
40
+ isa = PBXGroup;
41
+ children = (
42
+ 5E555C1A2413F4C50029B9AD /* AdbrixReactNativeSdk */,
43
+ 5E555C192413F4C50029B9AD /* Products */,
44
+ );
45
+ sourceTree = "<group>";
46
+ };
47
+ 5E555C192413F4C50029B9AD /* Products */ = {
48
+ isa = PBXGroup;
49
+ children = (
50
+ 5E555C182413F4C50029B9AD /* libAdbrixReactNativeSdk.a */,
51
+ );
52
+ name = Products;
53
+ sourceTree = "<group>";
54
+ };
55
+ 5E555C1A2413F4C50029B9AD /* AdbrixReactNativeSdk */ = {
56
+ isa = PBXGroup;
57
+ children = (
58
+ 9C9096D12DF7F5DC00D91A40 /* AdbrixPropertiesParser.h */,
59
+ 9C9096D22DF7F5DC00D91A40 /* AdbrixPropertiesParser.m */,
60
+ 9C9096D32DF7F5DC00D91A40 /* AdbrixReactNative.swift */,
61
+ 9C9096D42DF7F5DC00D91A40 /* AdbrixReactNativeSdk.h */,
62
+ 9C9096D52DF7F5DC00D91A40 /* AdbrixReactNativeSdk.m */,
63
+ 5E555C1B2413F4C50029B9AD /* AdbrixReactNativeSdk.h */,
64
+ );
65
+ name = AdbrixReactNativeSdk;
66
+ sourceTree = "<group>";
67
+ };
68
+ /* End PBXGroup section */
69
+
70
+ /* Begin PBXHeadersBuildPhase section */
71
+ 5E555C162413F4C50029B9AD /* Headers */ = {
72
+ isa = PBXHeadersBuildPhase;
73
+ buildActionMask = 2147483647;
74
+ files = (
75
+ 9C9096D62DF7F5DC00D91A40 /* AdbrixReactNativeSdk.h in Headers */,
76
+ 9C9096D72DF7F5DC00D91A40 /* AdbrixPropertiesParser.h in Headers */,
77
+ 5E555C1E2413F4C50029B9AD /* AdbrixReactNativeSdk.h in Headers */,
78
+ );
79
+ runOnlyForDeploymentPostprocessing = 0;
80
+ };
81
+ /* End PBXHeadersBuildPhase section */
82
+
83
+ /* Begin PBXNativeTarget section */
84
+ 5E555C172413F4C50029B9AD /* AdbrixReactNativeSdk */ = {
85
+ isa = PBXNativeTarget;
86
+ buildConfigurationList = 5E555C1F2413F4C50029B9AD /* Build configuration list for PBXNativeTarget "AdbrixReactNativeSdk" */;
87
+ buildPhases = (
88
+ 5E555C142413F4C50029B9AD /* Sources */,
89
+ 5E555C152413F4C50029B9AD /* Frameworks */,
90
+ 5E555C162413F4C50029B9AD /* Headers */,
91
+ );
92
+ buildRules = (
93
+ );
94
+ dependencies = (
95
+ );
96
+ name = AdbrixReactNativeSdk;
97
+ productName = AdbrixReactNativeSdk;
98
+ productReference = 5E555C182413F4C50029B9AD /* libAdbrixReactNativeSdk.a */;
99
+ productType = "com.apple.product-type.library.static";
100
+ };
101
+ /* End PBXNativeTarget section */
102
+
103
+ /* Begin PBXProject section */
104
+ 5E555C102413F4C50029B9AD /* Project object */ = {
105
+ isa = PBXProject;
106
+ attributes = {
107
+ BuildIndependentTargetsInParallel = YES;
108
+ LastUpgradeCheck = 1600;
109
+ ORGANIZATIONNAME = IGAWorks;
110
+ TargetAttributes = {
111
+ 5E555C172413F4C50029B9AD = {
112
+ CreatedOnToolsVersion = 11.3.1;
113
+ LastSwiftMigration = 1600;
114
+ };
115
+ };
116
+ };
117
+ buildConfigurationList = 5E555C132413F4C50029B9AD /* Build configuration list for PBXProject "AdbrixReactNativeSdk" */;
118
+ compatibilityVersion = "Xcode 9.3";
119
+ developmentRegion = en;
120
+ hasScannedForEncodings = 0;
121
+ knownRegions = (
122
+ en,
123
+ Base,
124
+ );
125
+ mainGroup = 5E555C0F2413F4C50029B9AD;
126
+ productRefGroup = 5E555C192413F4C50029B9AD /* Products */;
127
+ projectDirPath = "";
128
+ projectRoot = "";
129
+ targets = (
130
+ 5E555C172413F4C50029B9AD /* AdbrixReactNativeSdk */,
131
+ );
132
+ };
133
+ /* End PBXProject section */
134
+
135
+ /* Begin PBXSourcesBuildPhase section */
136
+ 5E555C142413F4C50029B9AD /* Sources */ = {
137
+ isa = PBXSourcesBuildPhase;
138
+ buildActionMask = 2147483647;
139
+ files = (
140
+ 9C9096D82DF7F5DC00D91A40 /* AdbrixPropertiesParser.m in Sources */,
141
+ 9C9096D92DF7F5DC00D91A40 /* AdbrixReactNative.swift in Sources */,
142
+ 9C9096DA2DF7F5DC00D91A40 /* AdbrixReactNativeSdk.m in Sources */,
143
+ );
144
+ runOnlyForDeploymentPostprocessing = 0;
145
+ };
146
+ /* End PBXSourcesBuildPhase section */
147
+
148
+ /* Begin XCBuildConfiguration section */
149
+ 5E555C202413F4C50029B9AD /* Debug */ = {
150
+ isa = XCBuildConfiguration;
151
+ buildSettings = {
152
+ ALWAYS_SEARCH_USER_PATHS = NO;
153
+ CLANG_ANALYZER_NONNULL = YES;
154
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
155
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
156
+ CLANG_CXX_LIBRARY = "libc++";
157
+ CLANG_ENABLE_MODULES = YES;
158
+ CLANG_ENABLE_OBJC_ARC = YES;
159
+ CLANG_ENABLE_OBJC_WEAK = YES;
160
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
161
+ CLANG_WARN_BOOL_CONVERSION = YES;
162
+ CLANG_WARN_COMMA = YES;
163
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
164
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
165
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
166
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
167
+ CLANG_WARN_EMPTY_BODY = YES;
168
+ CLANG_WARN_ENUM_CONVERSION = YES;
169
+ CLANG_WARN_INFINITE_RECURSION = YES;
170
+ CLANG_WARN_INT_CONVERSION = YES;
171
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
172
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
173
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
174
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
175
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
176
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
177
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
178
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
179
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
180
+ CLANG_WARN_UNREACHABLE_CODE = YES;
181
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
182
+ COPY_PHASE_STRIP = NO;
183
+ DEBUG_INFORMATION_FORMAT = dwarf;
184
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
185
+ ENABLE_TESTABILITY = YES;
186
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
187
+ GCC_C_LANGUAGE_STANDARD = gnu11;
188
+ GCC_DYNAMIC_NO_PIC = NO;
189
+ GCC_NO_COMMON_BLOCKS = YES;
190
+ GCC_OPTIMIZATION_LEVEL = 0;
191
+ GCC_PREPROCESSOR_DEFINITIONS = (
192
+ "DEBUG=1",
193
+ "$(inherited)",
194
+ );
195
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
196
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
197
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
198
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
199
+ GCC_WARN_UNUSED_FUNCTION = YES;
200
+ GCC_WARN_UNUSED_VARIABLE = YES;
201
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
202
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
203
+ MTL_FAST_MATH = YES;
204
+ ONLY_ACTIVE_ARCH = YES;
205
+ SDKROOT = iphoneos;
206
+ };
207
+ name = Debug;
208
+ };
209
+ 5E555C212413F4C50029B9AD /* Release */ = {
210
+ isa = XCBuildConfiguration;
211
+ buildSettings = {
212
+ ALWAYS_SEARCH_USER_PATHS = NO;
213
+ CLANG_ANALYZER_NONNULL = YES;
214
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
215
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
216
+ CLANG_CXX_LIBRARY = "libc++";
217
+ CLANG_ENABLE_MODULES = YES;
218
+ CLANG_ENABLE_OBJC_ARC = YES;
219
+ CLANG_ENABLE_OBJC_WEAK = YES;
220
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
221
+ CLANG_WARN_BOOL_CONVERSION = YES;
222
+ CLANG_WARN_COMMA = YES;
223
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
224
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
225
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
226
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
227
+ CLANG_WARN_EMPTY_BODY = YES;
228
+ CLANG_WARN_ENUM_CONVERSION = YES;
229
+ CLANG_WARN_INFINITE_RECURSION = YES;
230
+ CLANG_WARN_INT_CONVERSION = YES;
231
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
232
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
233
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
234
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
235
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
236
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
237
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
238
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
239
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
240
+ CLANG_WARN_UNREACHABLE_CODE = YES;
241
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
242
+ COPY_PHASE_STRIP = NO;
243
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
244
+ ENABLE_NS_ASSERTIONS = NO;
245
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
246
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
247
+ GCC_C_LANGUAGE_STANDARD = gnu11;
248
+ GCC_NO_COMMON_BLOCKS = YES;
249
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
250
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
251
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
252
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
253
+ GCC_WARN_UNUSED_FUNCTION = YES;
254
+ GCC_WARN_UNUSED_VARIABLE = YES;
255
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
256
+ MTL_ENABLE_DEBUG_INFO = NO;
257
+ MTL_FAST_MATH = YES;
258
+ SDKROOT = iphoneos;
259
+ VALIDATE_PRODUCT = YES;
260
+ };
261
+ name = Release;
262
+ };
263
+ 5E555C222413F4C50029B9AD /* Debug */ = {
264
+ isa = XCBuildConfiguration;
265
+ buildSettings = {
266
+ CLANG_ENABLE_MODULES = YES;
267
+ HEADER_SEARCH_PATHS = (
268
+ "$(inherited)",
269
+ "$(SRCROOT)/../../../React/**",
270
+ "$(SRCROOT)/../node_modules/react-native/React/**",
271
+ );
272
+ OTHER_LDFLAGS = "-ObjC";
273
+ PRODUCT_NAME = "$(TARGET_NAME)";
274
+ SKIP_INSTALL = YES;
275
+ SWIFT_OBJC_BRIDGING_HEADER = "AdbrixReactNativeSdk-Bridging-Header.h";
276
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
277
+ SWIFT_VERSION = 6.0;
278
+ TARGETED_DEVICE_FAMILY = "1,2";
279
+ };
280
+ name = Debug;
281
+ };
282
+ 5E555C232413F4C50029B9AD /* Release */ = {
283
+ isa = XCBuildConfiguration;
284
+ buildSettings = {
285
+ CLANG_ENABLE_MODULES = YES;
286
+ HEADER_SEARCH_PATHS = (
287
+ "$(inherited)",
288
+ "$(SRCROOT)/../../../React/**",
289
+ "$(SRCROOT)/../node_modules/react-native/React/**",
290
+ );
291
+ OTHER_LDFLAGS = "-ObjC";
292
+ PRODUCT_NAME = "$(TARGET_NAME)";
293
+ SKIP_INSTALL = YES;
294
+ SWIFT_OBJC_BRIDGING_HEADER = "AdbrixReactNativeSdk-Bridging-Header.h";
295
+ SWIFT_VERSION = 6.0;
296
+ TARGETED_DEVICE_FAMILY = "1,2";
297
+ };
298
+ name = Release;
299
+ };
300
+ /* End XCBuildConfiguration section */
301
+
302
+ /* Begin XCConfigurationList section */
303
+ 5E555C132413F4C50029B9AD /* Build configuration list for PBXProject "AdbrixReactNativeSdk" */ = {
304
+ isa = XCConfigurationList;
305
+ buildConfigurations = (
306
+ 5E555C202413F4C50029B9AD /* Debug */,
307
+ 5E555C212413F4C50029B9AD /* Release */,
308
+ );
309
+ defaultConfigurationIsVisible = 0;
310
+ defaultConfigurationName = Release;
311
+ };
312
+ 5E555C1F2413F4C50029B9AD /* Build configuration list for PBXNativeTarget "AdbrixReactNativeSdk" */ = {
313
+ isa = XCConfigurationList;
314
+ buildConfigurations = (
315
+ 5E555C222413F4C50029B9AD /* Debug */,
316
+ 5E555C232413F4C50029B9AD /* Release */,
317
+ );
318
+ defaultConfigurationIsVisible = 0;
319
+ defaultConfigurationName = Release;
320
+ };
321
+ /* End XCConfigurationList section */
322
+ };
323
+ rootObject = 5E555C102413F4C50029B9AD /* Project object */;
324
+ }