From 6bb4387b1ddbd6d0e60f85f1e363edb5eda32acd Mon Sep 17 00:00:00 2001 From: joseph Date: Thu, 5 Oct 2023 21:49:15 +0800 Subject: [PATCH 1/2] Make navigator support custom URLMatcher URLMatcher is a open class, but users just can not use their custom ones to replace origin one used in navigator. --- Sources/URLNavigator/Navigator.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sources/URLNavigator/Navigator.swift b/Sources/URLNavigator/Navigator.swift index a202eee..395e2f3 100644 --- a/Sources/URLNavigator/Navigator.swift +++ b/Sources/URLNavigator/Navigator.swift @@ -14,7 +14,7 @@ open class Navigator: NavigatorProtocol { // MARK: Properties - public let matcher = URLMatcher() + public let matcher: URLMatcher open weak var delegate: NavigatorDelegate? private var viewControllerFactories = [URLPattern: ViewControllerFactory]() @@ -23,8 +23,9 @@ open class Navigator: NavigatorProtocol { // MARK: Initializing - public init() { + public init(withMatcher matcher: URLMatcher = URLMatcher()) { // ⛵ I'm a Navigator! + self.matcher = matcher } From a894011580063fc77060ee502b877c1eabc147bd Mon Sep 17 00:00:00 2001 From: joseph Date: Thu, 5 Oct 2023 21:49:57 +0800 Subject: [PATCH 2/2] Remove build errors and warnings for Xcode 15 --- Example/Podfile | 2 +- Example/Podfile.lock | 8 ++--- .../project.pbxproj | 30 +++++++++++++------ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index b8f98d9..aadfa50 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,4 +1,4 @@ -platform :ios, '9.0' +platform :ios, '12.0' target 'URLNavigatorExample' do use_frameworks! diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 1f2fed7..3aa07d6 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - URLNavigator (2.2.0) + - URLNavigator (2.5.1) DEPENDENCIES: - URLNavigator (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - URLNavigator: 0bffc3efdeb2d97f7b5eec7ac82d290f4a099431 + URLNavigator: e9c0426ba6e6ac57f34d018bbf3df840797f984d -PODFILE CHECKSUM: 797c263b229fb2da6a9381964e439b9c78f774e2 +PODFILE CHECKSUM: c16541252e7407cd194d0a5a4ccf4634ef75be2b -COCOAPODS: 1.6.1 +COCOAPODS: 1.11.2 diff --git a/Example/URLNavigatorExample.xcodeproj/project.pbxproj b/Example/URLNavigatorExample.xcodeproj/project.pbxproj index f5b0ece..76a21b9 100644 --- a/Example/URLNavigatorExample.xcodeproj/project.pbxproj +++ b/Example/URLNavigatorExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -204,8 +204,9 @@ 03372A9B1FB24051009AE2BA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0910; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1500; ORGANIZATIONNAME = "Suyeol Jeon"; TargetAttributes = { 03372AA21FB24051009AE2BA = { @@ -341,6 +342,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -352,6 +354,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -366,7 +369,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -400,6 +403,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -411,6 +415,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -419,10 +424,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.1; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -434,8 +440,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = kr.xoul.URLNavigatorExample; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -450,8 +459,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = kr.xoul.URLNavigatorExample; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;