diff --git a/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/1024x1024@1x.png b/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/1024x1024@1x.png
new file mode 100644
index 0000000..11a64cd
Binary files /dev/null and b/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/1024x1024@1x.png differ
diff --git a/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
index 13613e3..f451e10 100644
--- a/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/Apps/Locations/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,6 +1,7 @@
{
"images" : [
{
+ "filename" : "1024x1024@1x.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
diff --git a/Apps/Locations/Resources/Assets.xcassets/Launch/Contents.json b/Apps/Locations/Resources/Assets.xcassets/Launch/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Apps/Locations/Resources/Assets.xcassets/Launch/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchBackgroundColor.colorset/Contents.json b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchBackgroundColor.colorset/Contents.json
new file mode 100644
index 0000000..60650a6
--- /dev/null
+++ b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchBackgroundColor.colorset/Contents.json
@@ -0,0 +1,20 @@
+{
+ "colors" : [
+ {
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "255",
+ "green" : "255",
+ "red" : "255"
+ }
+ },
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/Contents.json b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/Contents.json
new file mode 100644
index 0000000..3b5c3d5
--- /dev/null
+++ b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "filename" : "location.fill.viewfinder.svg",
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "preserves-vector-representation" : true,
+ "template-rendering-intent" : "original"
+ }
+}
diff --git a/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/location.fill.viewfinder.svg b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/location.fill.viewfinder.svg
new file mode 100644
index 0000000..4288747
--- /dev/null
+++ b/Apps/Locations/Resources/Assets.xcassets/Launch/LaunchImage.imageset/location.fill.viewfinder.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/Apps/Locations/Resources/Base.lproj/LaunchScreen.storyboard b/Apps/Locations/Resources/Base.lproj/LaunchScreen.storyboard
index 865e932..9020016 100644
--- a/Apps/Locations/Resources/Base.lproj/LaunchScreen.storyboard
+++ b/Apps/Locations/Resources/Base.lproj/LaunchScreen.storyboard
@@ -1,7 +1,10 @@
-
-
+
+
+
-
+
+
+
@@ -11,15 +14,34 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
diff --git a/Apps/Locations/Resources/Base.lproj/Main.storyboard b/Apps/Locations/Resources/Base.lproj/Main.storyboard
deleted file mode 100644
index 25a7638..0000000
--- a/Apps/Locations/Resources/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Locations/Resources/Info.plist b/Apps/Locations/Resources/Info.plist
index dd3c9af..0eb786d 100644
--- a/Apps/Locations/Resources/Info.plist
+++ b/Apps/Locations/Resources/Info.plist
@@ -15,8 +15,6 @@
Default Configuration
UISceneDelegateClassName
$(PRODUCT_MODULE_NAME).SceneDelegate
- UISceneStoryboardFile
- Main
diff --git a/Apps/Locations/Sources/AppDelegate.swift b/Apps/Locations/Sources/AppDelegate.swift
index c144996..d3dc549 100644
--- a/Apps/Locations/Sources/AppDelegate.swift
+++ b/Apps/Locations/Sources/AppDelegate.swift
@@ -12,22 +12,30 @@ import CoreData
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
-
-
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+ func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
+ ) -> Bool {
// Override point for customization after application launch.
return true
}
// MARK: UISceneSession Lifecycle
- func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
+ func application(
+ _ application: UIApplication,
+ configurationForConnecting connectingSceneSession: UISceneSession,
+ options: UIScene.ConnectionOptions
+ ) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
- func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) {
+ func application(
+ _ application: UIApplication,
+ didDiscardSceneSessions sceneSessions: Set
+ ) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
diff --git a/Apps/Locations/Sources/SceneDelegate.swift b/Apps/Locations/Sources/SceneDelegate.swift
index d108611..b94fe63 100644
--- a/Apps/Locations/Sources/SceneDelegate.swift
+++ b/Apps/Locations/Sources/SceneDelegate.swift
@@ -9,48 +9,60 @@
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
-
+
var window: UIWindow?
-
-
- func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
+
+ func scene(
+ _ scene: UIScene,
+ willConnectTo session: UISceneSession,
+ options connectionOptions: UIScene.ConnectionOptions
+ ) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
- guard let _ = (scene as? UIWindowScene) else { return }
+ guard let windowScene = scene as? UIWindowScene else {
+ return
+ }
+
+ window = {
+ let window = UIWindow(windowScene: windowScene)
+
+ window.rootViewController = ViewController()
+ window.makeKeyAndVisible()
+
+ return window
+ }()
}
-
+
func sceneDidDisconnect(_ scene: UIScene) {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
// Release any resources associated with this scene that can be re-created the next time the scene connects.
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
}
-
+
func sceneDidBecomeActive(_ scene: UIScene) {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}
-
+
func sceneWillResignActive(_ scene: UIScene) {
// Called when the scene will move from an active state to an inactive state.
// This may occur due to temporary interruptions (ex. an incoming phone call).
}
-
+
func sceneWillEnterForeground(_ scene: UIScene) {
// Called as the scene transitions from the background to the foreground.
// Use this method to undo the changes made on entering the background.
}
-
+
func sceneDidEnterBackground(_ scene: UIScene) {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
-
+
// Save changes in the application's managed object context when the application transitions to the background.
(UIApplication.shared.delegate as? AppDelegate)?.saveContext()
}
-
-
+
}
-
diff --git a/Apps/Locations/Sources/ViewController.swift b/Apps/Locations/Sources/ViewController.swift
index ea2b4e7..8c3be97 100644
--- a/Apps/Locations/Sources/ViewController.swift
+++ b/Apps/Locations/Sources/ViewController.swift
@@ -12,9 +12,8 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
- // Do any additional setup after loading the view.
+
+ view.backgroundColor = .red
}
-
-
+
}
-
diff --git a/DeepLinking.xcodeproj/project.pbxproj b/DeepLinking.xcodeproj/project.pbxproj
index bcde49f..b324f86 100644
--- a/DeepLinking.xcodeproj/project.pbxproj
+++ b/DeepLinking.xcodeproj/project.pbxproj
@@ -10,7 +10,6 @@
46EB331B29E1CE04001D5EAF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EB331A29E1CE04001D5EAF /* AppDelegate.swift */; };
46EB331D29E1CE04001D5EAF /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EB331C29E1CE04001D5EAF /* SceneDelegate.swift */; };
46EB331F29E1CE04001D5EAF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EB331E29E1CE04001D5EAF /* ViewController.swift */; };
- 46EB332229E1CE04001D5EAF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 46EB332029E1CE04001D5EAF /* Main.storyboard */; };
46EB332529E1CE04001D5EAF /* Locations.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 46EB332329E1CE04001D5EAF /* Locations.xcdatamodeld */; };
46EB332729E1CE05001D5EAF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 46EB332629E1CE05001D5EAF /* Assets.xcassets */; };
46EB332A29E1CE05001D5EAF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 46EB332829E1CE05001D5EAF /* LaunchScreen.storyboard */; };
@@ -118,7 +117,6 @@
46EB331A29E1CE04001D5EAF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
46EB331C29E1CE04001D5EAF /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
46EB331E29E1CE04001D5EAF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- 46EB332129E1CE04001D5EAF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
46EB332429E1CE04001D5EAF /* Locations.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Locations.xcdatamodel; sourceTree = ""; };
46EB332629E1CE05001D5EAF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
46EB332929E1CE05001D5EAF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
@@ -215,7 +213,6 @@
children = (
46EB332629E1CE05001D5EAF /* Assets.xcassets */,
46EB332B29E1CE05001D5EAF /* Info.plist */,
- 46EB332029E1CE04001D5EAF /* Main.storyboard */,
46EB332829E1CE05001D5EAF /* LaunchScreen.storyboard */,
46EB332329E1CE04001D5EAF /* Locations.xcdatamodeld */,
);
@@ -403,7 +400,6 @@
files = (
46EB332A29E1CE05001D5EAF /* LaunchScreen.storyboard in Resources */,
46EB332729E1CE05001D5EAF /* Assets.xcassets in Resources */,
- 46EB332229E1CE04001D5EAF /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -424,14 +420,6 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
- 46EB332029E1CE04001D5EAF /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 46EB332129E1CE04001D5EAF /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
46EB332829E1CE05001D5EAF /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
@@ -461,6 +449,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
@@ -515,8 +504,7 @@
INFOPLIST_KEY_CFBundleDisplayName = Locations;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
- INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
@@ -528,7 +516,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.Locations";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.locations";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -548,6 +536,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
@@ -596,8 +585,7 @@
INFOPLIST_KEY_CFBundleDisplayName = Locations;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
- INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
@@ -608,7 +596,7 @@
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.Locations";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rock-n-code.app.locations";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";