Skip to content

Commit 5e1a60d

Browse files
updated the example code for SDK 9.9.0
1 parent 1cb7823 commit 5e1a60d

File tree

6 files changed

+443
-55
lines changed

6 files changed

+443
-55
lines changed

IntegrationExample.xcodeproj/project.pbxproj

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@
1313
110ED4D42869DC71001A2F51 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 110ED4D22869DC71001A2F51 /* LaunchScreen.storyboard */; };
1414
118BC1A8286B2FBB0050EF31 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 118BC1A7286B2FBB0050EF31 /* SceneDelegate.swift */; };
1515
118BC1AA286B30A70050EF31 /* BannerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 118BC1A9286B30A70050EF31 /* BannerDelegate.swift */; };
16+
2D79D1B3D098123FFFB87865 /* Pods_IntegrationExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42EEB58CA073102D90AB585B /* Pods_IntegrationExample.framework */; };
1617
3446E37A2C23D218007A91B2 /* GoogleMobileAds.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3446E3792C23D218007A91B2 /* GoogleMobileAds.xcframework */; };
1718
3446E37B2C23D218007A91B2 /* GoogleMobileAds.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3446E3792C23D218007A91B2 /* GoogleMobileAds.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1819
3446E37D2C23D21D007A91B2 /* UserMessagingPlatform.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3446E37C2C23D21D007A91B2 /* UserMessagingPlatform.xcframework */; };
1920
3446E37E2C23D21D007A91B2 /* UserMessagingPlatform.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3446E37C2C23D21D007A91B2 /* UserMessagingPlatform.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
20-
34ADC4082CABFC55007D913B /* Pods_IntegrationExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34ADC4072CABFC55007D913B /* Pods_IntegrationExample.framework */; };
21-
34ADC4092CABFC55007D913B /* Pods_IntegrationExample.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 34ADC4072CABFC55007D913B /* Pods_IntegrationExample.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
2221
/* End PBXBuildFile section */
2322

2423
/* Begin PBXCopyFilesBuildPhase section */
@@ -30,7 +29,6 @@
3029
files = (
3130
3446E37E2C23D21D007A91B2 /* UserMessagingPlatform.xcframework in Embed Frameworks */,
3231
3446E37B2C23D218007A91B2 /* GoogleMobileAds.xcframework in Embed Frameworks */,
33-
34ADC4092CABFC55007D913B /* Pods_IntegrationExample.framework in Embed Frameworks */,
3432
);
3533
name = "Embed Frameworks";
3634
runOnlyForDeploymentPostprocessing = 0;
@@ -48,9 +46,9 @@
4846
118BC1A9286B30A70050EF31 /* BannerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerDelegate.swift; sourceTree = "<group>"; };
4947
3446E3792C23D218007A91B2 /* GoogleMobileAds.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:EQHXZ8M8AV:Google LLC"; lastKnownFileType = wrapper.xcframework; name = GoogleMobileAds.xcframework; path = "Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework/GoogleMobileAds.xcframework"; sourceTree = "<group>"; };
5048
3446E37C2C23D21D007A91B2 /* UserMessagingPlatform.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:EQHXZ8M8AV:Google LLC"; lastKnownFileType = wrapper.xcframework; name = UserMessagingPlatform.xcframework; path = Pods/GoogleUserMessagingPlatform/Frameworks/Release/UserMessagingPlatform.xcframework; sourceTree = "<group>"; };
51-
34ADC4072CABFC55007D913B /* Pods_IntegrationExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Pods_IntegrationExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
52-
B9E92C6B87796A481FF9FC2D /* Pods-IntegrationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IntegrationExample.debug.xcconfig"; path = "Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample.debug.xcconfig"; sourceTree = "<group>"; };
53-
E0ADC1659FB90A253A7A458A /* Pods-IntegrationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IntegrationExample.release.xcconfig"; path = "Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample.release.xcconfig"; sourceTree = "<group>"; };
49+
42EEB58CA073102D90AB585B /* Pods_IntegrationExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IntegrationExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
50+
5AAFAAA7B4BE2C251C3643B6 /* Pods-IntegrationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IntegrationExample.debug.xcconfig"; path = "Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample.debug.xcconfig"; sourceTree = "<group>"; };
51+
F6227D4C3147BC38320530C1 /* Pods-IntegrationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IntegrationExample.release.xcconfig"; path = "Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample.release.xcconfig"; sourceTree = "<group>"; };
5452
/* End PBXFileReference section */
5553

