@react-native-firebase/app 26.3.2 → 26.4.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/RNFBApp.podspec +1 -1
  3. package/android/src/main/java/io/invertase/firebase/common/RNFBHandleCollisionException.java +31 -0
  4. package/android/src/main/java/io/invertase/firebase/common/RNFBHandleMap.java +150 -0
  5. package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.java +27 -3
  6. package/android/src/reactnative/java/io/invertase/firebase/app/NativeRNFBTurboApp.java +3 -1
  7. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +1 -1
  8. package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -2
  9. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseJSON.java +5 -3
  10. package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +26 -1
  11. package/android/src/test/java/io/invertase/firebase/common/RNFBHandleMapTest.java +275 -0
  12. package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1 -1
  13. package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseJSONTest.java +108 -0
  14. package/android/src/test/java/io/invertase/firebase/common/TaskExecutorServiceTest.java +97 -0
  15. package/android/src/test/java/io/invertase/firebase/utils/NativeRNFBTurboUtilsTest.java +0 -2
  16. package/dist/module/common/Base64.js +13 -21
  17. package/dist/module/common/Base64.js.map +1 -1
  18. package/dist/module/common/index.js +17 -9
  19. package/dist/module/common/index.js.map +1 -1
  20. package/dist/module/internal/asyncStorage.js +7 -11
  21. package/dist/module/internal/asyncStorage.js.map +1 -1
  22. package/dist/module/internal/logger.js +44 -40
  23. package/dist/module/internal/logger.js.map +1 -1
  24. package/dist/module/internal/nativeModuleAndroidIos.js +2 -29
  25. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
  26. package/dist/module/internal/nativeModuleDebug.js +74 -0
  27. package/dist/module/internal/nativeModuleDebug.js.map +1 -0
  28. package/dist/module/internal/nativeModuleWeb.js +9 -29
  29. package/dist/module/internal/nativeModuleWeb.js.map +1 -1
  30. package/dist/module/internal/registry/app.js +1 -1
  31. package/dist/module/internal/registry/app.js.map +1 -1
  32. package/dist/module/internal/registry/modular.js +2 -2
  33. package/dist/module/internal/registry/modular.js.map +1 -1
  34. package/dist/module/internal/registry/nativeModule.js +3 -3
  35. package/dist/module/internal/registry/nativeModule.js.map +1 -1
  36. package/dist/module/internal/web/RNFBAppModule.js +16 -15
  37. package/dist/module/internal/web/RNFBAppModule.js.map +1 -1
  38. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +3 -1
  39. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js.map +1 -1
  40. package/dist/module/version.js +1 -1
  41. package/dist/typescript/lib/common/Base64.d.ts.map +1 -1
  42. package/dist/typescript/lib/common/index.d.ts.map +1 -1
  43. package/dist/typescript/lib/internal/asyncStorage.d.ts.map +1 -1
  44. package/dist/typescript/lib/internal/logger.d.ts.map +1 -1
  45. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
  46. package/dist/typescript/lib/internal/nativeModuleDebug.d.ts +2 -0
  47. package/dist/typescript/lib/internal/nativeModuleDebug.d.ts.map +1 -0
  48. package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
  49. package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts +7 -7
  50. package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts.map +1 -1
  51. package/dist/typescript/lib/version.d.ts +1 -1
  52. package/firebase-schema.json +1 -1
  53. package/firebase_spm.rb +240 -95
  54. package/ios/RNFBApp/RNFBAppModule.mm +42 -16
  55. package/ios/RNFBApp/RNFBHandleMap.h +73 -0
  56. package/ios/RNFBApp/RNFBHandleMap.m +116 -0
  57. package/ios/RNFBApp/RNFBSharedUtils.m +3 -2
  58. package/ios/RNFBApp/RNFBUtilsModule.mm +2 -3
  59. package/ios/RNFBApp/RNFBVersion.m +1 -1
  60. package/ios/RNFBApp.xcodeproj/project.pbxproj +6 -0
  61. package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/project.pbxproj +237 -0
  62. package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAppUnitTests.xcscheme +69 -0
  63. package/ios/RNFBAppUnitTests/RNFBHandleMapTests.m +238 -0
  64. package/lib/common/Base64.ts +10 -16
  65. package/lib/common/index.ts +20 -9
  66. package/lib/internal/asyncStorage.ts +7 -11
  67. package/lib/internal/logger.ts +53 -43
  68. package/lib/internal/nativeModuleAndroidIos.ts +2 -40
  69. package/lib/internal/nativeModuleDebug.ts +97 -0
  70. package/lib/internal/nativeModuleWeb.ts +10 -40
  71. package/lib/internal/registry/app.ts +1 -1
  72. package/lib/internal/registry/modular.ts +2 -2
  73. package/lib/internal/registry/nativeModule.ts +3 -3
  74. package/lib/internal/web/RNFBAppModule.ts +16 -15
  75. package/lib/internal/web/memidb/lib/FakeEventTarget.js +3 -1
  76. package/lib/version.ts +1 -1
  77. package/package.json +3 -2
  78. package/plugin/build/ios/appDelegate.js +18 -8
  79. package/plugin/src/ios/appDelegate.ts +44 -14
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+
18
+ #import "RNFBHandleMap.h"
19
+
20
+ NSErrorDomain const RNFBHandleMapErrorDomain = @"io.invertase.firebase.RNFBHandleMap";
21
+
22
+ @interface RNFBHandleMap ()
23
+ @property(nonatomic, strong) NSMutableDictionary *map;
24
+ @property(nonatomic, strong) NSObject *lock;
25
+ @end
26
+
27
+ @implementation RNFBHandleMap
28
+
29
+ - (instancetype)init {
30
+ self = [super init];
31
+ if (self) {
32
+ _map = [NSMutableDictionary dictionary];
33
+ _lock = [[NSObject alloc] init];
34
+ }
35
+ return self;
36
+ }
37
+
38
+ - (BOOL)put:(id)key value:(id)value error:(NSError **)error {
39
+ @synchronized(self.lock) {
40
+ if (self.map[key] != nil) {
41
+ if (error != nil) {
42
+ NSString *message = [NSString stringWithFormat:@"Handle id already registered: %@", key];
43
+ *error = [NSError errorWithDomain:RNFBHandleMapErrorDomain
44
+ code:RNFBHandleMapErrorCollision
45
+ userInfo:@{NSLocalizedDescriptionKey : message}];
46
+ }
47
+ return NO;
48
+ }
49
+ self.map[key] = value;
50
+ return YES;
51
+ }
52
+ }
53
+
54
+ - (BOOL)putIfAbsent:(id)key value:(id)value {
55
+ @synchronized(self.lock) {
56
+ if (self.map[key] != nil) {
57
+ return NO;
58
+ }
59
+ self.map[key] = value;
60
+ return YES;
61
+ }
62
+ }
63
+
64
+ - (BOOL)putIfAbsentOrSame:(id)key value:(id)value {
65
+ @synchronized(self.lock) {
66
+ id existing = self.map[key];
67
+ if (existing == nil) {
68
+ self.map[key] = value;
69
+ return YES;
70
+ }
71
+ return existing == value;
72
+ }
73
+ }
74
+
75
+ - (id)putReplacing:(id)key value:(id)value {
76
+ @synchronized(self.lock) {
77
+ id previous = self.map[key];
78
+ self.map[key] = value;
79
+ return previous;
80
+ }
81
+ }
82
+
83
+ - (id)get:(id)key {
84
+ @synchronized(self.lock) {
85
+ return self.map[key];
86
+ }
87
+ }
88
+
89
+ - (id)take:(id)key {
90
+ @synchronized(self.lock) {
91
+ id value = self.map[key];
92
+ [self.map removeObjectForKey:key];
93
+ return value;
94
+ }
95
+ }
96
+
97
+ - (id)takeIf:(id)key when:(BOOL (^)(id))condition {
98
+ @synchronized(self.lock) {
99
+ id value = self.map[key];
100
+ if (value != nil && condition(value)) {
101
+ [self.map removeObjectForKey:key];
102
+ return value;
103
+ }
104
+ return nil;
105
+ }
106
+ }
107
+
108
+ - (NSArray *)takeAll {
109
+ @synchronized(self.lock) {
110
+ NSArray *values = [self.map allValues];
111
+ [self.map removeAllObjects];
112
+ return values;
113
+ }
114
+ }
115
+
116
+ @end
@@ -64,8 +64,9 @@ static NSString *const RNFBErrorDomain = @"RNFBErrorDomain";
64
64
  // missing from android sdk - ios only:
65
65
  firAppOptions[@"clientId"] = firOptions.clientID;
66
66
  // not in FIROptions API but in JS SDK and project config JSON
67
- if ([RNFBAppModule getCustomDomain:name] != nil) {
68
- firAppOptions[@"authDomain"] = [RNFBAppModule getCustomDomain:name];
67
+ NSString *customAuthDomain = [RNFBAppModule getCustomDomain:name];
68
+ if (customAuthDomain != nil) {
69
+ firAppOptions[@"authDomain"] = customAuthDomain;
69
70
  }
70
71
 
71
72
  firAppDictionary[@"options"] = firAppOptions;
@@ -69,12 +69,11 @@ RCT_EXPORT_MODULE(NativeRNFBTurboUtils)
69
69
  return [constants copy];
70
70
  }
71
71
 
72
- - (facebook::react::ModuleConstants<JS::NativeRNFBTurboUtils::Constants::Builder>)
73
- constantsToExport {
72
+ - (facebook::react::ModuleConstants<JS::NativeRNFBTurboUtils::Constants>)constantsToExport {
74
73
  return [_RCTTypedModuleConstants newWithUnsafeDictionary:[self utilsConstantsDictionary]];
75
74
  }
76
75
 
77
- - (facebook::react::ModuleConstants<JS::NativeRNFBTurboUtils::Constants::Builder>)getConstants {
76
+ - (facebook::react::ModuleConstants<JS::NativeRNFBTurboUtils::Constants>)getConstants {
78
77
  return [self constantsToExport];
79
78
  }
80
79
 
@@ -18,4 +18,4 @@
18
18
  #import <React/RCTVersion.h>
19
19
 
20
20
  // generated file - do not modify or commit
21
- NSString* const RNFBVersionString = @"26.3.2";
21
+ NSString* const RNFBVersionString = @"26.4.0";
@@ -18,6 +18,7 @@
18
18
  4D97BAD423042F2700077358 /* RNFBUtilsModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D97BAD323042F2700077358 /* RNFBUtilsModule.mm */; };
19
19
  DAA1F28522FCF6AD00F4DEC1 /* RNFBVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = DAA1F28422FCF6AD00F4DEC1 /* RNFBVersion.m */; };
20
20
  RNFB00001A2025011100000001 /* RNFBNullSentinelInterceptor.m in Sources */ = {isa = PBXBuildFile; fileRef = RNFB00001A2025011100000002 /* RNFBNullSentinelInterceptor.m */; };
21
+ RNFB00001A2026082000000001 /* RNFBHandleMap.m in Sources */ = {isa = PBXBuildFile; fileRef = RNFB00001A2026082000000002 /* RNFBHandleMap.m */; };
21
22
  /* End PBXBuildFile section */
22
23
 
23
24
  /* Begin PBXCopyFilesBuildPhase section */
@@ -56,6 +57,8 @@
56
57
  DAA1F28622FCF6C200F4DEC1 /* RNFBVersion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBVersion.h; sourceTree = "<group>"; };
57
58
  RNFB00001A2025011100000002 /* RNFBNullSentinelInterceptor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBNullSentinelInterceptor.m; sourceTree = "<group>"; };
58
59
  RNFB00001A2025011100000003 /* RNFBNullSentinelInterceptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBNullSentinelInterceptor.h; sourceTree = "<group>"; };
60
+ RNFB00001A2026082000000002 /* RNFBHandleMap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBHandleMap.m; sourceTree = "<group>"; };
61
+ RNFB00001A2026082000000003 /* RNFBHandleMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBHandleMap.h; sourceTree = "<group>"; };
59
62
  /* End PBXFileReference section */
60
63
 
61
64
  /* Begin PBXFrameworksBuildPhase section */
@@ -102,6 +105,8 @@
102
105
  4D97BAD323042F2700077358 /* RNFBUtilsModule.mm */,
103
106
  RNFB00001A2025011100000003 /* RNFBNullSentinelInterceptor.h */,
104
107
  RNFB00001A2025011100000002 /* RNFBNullSentinelInterceptor.m */,
108
+ RNFB00001A2026082000000003 /* RNFBHandleMap.h */,
109
+ RNFB00001A2026082000000002 /* RNFBHandleMap.m */,
105
110
  );
106
111
  path = RNFBApp;
107
112
  sourceTree = "<group>";
@@ -184,6 +189,7 @@
184
189
  2744B9A421F48A4F004F8E3F /* RCTConvert+FIROptions.m in Sources */,
185
190
  2748D8152236426300FC8DC8 /* RNFBJSON.m in Sources */,
186
191
  RNFB00001A2025011100000001 /* RNFBNullSentinelInterceptor.m in Sources */,
192
+ RNFB00001A2026082000000001 /* RNFBHandleMap.m in Sources */,
187
193
  );
188
194
  runOnlyForDeploymentPostprocessing = 0;
189
195
  };
@@ -0,0 +1,237 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 56;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ A1000000000000000000000A /* RNFBHandleMap.m in Sources */ = {isa = PBXBuildFile; fileRef = A10000000000000000000008 /* RNFBHandleMap.m */; };
11
+ A1000000000000000000000B /* RNFBHandleMapTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A10000000000000000000009 /* RNFBHandleMapTests.m */; };
12
+ A10000000000000000000015 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A10000000000000000000014 /* XCTest.framework */; };
13
+ /* End PBXBuildFile section */
14
+
15
+ /* Begin PBXFileReference section */
16
+ A10000000000000000000003 /* RNFBAppUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNFBAppUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
17
+ A10000000000000000000007 /* RNFBHandleMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBHandleMap.h; path = ../RNFBApp/RNFBHandleMap.h; sourceTree = SOURCE_ROOT; };
18
+ A10000000000000000000008 /* RNFBHandleMap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBHandleMap.m; path = ../RNFBApp/RNFBHandleMap.m; sourceTree = SOURCE_ROOT; };
19
+ A10000000000000000000009 /* RNFBHandleMapTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBHandleMapTests.m; sourceTree = "<group>"; };
20
+ A10000000000000000000014 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
21
+ /* End PBXFileReference section */
22
+
23
+ /* Begin PBXFrameworksBuildPhase section */
24
+ A1000000000000000000000D /* Frameworks */ = {
25
+ isa = PBXFrameworksBuildPhase;
26
+ buildActionMask = 2147483647;
27
+ files = (
28
+ A10000000000000000000015 /* XCTest.framework in Frameworks */,
29
+ );
30
+ runOnlyForDeploymentPostprocessing = 0;
31
+ };
32
+ /* End PBXFrameworksBuildPhase section */
33
+
34
+ /* Begin PBXGroup section */
35
+ A10000000000000000000004 = {
36
+ isa = PBXGroup;
37
+ children = (
38
+ A10000000000000000000006 /* Sources */,
39
+ A10000000000000000000005 /* Products */,
40
+ );
41
+ sourceTree = "<group>";
42
+ };
43
+ A10000000000000000000005 /* Products */ = {
44
+ isa = PBXGroup;
45
+ children = (
46
+ A10000000000000000000003 /* RNFBAppUnitTests.xctest */,
47
+ );
48
+ name = Products;
49
+ sourceTree = "<group>";
50
+ };
51
+ A10000000000000000000006 /* Sources */ = {
52
+ isa = PBXGroup;
53
+ children = (
54
+ A10000000000000000000007 /* RNFBHandleMap.h */,
55
+ A10000000000000000000008 /* RNFBHandleMap.m */,
56
+ A10000000000000000000009 /* RNFBHandleMapTests.m */,
57
+ );
58
+ name = Sources;
59
+ sourceTree = "<group>";
60
+ };
61
+ /* End PBXGroup section */
62
+
63
+ /* Begin PBXNativeTarget section */
64
+ A10000000000000000000002 /* RNFBAppUnitTests */ = {
65
+ isa = PBXNativeTarget;
66
+ buildConfigurationList = A10000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAppUnitTests" */;
67
+ buildPhases = (
68
+ A1000000000000000000000C /* Sources */,
69
+ A1000000000000000000000D /* Frameworks */,
70
+ );
71
+ buildRules = (
72
+ );
73
+ dependencies = (
74
+ );
75
+ name = RNFBAppUnitTests;
76
+ productName = RNFBAppUnitTests;
77
+ productReference = A10000000000000000000003 /* RNFBAppUnitTests.xctest */;
78
+ productType = "com.apple.product-type.bundle.unit-test";
79
+ };
80
+ /* End PBXNativeTarget section */
81
+
82
+ /* Begin PBXProject section */
83
+ A10000000000000000000001 /* Project object */ = {
84
+ isa = PBXProject;
85
+ attributes = {
86
+ BuildIndependentTargetsInParallel = 1;
87
+ LastUpgradeCheck = 2600;
88
+ ORGANIZATIONNAME = Invertase;
89
+ TargetAttributes = {
90
+ A10000000000000000000002 = {
91
+ CreatedOnToolsVersion = 26.0;
92
+ };
93
+ };
94
+ };
95
+ buildConfigurationList = A10000000000000000000012 /* Build configuration list for PBXProject "RNFBAppUnitTests" */;
96
+ compatibilityVersion = "Xcode 14.0";
97
+ developmentRegion = en;
98
+ hasScannedForEncodings = 0;
99
+ knownRegions = (
100
+ en,
101
+ Base,
102
+ );
103
+ mainGroup = A10000000000000000000004;
104
+ productRefGroup = A10000000000000000000005 /* Products */;
105
+ projectDirPath = "";
106
+ projectRoot = "";
107
+ targets = (
108
+ A10000000000000000000002 /* RNFBAppUnitTests */,
109
+ );
110
+ };
111
+ /* End PBXProject section */
112
+
113
+ /* Begin PBXSourcesBuildPhase section */
114
+ A1000000000000000000000C /* Sources */ = {
115
+ isa = PBXSourcesBuildPhase;
116
+ buildActionMask = 2147483647;
117
+ files = (
118
+ A1000000000000000000000A /* RNFBHandleMap.m in Sources */,
119
+ A1000000000000000000000B /* RNFBHandleMapTests.m in Sources */,
120
+ );
121
+ runOnlyForDeploymentPostprocessing = 0;
122
+ };
123
+ /* End PBXSourcesBuildPhase section */
124
+
125
+ /* Begin XCBuildConfiguration section */
126
+ A1000000000000000000000E /* Debug */ = {
127
+ isa = XCBuildConfiguration;
128
+ buildSettings = {
129
+ ALWAYS_SEARCH_USER_PATHS = NO;
130
+ CLANG_ENABLE_MODULES = YES;
131
+ CLANG_ENABLE_OBJC_ARC = YES;
132
+ COPY_PHASE_STRIP = NO;
133
+ DEBUG_INFORMATION_FORMAT = dwarf;
134
+ ENABLE_TESTABILITY = YES;
135
+ GCC_C_LANGUAGE_STANDARD = gnu17;
136
+ GCC_DYNAMIC_NO_PIC = NO;
137
+ GCC_OPTIMIZATION_LEVEL = 0;
138
+ MACOSX_DEPLOYMENT_TARGET = 14.0;
139
+ ONLY_ACTIVE_ARCH = YES;
140
+ SDKROOT = macosx;
141
+ SUPPORTED_PLATFORMS = macosx;
142
+ };
143
+ name = Debug;
144
+ };
145
+ A1000000000000000000000F /* Release */ = {
146
+ isa = XCBuildConfiguration;
147
+ buildSettings = {
148
+ ALWAYS_SEARCH_USER_PATHS = NO;
149
+ CLANG_ENABLE_MODULES = YES;
150
+ CLANG_ENABLE_OBJC_ARC = YES;
151
+ COPY_PHASE_STRIP = YES;
152
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
153
+ GCC_C_LANGUAGE_STANDARD = gnu17;
154
+ MACOSX_DEPLOYMENT_TARGET = 14.0;
155
+ SDKROOT = macosx;
156
+ SUPPORTED_PLATFORMS = macosx;
157
+ };
158
+ name = Release;
159
+ };
160
+ A10000000000000000000010 /* Debug */ = {
161
+ isa = XCBuildConfiguration;
162
+ buildSettings = {
163
+ CLANG_ENABLE_CODE_COVERAGE = YES;
164
+ CODE_SIGNING_ALLOWED = NO;
165
+ CODE_SIGNING_REQUIRED = NO;
166
+ CODE_SIGN_IDENTITY = "-";
167
+ COMBINE_HIDPI_IMAGES = YES;
168
+ GENERATE_INFOPLIST_FILE = YES;
169
+ HEADER_SEARCH_PATHS = "$(SRCROOT)/../RNFBApp";
170
+ LD_RUNPATH_SEARCH_PATHS = (
171
+ "$(inherited)",
172
+ "@executable_path/../Frameworks",
173
+ "@loader_path/../Frameworks",
174
+ );
175
+ MACOSX_DEPLOYMENT_TARGET = 14.0;
176
+ OTHER_CFLAGS = (
177
+ "-fprofile-instr-generate",
178
+ "-fcoverage-mapping",
179
+ );
180
+ OTHER_LDFLAGS = (
181
+ "-fprofile-instr-generate",
182
+ );
183
+ PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAppUnitTests;
184
+ PRODUCT_NAME = "$(TARGET_NAME)";
185
+ SDKROOT = macosx;
186
+ SUPPORTED_PLATFORMS = macosx;
187
+ };
188
+ name = Debug;
189
+ };
190
+ A10000000000000000000011 /* Release */ = {
191
+ isa = XCBuildConfiguration;
192
+ buildSettings = {
193
+ CLANG_ENABLE_CODE_COVERAGE = YES;
194
+ CODE_SIGNING_ALLOWED = NO;
195
+ CODE_SIGNING_REQUIRED = NO;
196
+ CODE_SIGN_IDENTITY = "-";
197
+ COMBINE_HIDPI_IMAGES = YES;
198
+ GENERATE_INFOPLIST_FILE = YES;
199
+ HEADER_SEARCH_PATHS = "$(SRCROOT)/../RNFBApp";
200
+ LD_RUNPATH_SEARCH_PATHS = (
201
+ "$(inherited)",
202
+ "@executable_path/../Frameworks",
203
+ "@loader_path/../Frameworks",
204
+ );
205
+ MACOSX_DEPLOYMENT_TARGET = 14.0;
206
+ PRODUCT_BUNDLE_IDENTIFIER = io.invertase.firebase.RNFBAppUnitTests;
207
+ PRODUCT_NAME = "$(TARGET_NAME)";
208
+ SDKROOT = macosx;
209
+ SUPPORTED_PLATFORMS = macosx;
210
+ };
211
+ name = Release;
212
+ };
213
+ /* End XCBuildConfiguration section */
214
+
215
+ /* Begin XCConfigurationList section */
216
+ A10000000000000000000012 /* Build configuration list for PBXProject "RNFBAppUnitTests" */ = {
217
+ isa = XCConfigurationList;
218
+ buildConfigurations = (
219
+ A1000000000000000000000E /* Debug */,
220
+ A1000000000000000000000F /* Release */,
221
+ );
222
+ defaultConfigurationIsVisible = 0;
223
+ defaultConfigurationName = Debug;
224
+ };
225
+ A10000000000000000000013 /* Build configuration list for PBXNativeTarget "RNFBAppUnitTests" */ = {
226
+ isa = XCConfigurationList;
227
+ buildConfigurations = (
228
+ A10000000000000000000010 /* Debug */,
229
+ A10000000000000000000011 /* Release */,
230
+ );
231
+ defaultConfigurationIsVisible = 0;
232
+ defaultConfigurationName = Debug;
233
+ };
234
+ /* End XCConfigurationList section */
235
+ };
236
+ rootObject = A10000000000000000000001 /* Project object */;
237
+ }
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "2600"
4
+ version = "1.7">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "NO"
13
+ buildForArchiving = "NO"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "A10000000000000000000002"
18
+ BuildableName = "RNFBAppUnitTests.xctest"
19
+ BlueprintName = "RNFBAppUnitTests"
20
+ ReferencedContainer = "container:RNFBAppUnitTests.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES"
30
+ codeCoverageEnabled = "YES">
31
+ <Testables>
32
+ <TestableReference
33
+ skipped = "NO">
34
+ <BuildableReference
35
+ BuildableIdentifier = "primary"
36
+ BlueprintIdentifier = "A10000000000000000000002"
37
+ BuildableName = "RNFBAppUnitTests.xctest"
38
+ BlueprintName = "RNFBAppUnitTests"
39
+ ReferencedContainer = "container:RNFBAppUnitTests.xcodeproj">
40
+ </BuildableReference>
41
+ </TestableReference>
42
+ </Testables>
43
+ </TestAction>
44
+ <LaunchAction
45
+ buildConfiguration = "Debug"
46
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
47
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
48
+ launchStyle = "0"
49
+ useCustomWorkingDirectory = "NO"
50
+ ignoresPersistentStateOnLaunch = "NO"
51
+ debugDocumentVersioning = "YES"
52
+ debugServiceExtension = "internal"
53
+ allowLocationSimulation = "YES">
54
+ </LaunchAction>
55
+ <ProfileAction
56
+ buildConfiguration = "Release"
57
+ shouldUseLaunchSchemeArgsEnv = "YES"
58
+ savedToolIdentifier = ""
59
+ useCustomWorkingDirectory = "NO"
60
+ debugDocumentVersioning = "YES">
61
+ </ProfileAction>
62
+ <AnalyzeAction
63
+ buildConfiguration = "Debug">
64
+ </AnalyzeAction>
65
+ <ArchiveAction
66
+ buildConfiguration = "Release"
67
+ revealArchiveInOrganizer = "YES">
68
+ </ArchiveAction>
69
+ </Scheme>