Skip to content

Commit 5474891

Browse files
committed
(chore): Configure Mock GoogleService-Info.plist
1 parent 3d48642 commit 5474891

File tree

4 files changed

+266
-5
lines changed

4 files changed

+266
-5
lines changed

.github/workflows/build_test.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ jobs:
2828
run: |
2929
if [ "${{ matrix.os }}" == "iOS" ]; then
3030
xcodebuild -scheme ScribbleLab -configuration ${{ matrix.configuration }} \
31-
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" build | xcpretty | tee build.log
31+
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" \
32+
OTHER_SWIFT_FLAGS="-D CI_ENV" build | xcpretty | tee build.log
3233
else
3334
xcodebuild -scheme ScribbleLab -configuration ${{ matrix.configuration }} \
34-
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" build | xcpretty | tee build.log
35+
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" \
36+
OTHER_SWIFT_FLAGS="-D CI_ENV" build | xcpretty | tee build.log
3537
fi
3638
3739
echo "AUTOGENERATED BUILD.LOG VIA TEE:"
@@ -46,10 +48,12 @@ jobs:
4648
run: |
4749
if [ "${{ matrix.os }}" == "iOS" ]; then
4850
xcodebuild test -scheme ScribbleLab -configuration ${{ matrix.configuration }} \
49-
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" | xcpretty | tee test.log
51+
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" \
52+
OTHER_SWIFT_FLAGS="-D CI_ENV" | xcpretty | tee test.log
5053
else
5154
xcodebuild test -scheme ScribbleLab -configuration ${{ matrix.configuration }} \
52-
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" | xcpretty | tee test.log
55+
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGN_ENTITLEMENTS="" \
56+
OTHER_SWIFT_FLAGS="-D CI_ENV" | xcpretty | tee test.log
5357
fi
5458
5559
echo "AUTOGENERATED TEST.LOG VIA TEE:"

GoogleService-Info-Mock.plist

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<!-- THIS FILE REPRESENTS A MOCK GOOGLESERVICE-INFO.PLIST -->
4+
<!--
5+
Copyright (c) 2024 ScribbleLabApp LLC. All rights reserved
6+
7+
Redistribution and use in source and binary forms, with or without
8+
modification, are permitted provided that the following conditions are met:
9+
10+
1. Redistributions of source code must retain the above copyright notice, this
11+
list of conditions and the following disclaimer.
12+
13+
2. Redistributions in binary form must reproduce the above copyright notice,
14+
this list of conditions and the following disclaimer in the documentation
15+
and/or other materials provided with the distribution.
16+
17+
3. Neither the name of the copyright holder nor the names of its
18+
contributors may be used to endorse or promote products derived from
19+
this software without specific prior written permission.
20+
21+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
-->
32+
<!-- MOCK GOOGLESERVICE-INFO.PLIST [BEGIN] -->
33+
<plist version="1.0">
34+
<dict>
35+
<key>CLIENT_ID</key>
36+
<string></string>
37+
<key>REVERSED_CLIENT_ID</key>
38+
<string></string>
39+
<key>API_KEY</key>
40+
<string></string>
41+
<key>GCM_SENDER_ID</key>
42+
<string></string>
43+
<key>PLIST_VERSION</key>
44+
<string>1</string>
45+
<key>BUNDLE_ID</key>
46+
<string></string>
47+
<key>PROJECT_ID</key>
48+
<string></string>
49+
<key>STORAGE_BUCKET</key>
50+
<string></string>
51+
<key>IS_ADS_ENABLED</key>
52+
<false></false>
53+
<key>IS_ANALYTICS_ENABLED</key>
54+
<false></false>
55+
<key>IS_APPINVITE_ENABLED</key>
56+
<true></true>
57+
<key>IS_GCM_ENABLED</key>
58+
<true></true>
59+
<key>IS_SIGNIN_ENABLED</key>
60+
<true></true>
61+
<key>GOOGLE_APP_ID</key>
62+
<string></string>
63+
</dict>
64+
</plist>
65+
<!-- MOCK GOOGLESERVICE-INFO.PLIST [END] -->

