From a0427054658ac0176debadd47a7de5c315b62452 Mon Sep 17 00:00:00 2001 From: Martin Rechsteiner Date: Sat, 17 Feb 2024 12:23:57 +0100 Subject: [PATCH 1/4] Set minimum deployment target to iOS 12 --- Package.swift | 2 +- Parchment.podspec.json | 2 +- Parchment.xcodeproj/project.pbxproj | 8 ++++---- README.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Package.swift b/Package.swift index 9fdd671f..92ba1cc4 100644 --- a/Package.swift +++ b/Package.swift @@ -3,7 +3,7 @@ import PackageDescription let package = Package( name: "Parchment", - platforms: [.iOS(.v11)], + platforms: [.iOS(.v12)], products: [ .library(name: "Parchment", targets: ["Parchment"]), ], diff --git a/Parchment.podspec.json b/Parchment.podspec.json index 2e0d0eb3..9607390f 100644 --- a/Parchment.podspec.json +++ b/Parchment.podspec.json @@ -14,7 +14,7 @@ "tag": "v3.2.1" }, "platforms": { - "ios": "11.0" + "ios": "12.0" }, "source_files": [ "Parchment/**/*.swift", diff --git a/Parchment.xcodeproj/project.pbxproj b/Parchment.xcodeproj/project.pbxproj index fcfb1bab..390652db 100644 --- a/Parchment.xcodeproj/project.pbxproj +++ b/Parchment.xcodeproj/project.pbxproj @@ -1260,7 +1260,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1314,7 +1314,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -1340,7 +1340,7 @@ FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = Parchment/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Parchment; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1364,7 +1364,7 @@ FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = Parchment/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Parchment; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/README.md b/README.md index 013d761c..a7038292 100644 --- a/README.md +++ b/README.md @@ -505,7 +505,7 @@ Parchment will be compatible with the lastest public release of Swift. ### Requirements -- iOS 11.0+ +- iOS 12.0+ - Xcode 14.0+ ### CocoaPods From 2d7278f27ab57ec3ce3420a556b5cafd67fadc1a Mon Sep 17 00:00:00 2001 From: Martin Rechsteiner Date: Sat, 17 Feb 2024 12:25:13 +0100 Subject: [PATCH 2/4] Enable user-script sandboxing in Xcode settings --- Parchment.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Parchment.xcodeproj/project.pbxproj b/Parchment.xcodeproj/project.pbxproj index 390652db..ab3df815 100644 --- a/Parchment.xcodeproj/project.pbxproj +++ b/Parchment.xcodeproj/project.pbxproj @@ -1246,6 +1246,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1306,6 +1307,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 = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; From 6acfd978156dc4b91e82c11ed25ae9c8c7681a6e Mon Sep 17 00:00:00 2001 From: Martin Rechsteiner Date: Sat, 17 Feb 2024 12:26:16 +0100 Subject: [PATCH 3/4] Update to latest Xcode recommended project settings --- Parchment.xcodeproj/project.pbxproj | 70 +++++++++++++++---- .../xcshareddata/xcschemes/Parchment.xcscheme | 2 +- 2 files changed, 58 insertions(+), 14 deletions(-) diff --git a/Parchment.xcodeproj/project.pbxproj b/Parchment.xcodeproj/project.pbxproj index ab3df815..4efb8fae 100644 --- a/Parchment.xcodeproj/project.pbxproj +++ b/Parchment.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -876,8 +876,9 @@ 3EA04A421C53BFE40054E5E0 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1130; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = "Martin Rechsteiner"; TargetAttributes = { 3E504EC31C7465B000AE1CE3 = { @@ -1191,7 +1192,11 @@ buildSettings = { FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = ParchmentTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ParchmentTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -1204,7 +1209,11 @@ buildSettings = { FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = ParchmentTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ParchmentTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -1319,7 +1328,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 3.0.1; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -1339,11 +1349,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = Parchment/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Parchment; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1363,11 +1380,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = Parchment/Resources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Parchment; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1384,7 +1408,10 @@ DEVELOPMENT_TEAM = G4TGN24VA2; INFOPLIST_FILE = Example/Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Example; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -1400,7 +1427,10 @@ DEVELOPMENT_TEAM = G4TGN24VA2; INFOPLIST_FILE = Example/Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.Example; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -1421,7 +1451,11 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ParchmentUITests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ParchmentUITests; @@ -1447,7 +1481,11 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ParchmentUITests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ParchmentUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1474,7 +1512,10 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ExampleSwiftUI/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ExampleSwiftUI; @@ -1502,7 +1543,10 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ExampleSwiftUI/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.martinrechsteiner.ExampleSwiftUI; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Parchment.xcodeproj/xcshareddata/xcschemes/Parchment.xcscheme b/Parchment.xcodeproj/xcshareddata/xcschemes/Parchment.xcscheme index 59dbc336..83bf59f7 100644 --- a/Parchment.xcodeproj/xcshareddata/xcschemes/Parchment.xcscheme +++ b/Parchment.xcodeproj/xcshareddata/xcschemes/Parchment.xcscheme @@ -1,6 +1,6 @@ Date: Sat, 17 Feb 2024 12:27:05 +0100 Subject: [PATCH 4/4] Add example schemes to xcshareddata --- .../xcshareddata/xcschemes/Example.xcscheme | 77 +++++++++++++++++++ .../xcschemes/ExampleSwiftUI.xcscheme | 77 +++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 Parchment.xcodeproj/xcshareddata/xcschemes/Example.xcscheme create mode 100644 Parchment.xcodeproj/xcshareddata/xcschemes/ExampleSwiftUI.xcscheme diff --git a/Parchment.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Parchment.xcodeproj/xcshareddata/xcschemes/Example.xcscheme new file mode 100644 index 00000000..d55f916b --- /dev/null +++ b/Parchment.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Parchment.xcodeproj/xcshareddata/xcschemes/ExampleSwiftUI.xcscheme b/Parchment.xcodeproj/xcshareddata/xcschemes/ExampleSwiftUI.xcscheme new file mode 100644 index 00000000..40869caa --- /dev/null +++ b/Parchment.xcodeproj/xcshareddata/xcschemes/ExampleSwiftUI.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +