Skip to content

Commit 8ff3d7e

Browse files
authored
Merge pull request #1 from tryfoobar/swat/mobile-nudges
Feature: Nudges V1
2 parents e4d3a23 + 730a88f commit 8ff3d7e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+3949
-562
lines changed

CommandBarIOS.podspec

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = 'CommandBarIOS'
11-
s.version = '1.0.10'
11+
s.version = '1.1.0'
1212
s.summary = 'HelpHub and Copilot Command Bar for iOS. '
1313

1414
# This description is used to generate tags and improve search results.
@@ -22,17 +22,9 @@ Pod::Spec.new do |s|
2222
s.author = { 'CommandBar Engineering' => '[email protected]' }
2323
s.source = { :git => 'https://github.com/tryfoobar/CommandBarIOS.git', :tag => s.version.to_s }
2424

25-
s.ios.deployment_target = '12.4'
25+
s.ios.deployment_target = '13.0'
2626

2727
s.source_files = 'Sources/CommandBarIOS/**/*.swift'
28-
28+
s.resources = "Sources/CommandBarIOS/**/*.{png,jpeg,jpg,storyboard,xib,xcassets}"
2929
s.swift_versions = '5.0'
30-
31-
# s.resource_bundles = {
32-
# 'CommandBarIOS' => ['CommandBarIOS/Assets/*.png']
33-
# }
34-
35-
# s.public_header_files = 'Pod/Classes/**/*.h'
36-
# s.frameworks = 'UIKit', 'MapKit'
37-
# s.dependency 'AFNetworking', '~> 2.3'
3830
end

Example/CommandBarIOS.xcodeproj/project.pbxproj

Lines changed: 64 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,20 @@
88

99
/* Begin PBXBuildFile section */
1010
4843AA191A2DED0CA2F52040 /* Pods_CommandBarIOS_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07272DC8996BCC77417C4BC6 /* Pods_CommandBarIOS_Tests.framework */; };
11-
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
12-
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
13-
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
1411
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
15-
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
1612
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
1713
DA41BFB8BED6A51CE50A6D1A /* Pods_CommandBarIOS_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E6A6D4D4FA9BF47C33B8F1B /* Pods_CommandBarIOS_Example.framework */; };
14+
FF409B3D2B2F694500D2A3CD /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B3C2B2F694500D2A3CD /* HomeView.swift */; };
15+
FF409B3F2B2F69C900D2A3CD /* LogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B3E2B2F69C900D2A3CD /* LogoView.swift */; };
16+
FF409B412B2F6A7200D2A3CD /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */; };
17+
FF409B462B2F6BB400D2A3CD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
18+
FF409B482B2F717200D2A3CD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B472B2F717200D2A3CD /* Button.swift */; };
19+
FF409B4A2B2F76C900D2A3CD /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B492B2F76C900D2A3CD /* GradientView.swift */; };
20+
FF409B4C2B2F7B0800D2A3CD /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B4B2B2F7B0800D2A3CD /* Toast.swift */; };
21+
FF409B502B2FB49C00D2A3CD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */; };
22+
FF409B522B30995800D2A3CD /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B512B30995800D2A3CD /* Color.swift */; };
23+
FFB6A38B2B1BC93D0036D16F /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB6A38A2B1BC93D0036D16F /* App.swift */; };
24+
FFB6A38D2B1E27850036D16F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB6A38C2B1E27850036D16F /* AppDelegate.swift */; };
1825
/* End PBXBuildFile section */
1926

2027
/* Begin PBXContainerItemProxy section */
@@ -35,18 +42,24 @@
3542
4E6A6D4D4FA9BF47C33B8F1B /* Pods_CommandBarIOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CommandBarIOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3643
607FACD01AFB9204008FA782 /* CommandBarIOS_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CommandBarIOS_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
3744
607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
38-
607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
39-
607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
40-
607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
4145
607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
42-
607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
4346
607FACE51AFB9204008FA782 /* CommandBarIOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CommandBarIOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4447
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4548
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
4649
61A5743D5A822C83EA13BBBF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
4750
92163EE95FB1EE50D8179ED0 /* Pods-CommandBarIOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Tests.debug.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Tests/Pods-CommandBarIOS_Tests.debug.xcconfig"; sourceTree = "<group>"; };
4851
B070E6A9FC190A106848CE72 /* Pods-CommandBarIOS_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Example.release.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Example/Pods-CommandBarIOS_Example.release.xcconfig"; sourceTree = "<group>"; };
4952
F13A7F09F23D0ED81552C380 /* Pods-CommandBarIOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Tests.release.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Tests/Pods-CommandBarIOS_Tests.release.xcconfig"; sourceTree = "<group>"; };
53+
FF409B3C2B2F694500D2A3CD /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
54+
FF409B3E2B2F69C900D2A3CD /* LogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoView.swift; sourceTree = "<group>"; };
55+
FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
56+
FF409B472B2F717200D2A3CD /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = "<group>"; };
57+
FF409B492B2F76C900D2A3CD /* GradientView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = "<group>"; };
58+
FF409B4B2B2F7B0800D2A3CD /* Toast.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toast.swift; sourceTree = "<group>"; };
59+
FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
60+
FF409B512B30995800D2A3CD /* Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = "<group>"; };
61+
FFB6A38A2B1BC93D0036D16F /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; };
62+
FFB6A38C2B1E27850036D16F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
5063
/* End PBXFileReference section */
5164