ScribbleLab.xcodeproj/project.pbxproj

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
/* Begin PBXBuildFile section */
1010
3836ECE12CCC2AA800EBBD8B /* ScribbleFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = 3836ECE02CCC2AA800EBBD8B /* ScribbleFoundation */; };
11+
387BC5372CCE83F900B3D2A4 /* GoogleService-Info-Mock.plist in Resources */ = {isa = PBXBuildFile; fileRef = 387BC5362CCE83F900B3D2A4 /* GoogleService-Info-Mock.plist */; };
1112
388038792CCBE5C1002494B7 /* Beta.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 388038782CCBE5C1002494B7 /* Beta.xcconfig */; };
1213
3880387B2CCBE695002494B7 /* Alpha.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 3880387A2CCBE695002494B7 /* Alpha.xcconfig */; };
1314
3880387D2CCBE6DD002494B7 /* Stable.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 3880387C2CCBE6DD002494B7 /* Stable.xcconfig */; };
@@ -45,6 +46,7 @@
4546
/* End PBXContainerItemProxy section */
4647

4748
/* Begin PBXFileReference section */
49+
387BC5362CCE83F900B3D2A4 /* GoogleService-Info-Mock.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info-Mock.plist"; sourceTree = "<group>"; };
4850
388038782CCBE5C1002494B7 /* Beta.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Beta.xcconfig; sourceTree = "<group>"; };
4951
3880387A2CCBE695002494B7 /* Alpha.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Alpha.xcconfig; sourceTree = "<group>"; };
5052
3880387C2CCBE6DD002494B7 /* Stable.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Stable.xcconfig; sourceTree = "<group>"; };
@@ -156,6 +158,7 @@
156158
isa = PBXGroup;
157159
children = (
158160
388038B82CCBFDBE002494B7 /* PrivacyInfo.xcprivacy */,
161+
387BC5362CCE83F900B3D2A4 /* GoogleService-Info-Mock.plist */,
159162
388038A82CCBF74A002494B7 /* GoogleService-Info.plist */,
160163
3880388F2CCBEAAE002494B7 /* Utilities */,
161164
388038772CCBE59E002494B7 /* Configuration */,
@@ -315,6 +318,7 @@
315318
isa = PBXResourcesBuildPhase;
316319
buildActionMask = 2147483647;
317320
files = (
321+
387BC5372CCE83F900B3D2A4 /* GoogleService-Info-Mock.plist in Resources */,
318322
3880387F2CCBE76E002494B7 /* Development.xcconfig in Resources */,
319323
388038792CCBE5C1002494B7 /* Beta.xcconfig in Resources */,
320324
3880387B2CCBE695002494B7 /* Alpha.xcconfig in Resources */,
@@ -417,6 +421,160 @@
417421
/* End PBXTargetDependency section */
418422

419423
/* Begin XCBuildConfiguration section */
424+
387BC5382CCE892F00B3D2A4 /* CI_ENV */ = {
425+
isa = XCBuildConfiguration;
426+
baseConfigurationReference = 3880387E2CCBE76E002494B7 /* Development.xcconfig */;
427+
buildSettings = {
428+
ALWAYS_SEARCH_USER_PATHS = NO;
429+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
430+
CLANG_ANALYZER_NONNULL = YES;
431+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
432+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
433+
CLANG_ENABLE_MODULES = YES;
434+
CLANG_ENABLE_OBJC_ARC = YES;
435+
CLANG_ENABLE_OBJC_WEAK = YES;
436+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
437+
CLANG_WARN_BOOL_CONVERSION = YES;
438+
CLANG_WARN_COMMA = YES;
439+
CLANG_WARN_CONSTANT_CONVERSION = YES;
440+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
441+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
442+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
443+
CLANG_WARN_EMPTY_BODY = YES;
444+
CLANG_WARN_ENUM_CONVERSION = YES;
445+
CLANG_WARN_INFINITE_RECURSION = YES;
446+
CLANG_WARN_INT_CONVERSION = YES;
447+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
448+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
449+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
450+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
451+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
452+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
453+
CLANG_WARN_STRICT_PROTOTYPES = YES;
454+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
455+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
456+
CLANG_WARN_UNREACHABLE_CODE = YES;
457+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
458+
COPY_PHASE_STRIP = NO;
459+
DEBUG_INFORMATION_FORMAT = dwarf;
460+
ENABLE_STRICT_OBJC_MSGSEND = YES;
461+
ENABLE_TESTABILITY = YES;
462+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
463+
GCC_C_LANGUAGE_STANDARD = gnu17;
464+
GCC_DYNAMIC_NO_PIC = NO;
465+
GCC_NO_COMMON_BLOCKS = YES;
466+
GCC_OPTIMIZATION_LEVEL = 0;
467+
GCC_PREPROCESSOR_DEFINITIONS = (
468+
"$(inherited)",
469+
"CI_ENV=1",
470+
);
471+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
472+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
473+
GCC_WARN_UNDECLARED_SELECTOR = YES;
474+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
475+
GCC_WARN_UNUSED_FUNCTION = YES;
476+
GCC_WARN_UNUSED_VARIABLE = YES;
477+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
478+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
479+
MTL_FAST_MATH = YES;
480+
ONLY_ACTIVE_ARCH = YES;
481+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
482+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
483+
};
484+
name = CI_ENV;
485+
};
486+
387BC5392CCE892F00B3D2A4 /* CI_ENV */ = {
487+
isa = XCBuildConfiguration;
488+
baseConfigurationReference = 3880387E2CCBE76E002494B7 /* Development.xcconfig */;
489+
buildSettings = {
490+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
491+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
492+
CODE_SIGN_ENTITLEMENTS = ScribbleLab/ScribbleLab.entitlements;
493+
CODE_SIGN_STYLE = Automatic;
494+
CURRENT_PROJECT_VERSION = 1;
495+
DEVELOPMENT_ASSET_PATHS = "\"ScribbleLab/Preview Content\"";
496+
DEVELOPMENT_TEAM = W93RMB5CDG;
497+
ENABLE_HARDENED_RUNTIME = YES;
498+
ENABLE_PREVIEWS = YES;
499+
GENERATE_INFOPLIST_FILE = YES;
500+
INFOPLIST_FILE = ScribbleLab/Info.plist;
501+
INFOPLIST_KEY_CFBundleDisplayName = ScribbleLab;
502+
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
503+
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
504+
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
505+
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
506+
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
507+
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES;
508+
"INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES;
509+
INFOPLIST_KEY_UIStatusBarHidden = YES;
510+
INFOPLIST_KEY_UIStatusBarStyle = "";
511+
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault;
512+
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
513+
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
514+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
515+
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
516+
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
517+
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
518+
MACOSX_DEPLOYMENT_TARGET = 14.5;
519+
MARKETING_VERSION = "0.1-dev";
520+
PRODUCT_BUNDLE_IDENTIFIER = com.nhsystems.ScribbleLab;
521+
PRODUCT_NAME = "$(TARGET_NAME)";
522+
SDKROOT = auto;
523+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator";
524+
SWIFT_EMIT_LOC_STRINGS = YES;
525+
SWIFT_VERSION = 5.0;
526+
TARGETED_DEVICE_FAMILY = "1,2,7";
527+
XROS_DEPLOYMENT_TARGET = 2.0;
528+
};
529+
name = CI_ENV;
530+
};
531+
387BC53A2CCE892F00B3D2A4 /* CI_ENV */ = {
532+
isa = XCBuildConfiguration;
533+
baseConfigurationReference = 3880387E2CCBE76E002494B7 /* Development.xcconfig */;
534+
buildSettings = {
535+
BUNDLE_LOADER = "$(TEST_HOST)";
536+
CODE_SIGN_STYLE = Automatic;
537+
CURRENT_PROJECT_VERSION = 1;
538+
DEVELOPMENT_TEAM = W93RMB5CDG;
539+
GENERATE_INFOPLIST_FILE = YES;
540+
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
541+
MACOSX_DEPLOYMENT_TARGET = 14.5;
542+
MARKETING_VERSION = 1.0;
543+
PRODUCT_BUNDLE_IDENTIFIER = com.nhsystems.ScribbleLabTests;
544+
PRODUCT_NAME = "$(TARGET_NAME)";
545+
SDKROOT = auto;
546+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator";
547+
SWIFT_EMIT_LOC_STRINGS = NO;
548+
SWIFT_VERSION = 5.0;
549+
TARGETED_DEVICE_FAMILY = "1,2,7";
550+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ScribbleLab.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/ScribbleLab";
551+
XROS_DEPLOYMENT_TARGET = 2.0;
552+
};
553+
name = CI_ENV;
554+
};
555+
387BC53B2CCE892F00B3D2A4 /* CI_ENV */ = {
556+
isa = XCBuildConfiguration;
557+
baseConfigurationReference = 3880387E2CCBE76E002494B7 /* Development.xcconfig */;
558+
buildSettings = {
559+
CODE_SIGN_STYLE = Automatic;
560+
CURRENT_PROJECT_VERSION = 1;
561+
DEVELOPMENT_TEAM = W93RMB5CDG;
562+
GENERATE_INFOPLIST_FILE = YES;
563+
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
564+
MACOSX_DEPLOYMENT_TARGET = 14.5;
565+
MARKETING_VERSION = 1.0;
566+
PRODUCT_BUNDLE_IDENTIFIER = com.nhsystems.ScribbleLabUITests;
567+
PRODUCT_NAME = "$(TARGET_NAME)";
568+
SDKROOT = auto;
569+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator";
570+
SWIFT_EMIT_LOC_STRINGS = NO;
571+
SWIFT_VERSION = 5.0;
572+
TARGETED_DEVICE_FAMILY = "1,2,7";
573+
TEST_TARGET_NAME = ScribbleLab;
574+
XROS_DEPLOYMENT_TARGET = 2.0;
575+
};
576+
name = CI_ENV;
577+
};
420578
388038802CCBE829002494B7 /* Alpha */ = {
421579
isa = XCBuildConfiguration;
422580
baseConfigurationReference = 3880387A2CCBE695002494B7 /* Alpha.xcconfig */;
@@ -1032,6 +1190,7 @@
10321190
isa = XCConfigurationList;
10331191
buildConfigurations = (
10341192
388DC8272CCBE37200C80FF9 /* Debug */,
1193+
387BC5382CCE892F00B3D2A4 /* CI_ENV */,
10351194
388038802CCBE829002494B7 /* Alpha */,
10361195
388038842CCBE86D002494B7 /* Beta */,
10371196
388DC8282CCBE37200C80FF9 /* Release */,
@@ -1043,6 +1202,7 @@
10431202
isa = XCConfigurationList;
10441203
buildConfigurations = (
10451204
388DC82A2CCBE37200C80FF9 /* Debug */,
1205+
387BC5392CCE892F00B3D2A4 /* CI_ENV */,
10461206
388038812CCBE829002494B7 /* Alpha */,
10471207
388038852CCBE86D002494B7 /* Beta */,
10481208
388DC82B2CCBE37200C80FF9 /* Release */,
@@ -1054,6 +1214,7 @@
10541214
isa = XCConfigurationList;
10551215
buildConfigurations = (
10561216
388DC82D2CCBE37200C80FF9 /* Debug */,
1217+
387BC53A2CCE892F00B3D2A4 /* CI_ENV */,
10571218
388038822CCBE829002494B7 /* Alpha */,
10581219
388038862CCBE86D002494B7 /* Beta */,
10591220
388DC82E2CCBE37200C80FF9 /* Release */,
@@ -1065,6 +1226,7 @@
10651226
isa = XCConfigurationList;
10661227
buildConfigurations = (
10671228
388DC8302CCBE37200C80FF9 /* Debug */,
1229+
387BC53B2CCE892F00B3D2A4 /* CI_ENV */,
10681230
388038832CCBE829002494B7 /* Alpha */,
10691231
388038872CCBE86D002494B7 /* Beta */,
10701232
388DC8312CCBE37200C80FF9 /* Release */,

ScribbleLab/App/AppDelegate.swift

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,38 @@ class AppDelegate: NSObject, UIApplicationDelegate {
4242
_ application: UIApplication,
4343
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
4444
) -> Bool {
45-
FirebaseApp.configure()
4645

46+
// MARK: - GoogleService-Info.plist Selection
47+
let gPlistFilePath: String
48+
49+
#if CI_ENV
50+
guard let mockPlistPath = Bundle.main.path(
51+
forResource: "GoogleService-Info-Mock",
52+
ofType: "plist"
53+
) else {
54+
fatalError("CI Mock GoogleService-Info plist not found")
55+
}
56+
57+
gPlistFilePath = mockPlistPath
58+
#else
59+
guard let localPlistPath = Bundle.main.path(
60+
forResource: "GoogleService-Info",
61+
ofType: "plist"
62+
) else {
63+
fatalError("Local GoogleService-Info plist not found")
64+
}
65+
66+
gPlistFilePath = localPlistPath
67+
#endif
68+
69+
guard let opts_file = FirebaseOptions(contentsOfFile: gPlistFilePath) else {
70+
fatalError("Couldn't load options from file: \(gPlistFilePath)")
71+
}
72+
73+
// MARK: - Firebase Configuration
74+
FirebaseApp.configure(options: opts_file)
75+
76+
// MARK: - User Notification Configuration
4777
application.registerForRemoteNotifications()
4878

4979
return true

0 commit comments

Comments
 (0)