5654
/* Begin PBXFrameworksBuildPhase section */
@@ -60,7 +58,7 @@
6058
files = (
6159
3446E37D2C23D21D007A91B2 /* UserMessagingPlatform.xcframework in Frameworks */,
6260
3446E37A2C23D218007A91B2 /* GoogleMobileAds.xcframework in Frameworks */,
63-
34ADC4082CABFC55007D913B /* Pods_IntegrationExample.framework in Frameworks */,
61+
2D79D1B3D098123FFFB87865 /* Pods_IntegrationExample.framework in Frameworks */,
6462
);
6563
runOnlyForDeploymentPostprocessing = 0;
6664
};
@@ -70,9 +68,9 @@
7068
110CCB1D2869EA7800183F99 /* Frameworks */ = {
7169
isa = PBXGroup;
7270
children = (
73-
34ADC4072CABFC55007D913B /* Pods_IntegrationExample.framework */,
7471
3446E37C2C23D21D007A91B2 /* UserMessagingPlatform.xcframework */,
7572
3446E3792C23D218007A91B2 /* GoogleMobileAds.xcframework */,
73+
42EEB58CA073102D90AB585B /* Pods_IntegrationExample.framework */,
7674
);
7775
name = Frameworks;
7876
sourceTree = "<group>";
@@ -112,8 +110,8 @@
112110
375D6924DF12EBBC237C9814 /* Pods */ = {
113111
isa = PBXGroup;
114112
children = (
115-
B9E92C6B87796A481FF9FC2D /* Pods-IntegrationExample.debug.xcconfig */,
116-
E0ADC1659FB90A253A7A458A /* Pods-IntegrationExample.release.xcconfig */,
113+
5AAFAAA7B4BE2C251C3643B6 /* Pods-IntegrationExample.debug.xcconfig */,
114+
F6227D4C3147BC38320530C1 /* Pods-IntegrationExample.release.xcconfig */,
117115
);
118116
path = Pods;
119117
sourceTree = "<group>";
@@ -125,13 +123,13 @@
125123
isa = PBXNativeTarget;
126124
buildConfigurationList = 110ED4D82869DC71001A2F51 /* Build configuration list for PBXNativeTarget "IntegrationExample" */;
127125
buildPhases = (
128-
06EEA7BF87D8844658EA609A /* [CP] Check Pods Manifest.lock */,
126+
A704A712AB0D7A7FF8233999 /* [CP] Check Pods Manifest.lock */,
129127
110ED4C02869DC6F001A2F51 /* Sources */,
130128
110ED4C12869DC6F001A2F51 /* Frameworks */,
131129
110ED4C22869DC6F001A2F51 /* Resources */,
132130
110CCB2A2869EA7800183F99 /* Embed Frameworks */,
133-
5D29A0A10484A56EB91906BB /* [CP] Embed Pods Frameworks */,
134-
DFC62E4037CCDA7F205E60D4 /* [CP] Copy Pods Resources */,
131+
6CC23C98CB23ED8E00DC86AA /* [CP] Embed Pods Frameworks */,
132+
819B01916102863F451B8C20 /* [CP] Copy Pods Resources */,
135133
);
136134
buildRules = (
137135
);
@@ -188,60 +186,60 @@
188186
/* End PBXResourcesBuildPhase section */
189187

190188
/* Begin PBXShellScriptBuildPhase section */
191-
06EEA7BF87D8844658EA609A /* [CP] Check Pods Manifest.lock */ = {
189+
6CC23C98CB23ED8E00DC86AA /* [CP] Embed Pods Frameworks */ = {
192190
isa = PBXShellScriptBuildPhase;
193191
buildActionMask = 2147483647;
194192
files = (
195193
);
196194
inputFileListPaths = (
195+
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
197196
);
198-
inputPaths = (
199-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
200-
"${PODS_ROOT}/Manifest.lock",
201-
);
202-
name = "[CP] Check Pods Manifest.lock";
197+
name = "[CP] Embed Pods Frameworks";
203198
outputFileListPaths = (
204-
);
205-
outputPaths = (
206-
"$(DERIVED_FILE_DIR)/Pods-IntegrationExample-checkManifestLockResult.txt",
199+
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
207200
);
208201
runOnlyForDeploymentPostprocessing = 0;
209202
shellPath = /bin/sh;
210-
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";
203+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks.sh\"\n";
211204
showEnvVarsInLog = 0;
212205
};
213-
5D29A0A10484A56EB91906BB /* [CP] Embed Pods Frameworks */ = {
206+
819B01916102863F451B8C20 /* [CP] Copy Pods Resources */ = {
214207
isa = PBXShellScriptBuildPhase;
215208
buildActionMask = 2147483647;
216209
files = (
217210
);
218211
inputFileListPaths = (
219-
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
212+
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources-${CONFIGURATION}-input-files.xcfilelist",
220213
);
221-
name = "[CP] Embed Pods Frameworks";
214+
name = "[CP] Copy Pods Resources";
222215
outputFileListPaths = (
223-
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
216+
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources-${CONFIGURATION}-output-files.xcfilelist",
224217
);
225218
runOnlyForDeploymentPostprocessing = 0;
226219
shellPath = /bin/sh;
227-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-frameworks.sh\"\n";
220+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources.sh\"\n";
228221
showEnvVarsInLog = 0;
229222
};
230-
DFC62E4037CCDA7F205E60D4 /* [CP] Copy Pods Resources */ = {
223+
A704A712AB0D7A7FF8233999 /* [CP] Check Pods Manifest.lock */ = {
231224
isa = PBXShellScriptBuildPhase;
232225
buildActionMask = 2147483647;
233226
files = (
234227
);
235228
inputFileListPaths = (
236-
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources-${CONFIGURATION}-input-files.xcfilelist",
237229
);
238-
name = "[CP] Copy Pods Resources";
230+
inputPaths = (
231+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
232+
"${PODS_ROOT}/Manifest.lock",
233+
);
234+
name = "[CP] Check Pods Manifest.lock";
239235
outputFileListPaths = (
240-
"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources-${CONFIGURATION}-output-files.xcfilelist",
236+
);
237+
outputPaths = (
238+
"$(DERIVED_FILE_DIR)/Pods-IntegrationExample-checkManifestLockResult.txt",
241239
);
242240
runOnlyForDeploymentPostprocessing = 0;
243241
shellPath = /bin/sh;
244-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IntegrationExample/Pods-IntegrationExample-resources.sh\"\n";
242+
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";
245243
showEnvVarsInLog = 0;
246244
};
247245
/* End PBXShellScriptBuildPhase section */
@@ -396,7 +394,7 @@
396394
};
397395
110ED4D92869DC71001A2F51 /* Debug */ = {
398396
isa = XCBuildConfiguration;
399-
baseConfigurationReference = B9E92C6B87796A481FF9FC2D /* Pods-IntegrationExample.debug.xcconfig */;
397+
baseConfigurationReference = 5AAFAAA7B4BE2C251C3643B6 /* Pods-IntegrationExample.debug.xcconfig */;
400398
buildSettings = {
401399
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
402400
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
@@ -416,7 +414,6 @@
416414
"@executable_path/Frameworks",
417415
);
418416
MARKETING_VERSION = 1.0;
419-
"OTHER_LDFLAGS[arch=*]" = "-ObjC";
420417
PRODUCT_BUNDLE_IDENTIFIER = cz.slabs.IntegrationExample;
421418
PRODUCT_NAME = "$(TARGET_NAME)";
422419
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -431,7 +428,7 @@
431428
};
432429
110ED4DA2869DC71001A2F51 /* Release */ = {
433430
isa = XCBuildConfiguration;
434-
baseConfigurationReference = E0ADC1659FB90A253A7A458A /* Pods-IntegrationExample.release.xcconfig */;
431+
baseConfigurationReference = F6227D4C3147BC38320530C1 /* Pods-IntegrationExample.release.xcconfig */;
435432
buildSettings = {
436433
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
437434
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
@@ -451,7 +448,6 @@
451448
"@executable_path/Frameworks",
452449
);
453450
MARKETING_VERSION = 1.0;
454-
"OTHER_LDFLAGS[arch=*]" = "-ObjC";
455451
PRODUCT_BUNDLE_IDENTIFIER = cz.slabs.IntegrationExample;
456452
PRODUCT_NAME = "$(TARGET_NAME)";
457453
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1540"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "110ED4C32869DC6F001A2F51"
19+
BuildableName = "IntegrationExample.app"
20+
BlueprintName = "IntegrationExample"
21+
ReferencedContainer = "container:IntegrationExample.xcodeproj">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
</TestAction>
33+
<LaunchAction
34+
buildConfiguration = "Debug"
35+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37+
launchStyle = "0"
38+
useCustomWorkingDirectory = "NO"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "110ED4C32869DC6F001A2F51"
48+
BuildableName = "IntegrationExample.app"
49+
BlueprintName = "IntegrationExample"
50+
ReferencedContainer = "container:IntegrationExample.xcodeproj">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "110ED4C32869DC6F001A2F51"
65+
BuildableName = "IntegrationExample.app"
66+
BlueprintName = "IntegrationExample"
67+
ReferencedContainer = "container:IntegrationExample.xcodeproj">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Release"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>

IntegrationExample/BannerDelegate.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ class BannerDelegate: NSObject, YLBannerViewDelegate {
4343
public func clearBanner()
4444
{
4545
adView?.removeFromSuperview();
46+
adView?.delegate = nil
47+
adView?.rootViewController = nil
4648
adView = nil
4749
}
4850

@@ -52,4 +54,5 @@ class BannerDelegate: NSObject, YLBannerViewDelegate {
5254
publishersRequest.contentURL = "http://jobs.stroeer-labs.com"
5355
return publishersRequest
5456
}
57+
5558
}

IntegrationExample/ViewController.swift

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,51 @@ class ViewController: UIViewController {
1111
Yieldlove.setup(appName: appName)
1212
// Yieldlove.instance.developerModeEnabled = true
1313
Yieldlove.instance.enableDebug(isEnabled: true)
14+
15+
// Gravite Plugin
16+
// Enable Gravite debug mode. This will write more log to check
17+
GraviteLoader.shared.enableDebugMode()
18+
// Enable test mode for Gravite with the specified bundle ID and test account ID
19+
// GraviteLoader.shared.enableTestMode(bundleId: "bundleID", accountId: 1234, forceToExecute: true)
20+
// Initialize the GraviteLoader
21+
GraviteLoader.shared.initialize() { success in
22+
if success {
23+
// Initialization succeeded
24+
// Add any setup or actions needed after a successful initialization
25+
} else {
26+
// Initialization failed
27+
// Handle the failure, such as logging an error or retrying initialization
28+
}
29+
}
30+
31+
// Confiant Plugin
32+
ConfiantLoader.shared.initialize(confiantPropertyId: "confiantpropertyID", enableReload: true) { success in
33+
if success {
34+
// Initialization succeeded - proceed with your setup
35+
} else {
36+
// Initialization failed - handle the failure appropriately
37+
}
38+
}
39+
1440
loadBanner()
1541
}
1642

43+
44+
// Gravite
45+
// This is only for Gravite.
46+
// If you don't use this, you don't need to add following codes
47+
override func viewDidAppear(_ animated: Bool) {
48+
super.viewDidAppear(animated) // Always call the superclass implementation first
49+
// Notify GraviteLoader that the view has appeared
50+
GraviteLoader.shared.viewDidAppear(viewController: self)
51+
}
52+
53+
override func viewWillDisappear(_ animated: Bool) {
54+
super.viewWillDisappear(animated) // Call the superclass implementation last
55+
// Notify GraviteLoader that the view is about to disappear
56+
GraviteLoader.shared.viewWillDisappear(viewController: self)
57+
}
58+
1759
override func viewDidDisappear(_ animated: Bool) {
1860
super.viewDidDisappear(animated)
1961
clearBanner()
@@ -30,4 +72,5 @@ class ViewController: UIViewController {
3072
self.bannerView?.clearBanner()
3173
self.bannerView = nil
3274
}
75+
3376
}

0 commit comments

Comments
 (0)