5265
/* Begin PBXFrameworksBuildPhase section */
@@ -113,12 +126,13 @@
113126
607FACD21AFB9204008FA782 /* Example for CommandBarIOS */ = {
114127
isa = PBXGroup;
115128
children = (
116-
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
117-
607FACD71AFB9204008FA782 /* ViewController.swift */,
118-
607FACD91AFB9204008FA782 /* Main.storyboard */,
129+
FF409B452B2F6B0C00D2A3CD /* Views */,
130+
FFB6A38A2B1BC93D0036D16F /* App.swift */,
131+
FFB6A38C2B1E27850036D16F /* AppDelegate.swift */,
132+
FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */,
119133
607FACDC1AFB9204008FA782 /* Images.xcassets */,
120-
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
121134
607FACD31AFB9204008FA782 /* Supporting Files */,
135+
FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */,
122136
);
123137
name = "Example for CommandBarIOS";
124138
path = CommandBarIOS;
@@ -159,6 +173,19 @@
159173
name = "Podspec Metadata";
160174
sourceTree = "<group>";
161175
};
176+
FF409B452B2F6B0C00D2A3CD /* Views */ = {
177+
isa = PBXGroup;
178+
children = (
179+
FF409B3C2B2F694500D2A3CD /* HomeView.swift */,
180+
FF409B3E2B2F69C900D2A3CD /* LogoView.swift */,
181+
FF409B472B2F717200D2A3CD /* Button.swift */,
182+
FF409B492B2F76C900D2A3CD /* GradientView.swift */,
183+
FF409B4B2B2F7B0800D2A3CD /* Toast.swift */,
184+
FF409B512B30995800D2A3CD /* Color.swift */,
185+
);
186+
path = Views;
187+
sourceTree = "<group>";
188+
};
162189
/* End PBXGroup section */
163190

164191
/* Begin PBXNativeTarget section */
@@ -177,6 +204,8 @@
177204
dependencies = (
178205
);
179206
name = CommandBarIOS_Example;
207+
packageProductDependencies = (
208+
);
180209
productName = CommandBarIOS;
181210
productReference = 607FACD01AFB9204008FA782 /* CommandBarIOS_Example.app */;
182211
productType = "com.apple.product-type.application";
@@ -212,10 +241,12 @@
212241
TargetAttributes = {
213242
607FACCF1AFB9204008FA782 = {
214243
CreatedOnToolsVersion = 6.3.1;
244+
DevelopmentTeam = 7AFRVF8235;
215245
LastSwiftMigration = 0900;
216246
};
217247
607FACE41AFB9204008FA782 = {
218248
CreatedOnToolsVersion = 6.3.1;
249+
DevelopmentTeam = 7AFRVF8235;
219250
LastSwiftMigration = 0900;
220251
TestTargetID = 607FACCF1AFB9204008FA782;
221252
};
@@ -231,6 +262,8 @@
231262
Base,
232263
);
233264
mainGroup = 607FACC71AFB9204008FA782;
265+
packageReferences = (
266+
);
234267
productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
235268
projectDirPath = "";
236269
projectRoot = "";
@@ -246,16 +279,16 @@
246279
isa = PBXResourcesBuildPhase;
247280
buildActionMask = 2147483647;
248281
files = (
249-
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
250-
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
251282
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
283+
FF409B502B2FB49C00D2A3CD /* LaunchScreen.storyboard in Resources */,
252284
);
253285
runOnlyForDeploymentPostprocessing = 0;
254286
};
255287
607FACE31AFB9204008FA782 /* Resources */ = {
256288
isa = PBXResourcesBuildPhase;
257289
buildActionMask = 2147483647;
258290
files = (
291+
FF409B462B2F6BB400D2A3CD /* Images.xcassets in Resources */,
259292
);
260293
runOnlyForDeploymentPostprocessing = 0;
261294
};
@@ -331,8 +364,15 @@
331364
isa = PBXSourcesBuildPhase;
332365
buildActionMask = 2147483647;
333366
files = (
334-
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
335-
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
367+
FF409B482B2F717200D2A3CD /* Button.swift in Sources */,
368+
FF409B3F2B2F69C900D2A3CD /* LogoView.swift in Sources */,
369+
FFB6A38D2B1E27850036D16F /* AppDelegate.swift in Sources */,
370+
FF409B3D2B2F694500D2A3CD /* HomeView.swift in Sources */,
371+
FF409B4A2B2F76C900D2A3CD /* GradientView.swift in Sources */,
372+
FF409B4C2B2F7B0800D2A3CD /* Toast.swift in Sources */,
373+
FFB6A38B2B1BC93D0036D16F /* App.swift in Sources */,
374+
FF409B412B2F6A7200D2A3CD /* SceneDelegate.swift in Sources */,
375+
FF409B522B30995800D2A3CD /* Color.swift in Sources */,
336376
);
337377
runOnlyForDeploymentPostprocessing = 0;
338378
};
@@ -354,25 +394,6 @@
354394
};
355395
/* End PBXTargetDependency section */
356396

357-
/* Begin PBXVariantGroup section */
358-
607FACD91AFB9204008FA782 /* Main.storyboard */ = {
359-
isa = PBXVariantGroup;
360-
children = (
361-
607FACDA1AFB9204008FA782 /* Base */,
362-
);
363-
name = Main.storyboard;
364-
sourceTree = "<group>";
365-
};
366-
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
367-
isa = PBXVariantGroup;
368-
children = (
369-
607FACDF1AFB9204008FA782 /* Base */,
370-
);
371-
name = LaunchScreen.xib;
372-
sourceTree = "<group>";
373-
};
374-
/* End PBXVariantGroup section */
375-
376397
/* Begin XCBuildConfiguration section */
377398
607FACED1AFB9204008FA782 /* Debug */ = {
378399
isa = XCBuildConfiguration;
@@ -478,8 +499,9 @@
478499
baseConfigurationReference = 1716B1D54620EDFE703901A8 /* Pods-CommandBarIOS_Example.debug.xcconfig */;
479500
buildSettings = {
480501
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
502+
DEVELOPMENT_TEAM = 7AFRVF8235;
481503
INFOPLIST_FILE = CommandBarIOS/Info.plist;
482-
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
504+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
483505
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
484506
MODULE_NAME = ExampleApp;
485507
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
@@ -494,8 +516,9 @@
494516
baseConfigurationReference = B070E6A9FC190A106848CE72 /* Pods-CommandBarIOS_Example.release.xcconfig */;
495517
buildSettings = {
496518
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
519+
DEVELOPMENT_TEAM = 7AFRVF8235;
497520
INFOPLIST_FILE = CommandBarIOS/Info.plist;
498-
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
521+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
499522
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
500523
MODULE_NAME = ExampleApp;
501524
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
@@ -509,6 +532,7 @@
509532
isa = XCBuildConfiguration;
510533
baseConfigurationReference = 92163EE95FB1EE50D8179ED0 /* Pods-CommandBarIOS_Tests.debug.xcconfig */;
511534
buildSettings = {
535+
DEVELOPMENT_TEAM = 7AFRVF8235;
512536
FRAMEWORK_SEARCH_PATHS = (
513537
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
514538
"$(inherited)",
@@ -518,7 +542,7 @@
518542
"$(inherited)",
519543
);
520544
INFOPLIST_FILE = Tests/Info.plist;
521-
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
545+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
522546
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
523547
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
524548
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -532,12 +556,13 @@
532556
isa = XCBuildConfiguration;
533557
baseConfigurationReference = F13A7F09F23D0ED81552C380 /* Pods-CommandBarIOS_Tests.release.xcconfig */;
534558
buildSettings = {
559+
DEVELOPMENT_TEAM = 7AFRVF8235;
535560
FRAMEWORK_SEARCH_PATHS = (
536561
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
537562
"$(inherited)",
538563
);
539564
INFOPLIST_FILE = Tests/Info.plist;
540-
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
565+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
541566
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
542567
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
543568
PRODUCT_NAME = "$(TARGET_NAME)";

Example/CommandBarIOS/App.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import Foundation
2+
3+
import CommandBarIOS
4+
import SwiftUI
5+
6+
@available(iOS 14.0, *)
7+
struct CommandBarIOSExampleApp: App {
8+
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
9+
10+
var body: some Scene {
11+
WindowGroup {
12+
HomeView()
13+
}
14+
15+
}
16+
17+
}
18+
19+
@main
20+
struct CommandBarIOSExampleAppWrapper {
21+
static func main() {
22+
if #available(iOS 14.0, *) {
23+
CommandBarIOSExampleApp.main()
24+
} else {
25+
let argv = UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory(to: UnsafeMutablePointer<Int8>.self, capacity: Int(CommandLine.argc))
26+
UIApplicationMain(CommandLine.argc, argv, nil, NSStringFromClass(SceneDelegate.self))
27+
}
28+
}
29+
}

Example/CommandBarIOS/AppDelegate.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
12
import UIKit
23

3-
@UIApplicationMain
44
class AppDelegate: UIResponder, UIApplicationDelegate {
55

66
var window: UIWindow?
77

8-
98
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
10-
// Override point for customization after application launch.
119
return true
1210
}
1311

@@ -32,7 +30,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
3230
func applicationWillTerminate(_ application: UIApplication) {
3331
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
3432
}
35-
36-
3733
}
3834

0 commit comments

Comments
 (0)