diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index ccfb6efd..00000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -ruby-2.7.0 diff --git a/.ruby-version_old b/.ruby-version_old new file mode 100644 index 00000000..f6ab44e9 --- /dev/null +++ b/.ruby-version_old @@ -0,0 +1 @@ +ruby-2.6.6 diff --git a/.travis.yml b/.travis.yml index 3b54ea89..509c32e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode11.5 +osx_image: xcode12.5 cache: - bundler diff --git a/Example/PinLayoutSample.xcodeproj/project.pbxproj b/Example/PinLayoutSample.xcodeproj/project.pbxproj index 0c1e833b..fb1e2096 100644 --- a/Example/PinLayoutSample.xcodeproj/project.pbxproj +++ b/Example/PinLayoutSample.xcodeproj/project.pbxproj @@ -41,6 +41,7 @@ 24F246141FA8D57100B6332E /* UIImageView+Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24F246131FA8D57100B6332E /* UIImageView+Download.swift */; }; 24F75B5B1EE5644E008DB567 /* IntroView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24F75B591EE5644E008DB567 /* IntroView.swift */; }; 24F75B5C1EE5644E008DB567 /* IntroViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24F75B5A1EE5644E008DB567 /* IntroViewController.swift */; }; + B30A278A4301304C7DD08E37 /* Pods_PinLayoutSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 641BBAE7F09807BD466749F3 /* Pods_PinLayoutSample.framework */; }; C892FA1924A5821E0086A75E /* AutoSizingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C892FA1824A5821E0086A75E /* AutoSizingViewController.swift */; }; C892FA1B24A5822B0086A75E /* AutoSizingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C892FA1A24A5822B0086A75E /* AutoSizingView.swift */; }; C892FA1D24A584010086A75E /* ContentService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C892FA1C24A584010086A75E /* ContentService.swift */; }; @@ -151,6 +152,7 @@ 24F246131FA8D57100B6332E /* UIImageView+Download.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImageView+Download.swift"; sourceTree = ""; }; 24F75B591EE5644E008DB567 /* IntroView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntroView.swift; sourceTree = ""; }; 24F75B5A1EE5644E008DB567 /* IntroViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntroViewController.swift; sourceTree = ""; }; + 641BBAE7F09807BD466749F3 /* Pods_PinLayoutSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PinLayoutSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A35A00E6536E49A548E763E6 /* Pods-PinLayoutSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PinLayoutSample.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-PinLayoutSample/Pods-PinLayoutSample.debug.xcconfig"; sourceTree = ""; }; C589624E868FCB20F7C10918 /* Pods-PinLayoutSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PinLayoutSample.release.xcconfig"; path = "../Pods/Target Support Files/Pods-PinLayoutSample/Pods-PinLayoutSample.release.xcconfig"; sourceTree = ""; }; C892FA1824A5821E0086A75E /* AutoSizingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoSizingViewController.swift; sourceTree = ""; }; @@ -181,6 +183,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B30A278A4301304C7DD08E37 /* Pods_PinLayoutSample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -191,6 +194,7 @@ isa = PBXGroup; children = ( 246812FC1F8D013500462E53 /* NotificationCenter.framework */, + 641BBAE7F09807BD466749F3 /* Pods_PinLayoutSample.framework */, ); name = Frameworks; sourceTree = ""; @@ -524,7 +528,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 1030; + LastUpgradeCheck = 1220; ORGANIZATIONNAME = layoutbox; TargetAttributes = { 249EFE3E1E64FAFE00165E39 = { @@ -769,6 +773,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; @@ -793,12 +798,13 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -828,6 +834,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; @@ -846,10 +853,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -870,6 +878,7 @@ SWIFT_OBJC_BRIDGING_HEADER = "PinLayoutSample/UI/Examples/PinLayoutSample-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; }; @@ -887,6 +896,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PinLayoutSample/UI/Examples/PinLayoutSample-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Release; }; diff --git a/Example/PinLayoutSample.xcodeproj/xcshareddata/xcschemes/PinLayoutSample.xcscheme b/Example/PinLayoutSample.xcodeproj/xcshareddata/xcschemes/PinLayoutSample.xcscheme index 70952eac..d2eed2f5 100644 --- a/Example/PinLayoutSample.xcodeproj/xcshareddata/xcschemes/PinLayoutSample.xcscheme +++ b/Example/PinLayoutSample.xcodeproj/xcshareddata/xcschemes/PinLayoutSample.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - "luc_dion@yahoo.com" } spec.source = { :git => "https://github.com/layoutBox/PinLayout.git", :tag => "#{spec.version}" } spec.source_files = "Sources/**/*.swift" - spec.swift_versions = ['4.2', '5.0'] + spec.swift_versions = ['4.2', '5.0', '5.1', '5.2', '5.3'] - spec.ios.deployment_target = '8.0' + spec.ios.deployment_target = '9.0' spec.ios.frameworks = 'Foundation', 'CoreGraphics', 'UIKit' spec.tvos.deployment_target = '9.0' spec.tvos.frameworks = 'Foundation', 'CoreGraphics', 'UIKit' - spec.osx.deployment_target = '10.10' + spec.osx.deployment_target = '10.11' spec.osx.frameworks = 'Foundation', 'CoreGraphics', 'AppKit' end diff --git a/PinLayout.xcodeproj/project.pbxproj b/PinLayout.xcodeproj/project.pbxproj index e39652e1..2aee0507 100644 --- a/PinLayout.xcodeproj/project.pbxproj +++ b/PinLayout.xcodeproj/project.pbxproj @@ -647,7 +647,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 1030; + LastUpgradeCheck = 1220; ORGANIZATIONNAME = mcswiftlayyout.mirego.com; TargetAttributes = { 244DF2F71EF46C500090508B = { @@ -1096,7 +1096,7 @@ SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Debug; }; @@ -1119,7 +1119,7 @@ SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Release; }; @@ -1148,6 +1148,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; @@ -1173,7 +1174,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -1183,7 +1184,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1214,6 +1215,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; @@ -1233,7 +1235,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; @@ -1241,7 +1243,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1387,7 +1389,7 @@ INFOPLIST_FILE = Sources/SupportingFiles/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.PinLayout-macOS"; PRODUCT_NAME = PinLayout; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1419,7 +1421,7 @@ INFOPLIST_FILE = Sources/SupportingFiles/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.PinLayout-macOS"; PRODUCT_NAME = PinLayout; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1449,7 +1451,7 @@ SDKROOT = appletvos; SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.3; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Debug; }; @@ -1473,7 +1475,7 @@ SDKROOT = appletvos; SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.3; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Release; }; diff --git a/PinLayout.xcodeproj/xcshareddata/xcschemes/PinLayout-iOS.xcscheme b/PinLayout.xcodeproj/xcshareddata/xcschemes/PinLayout-iOS.xcscheme index cfdd9efd..84fc7167 100644 --- a/PinLayout.xcodeproj/xcshareddata/xcschemes/PinLayout-iOS.xcscheme +++ b/PinLayout.xcodeproj/xcshareddata/xcschemes/PinLayout-iOS.xcscheme @@ -1,6 +1,6 @@ + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + - - - - - - - - - - - - - - - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - './' diff --git a/Podfile.lock b/Podfile.lock index 32a1f5c6..faf5e2f1 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,8 +1,8 @@ PODS: - - Nimble (8.0.2) - - PinLayout (1.8.13) - - Quick (2.1.0) - - SwiftLint (0.35.0) + - Nimble (9.2.0) + - PinLayout (1.9.3) + - Quick (4.0.0) + - SwiftLint (0.43.1) DEPENDENCIES: - Nimble @@ -11,7 +11,7 @@ DEPENDENCIES: - SwiftLint SPEC REPOS: - https://github.com/cocoapods/specs.git: + https://cdn.cocoapods.org/: - Nimble - Quick - SwiftLint @@ -21,11 +21,11 @@ EXTERNAL SOURCES: :path: "./" SPEC CHECKSUMS: - Nimble: 622629381bda1dd5678162f21f1368cec7cbba60 - PinLayout: e41a50260a76508b7a7fcee8955c76639adc69bc - Quick: 4be43f6634acfa727dd106bdf3929ce125ffa79d - SwiftLint: 5553187048b900c91aa03552807681bb6b027846 + Nimble: 4f4a345c80b503b3ea13606a4f98405974ee4d0b + PinLayout: 45d8413afa778da892f6c2d4f898fb8de88c8e29 + Quick: 6473349e43b9271a8d43839d9ba1c442ed1b7ac4 + SwiftLint: 99f82d07b837b942dd563c668de129a03fc3fb52 -PODFILE CHECKSUM: 9b1d14a0f41ae1e8ebc931fa3d033da6c545223e +PODFILE CHECKSUM: 0e4023ca11a146f618714ee6235a6f3a757959e4 COCOAPODS: 1.7.5 diff --git a/Sources/Impl/PinSafeArea.swift b/Sources/Impl/PinSafeArea.swift index 1679a38d..68c58912 100644 --- a/Sources/Impl/PinSafeArea.swift +++ b/Sources/Impl/PinSafeArea.swift @@ -58,14 +58,7 @@ internal class PinSafeArea { // noop on iOS 11, `UIView.safeAreaInsetsDidChange` is natively supported } else { guard currentSafeAreaInsetsDidChangeMode == nil else { return } - if #available(iOS 9.0, tvOS 9.0, *) { - PinSafeArea.safeAreaInsetsDidChangeMode = .always - } else { - // Due to an issue with the keyboard on iOS 8, we don't activate - // the support of `UIView.safeAreaInsetsDidChange` on iOS 8. The developper can still - // activate it using `Pin.enableSafeArea(true)` - PinSafeArea.safeAreaInsetsDidChangeMode = .disable - } + PinSafeArea.safeAreaInsetsDidChangeMode = .always } } @@ -163,8 +156,15 @@ struct PinLayoutSwizzling { if #available(iOS 11.0, tvOS 11.0, *) { assertionFailure() } if let view = viewController.view { - let safeAreaInsets = UIEdgeInsets(top: viewController.topLayoutGuide.length, left: 0, + let safeAreaInsets: UIEdgeInsets + + if #available(iOS 11.0, tvOS 11.0, *) { + safeAreaInsets = UIEdgeInsets(top: viewController.view.safeAreaInsets.top, left: 0, + bottom: viewController.view.safeAreaInsets.bottom, right: 0) + } else { + safeAreaInsets = UIEdgeInsets(top: viewController.topLayoutGuide.length, left: 0, bottom: viewController.bottomLayoutGuide.length, right: 0) + } // Set children safeArea up to 3 level, to limit the performance issue of computing this compatibilitySafeAreaInsets PinSafeArea.setViewSafeAreaInsets(view: view, insets: safeAreaInsets, recursiveLevel: 3) @@ -201,8 +201,13 @@ extension UIView { // UIViewController.viewWillLayoutSubviews hasn't been swizzled, we can return an insets // only if the view is a UIViewController's view. if let viewController = self.next as? UIViewController { - return UIEdgeInsets(top: viewController.topLayoutGuide.length, left: 0, - bottom: viewController.bottomLayoutGuide.length, right: 0) + if #available(iOS 11.0, tvOS 11.0, *) { + return UIEdgeInsets(top: viewController.view.safeAreaInsets.top, left: 0, + bottom: viewController.view.safeAreaInsets.bottom, right: 0) + } else { + return UIEdgeInsets(top: viewController.topLayoutGuide.length, left: 0, + bottom: viewController.bottomLayoutGuide.length, right: 0) + } } else { return .zero } diff --git a/TestProjects/carthage/ios/PinLayout-Carthage-iOS.xcodeproj/project.pbxproj b/TestProjects/carthage/ios/PinLayout-Carthage-iOS.xcodeproj/project.pbxproj index ae373767..3ec5baf4 100644 --- a/TestProjects/carthage/ios/PinLayout-Carthage-iOS.xcodeproj/project.pbxproj +++ b/TestProjects/carthage/ios/PinLayout-Carthage-iOS.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -13,8 +13,8 @@ 24C873041EE2D113007BFE47 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 24C873021EE2D113007BFE47 /* Main.storyboard */; }; 24C873061EE2D113007BFE47 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 24C873051EE2D113007BFE47 /* Assets.xcassets */; }; 24C873091EE2D113007BFE47 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 24C873071EE2D113007BFE47 /* LaunchScreen.storyboard */; }; - DF98DA62208B566100C86E2D /* PinLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF98DA60208B565400C86E2D /* PinLayout.framework */; }; - DF98DA63208B566100C86E2D /* PinLayout.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = DF98DA60208B565400C86E2D /* PinLayout.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + DFEB52C326514E1A00E952CE /* PinLayout.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFEB52C226514E1A00E952CE /* PinLayout.xcframework */; }; + DFEB52C426514E1A00E952CE /* PinLayout.xcframework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = DFEB52C226514E1A00E952CE /* PinLayout.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -24,7 +24,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - DF98DA63208B566100C86E2D /* PinLayout.framework in Copy Frameworks */, + DFEB52C426514E1A00E952CE /* PinLayout.xcframework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -42,6 +42,7 @@ 24C873081EE2D113007BFE47 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 24C8730A1EE2D113007BFE47 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; DF98DA60208B565400C86E2D /* PinLayout.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PinLayout.framework; path = Carthage/Build/iOS/PinLayout.framework; sourceTree = SOURCE_ROOT; }; + DFEB52C226514E1A00E952CE /* PinLayout.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PinLayout.xcframework; path = Carthage/Build/PinLayout.xcframework; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,7 +50,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DF98DA62208B566100C86E2D /* PinLayout.framework in Frameworks */, + DFEB52C326514E1A00E952CE /* PinLayout.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -91,6 +92,7 @@ DF98DA59208B538700C86E2D /* Frameworks */ = { isa = PBXGroup; children = ( + DFEB52C226514E1A00E952CE /* PinLayout.xcframework */, DF98DA60208B565400C86E2D /* PinLayout.framework */, ); path = Frameworks; @@ -249,7 +251,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -305,10 +307,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -320,13 +323,16 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = X2BTQWMK8M; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "PinLayout-Carthage-iOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.project.PinLayout-Carthage-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PinLayout-Carthage-iOS/PinLayout-Carthage-iOS-Bridging-Header.h"; @@ -340,13 +346,16 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = X2BTQWMK8M; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "PinLayout-Carthage-iOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.project.PinLayout-Carthage-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PinLayout-Carthage-iOS/PinLayout-Carthage-iOS-Bridging-Header.h"; diff --git a/TestProjects/carthage/ios/PinLayout-Carthage-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/TestProjects/carthage/ios/PinLayout-Carthage-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json index 36d2c80d..9221b9bb 100644 --- a/TestProjects/carthage/ios/PinLayout-Carthage-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/TestProjects/carthage/ios/PinLayout-Carthage-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -2,67 +2,97 @@ "images" : [ { "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" }, { "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" + "scale" : "1x", + "size" : "29x29" }, { "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" + "scale" : "1x", + "size" : "40x40" }, { "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/TestProjects/cocoapods/ios/Podfile b/TestProjects/cocoapods/ios/Podfile index 5b5e461f..7a232315 100644 --- a/TestProjects/cocoapods/ios/Podfile +++ b/TestProjects/cocoapods/ios/Podfile @@ -1,5 +1,5 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '9.0' use_frameworks! diff --git a/TestProjects/cocoapods/ios/Podfile.lock b/TestProjects/cocoapods/ios/Podfile.lock index 6103424f..993c09c1 100644 --- a/TestProjects/cocoapods/ios/Podfile.lock +++ b/TestProjects/cocoapods/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - PinLayout (1.8.9) + - PinLayout (1.9.3) - SwifterSwift (5.0.0): - SwifterSwift/AppKit (= 5.0.0) - SwifterSwift/CoreGraphics (= 5.0.0) @@ -33,9 +33,9 @@ EXTERNAL SOURCES: :path: "../../.." SPEC CHECKSUMS: - PinLayout: f7237c104696f409470947fee3ac82e239cac367 + PinLayout: 45d8413afa778da892f6c2d4f898fb8de88c8e29 SwifterSwift: 96f90594b370802f01647c2b1229c74a84ffafee -PODFILE CHECKSUM: 0a7937525b5b2e43e75becef489afdd364e0e4ff +PODFILE CHECKSUM: c982140b0cd5bfe70429dbe53e838e301e7b0022 COCOAPODS: 1.7.5 diff --git a/TestProjects/cocoapods/macos/PinLayout-macOS.xcodeproj/project.pbxproj b/TestProjects/cocoapods/macos/PinLayout-macOS.xcodeproj/project.pbxproj index 6e469ce1..1da32412 100644 --- a/TestProjects/cocoapods/macos/PinLayout-macOS.xcodeproj/project.pbxproj +++ b/TestProjects/cocoapods/macos/PinLayout-macOS.xcodeproj/project.pbxproj @@ -258,7 +258,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -312,7 +312,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -330,7 +330,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = "PinLayout-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.project.PinLayout-macOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PinLayout-macOS/PinLayout-macOS-Bridging-Header.h"; @@ -349,7 +349,7 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = "PinLayout-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 11.0; PRODUCT_BUNDLE_IDENTIFIER = "com.layoutbox.project.PinLayout-macOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "PinLayout-macOS/PinLayout-macOS-Bridging-Header.h"; diff --git a/TestProjects/cocoapods/macos/Podfile.lock b/TestProjects/cocoapods/macos/Podfile.lock index 0998f982..f503df74 100644 --- a/TestProjects/cocoapods/macos/Podfile.lock +++ b/TestProjects/cocoapods/macos/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - PinLayout (1.8.9) + - PinLayout (1.9.3) DEPENDENCIES: - PinLayout (from `../../..`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../../.." SPEC CHECKSUMS: - PinLayout: f7237c104696f409470947fee3ac82e239cac367 + PinLayout: 45d8413afa778da892f6c2d4f898fb8de88c8e29 PODFILE CHECKSUM: e4d7a00501eec9097d00e6c5397befb6e16ccaec diff --git a/TestProjects/cocoapods/tvos/Podfile.lock b/TestProjects/cocoapods/tvos/Podfile.lock index f7610300..e84f299b 100644 --- a/TestProjects/cocoapods/tvos/Podfile.lock +++ b/TestProjects/cocoapods/tvos/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - PinLayout (1.9.1) + - PinLayout (1.9.3) DEPENDENCIES: - PinLayout (from `../../..`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../../.." SPEC CHECKSUMS: - PinLayout: 971dd075938150aee314753269751e0f76dbb851 + PinLayout: 45d8413afa778da892f6c2d4f898fb8de88c8e29 PODFILE CHECKSUM: 8c63011727a286dcaaff051ed3b2eedd5363f244 diff --git a/build-ci.sh b/build-ci.sh index 8756e671..3ed71eb5 100755 --- a/build-ci.sh +++ b/build-ci.sh @@ -8,30 +8,35 @@ echo "===============================" && echo "PinLayout-iOS" && echo "===============================" && time xcodebuild build -project PinLayout.xcodeproj -scheme PinLayout-iOS \ - -derivedDataPath $DERIVED_DATA -sdk iphonesimulator13.5 \ - -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ | xcpretty && echo "===============================" && echo "PinLayout-tvOS" && echo "===============================" && time xcodebuild build -project PinLayout.xcodeproj -scheme PinLayout-tvOS \ - -derivedDataPath $DERIVED_DATA -sdk appletvsimulator13.4 \ - -destination 'platform=tvOS Simulator,name=Apple TV 4K,OS=13.4' \ + -derivedDataPath $DERIVED_DATA -sdk appletvsimulator14.5 \ + -destination 'platform=tvOS Simulator,name=Apple TV 4K (2nd generation),OS=14.5' \ | xcpretty && echo "===============================" && echo "PinLayout-macOS" && echo "===============================" && time xcodebuild build -project PinLayout.xcodeproj -scheme PinLayout-macOS \ - -derivedDataPath $DERIVED_DATA -sdk macosx10.15 \ + -derivedDataPath $DERIVED_DATA -sdk macosx11.3 \ | xcpretty && echo "===============================" && echo "PinLayoutSample" && echo "===============================" && time xcodebuild build -workspace PinLayout.xcworkspace -scheme PinLayoutSample \ - -derivedDataPath $DERIVED_DATA -sdk iphonesimulator13.5 \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ + | xcpretty && + +time xcodebuild build -workspace PinLayout.xcworkspace -scheme PinLayoutSample \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ -destination 'platform=iOS Simulator,name=iPhone 7,OS=11.4' \ | xcpretty && @@ -39,38 +44,34 @@ echo "===============================" && echo "iOS unit test" && echo "===============================" && time xcodebuild build test -workspace PinLayout.xcworkspace -scheme PinLayout-iOS \ - -derivedDataPath $DERIVED_DATA -sdk iphonesimulator13.5 \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ -destination 'platform=iOS Simulator,name=iPhone 7,OS=11.4' \ | xcpretty && time xcodebuild build test -workspace PinLayout.xcworkspace -scheme PinLayout-iOS \ - -derivedDataPath $DERIVED_DATA -sdk iphonesimulator13.5 \ - -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ | xcpretty && time xcodebuild build test -workspace PinLayout.xcworkspace -scheme PinLayout-iOS \ - -derivedDataPath $DERIVED_DATA -sdk iphonesimulator13.5 \ - -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ + -derivedDataPath $DERIVED_DATA -sdk iphonesimulator14.5 \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ | xcpretty && # echo "===============================" # echo "tvOS unit test" # echo "===============================" # time xcodebuild build test -workspace PinLayout.xcworkspace -scheme PinLayout-tvOS \ -# -derivedDataPath $DERIVED_DATA -sdk appletvsimulator13.4 \ -# -destination 'platform=tvOS Simulator,name=Apple TV 4K,OS=12.2' \ +# -derivedDataPath $DERIVED_DATA -sdk appletvos14.5 \ +# -destination 'platform=tvOS Simulator,name=Apple TV 4K (2nd generation),OS=14.5' \ # | xcpretty -# time xcodebuild build test -workspace PinLayout.xcworkspace -scheme PinLayout-tvOS \ -# -derivedDataPath $DERIVED_DATA -sdk appletvsimulator13.4 \ -# -destination 'platform=tvOS Simulator,name=Apple TV 4K,OS=13.4' \ -# | xcpretty # echo "===============================" # echo "macOS unit test" # echo "===============================" # time xcodebuild clean test -workspace PinLayout.xcworkspace -scheme PinLayout-macOS \ -# -derivedDataPath $DERIVED_DATA -sdk macosx10.15 \ +# -derivedDataPath $DERIVED_DATA -sdk macosx11.3 \ # | xcpretty echo "===============================" && @@ -80,8 +81,8 @@ cd TestProjects/cocoapods/ios && rm -rf $DERIVED_DATA && pod install && time xcodebuild clean build -workspace PinLayout-iOS.xcworkspace -scheme PinLayout-iOS \ - -sdk iphonesimulator13.5 -derivedDataPath $DERIVED_DATA \ - -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ + -sdk iphonesimulator14.5 -derivedDataPath $DERIVED_DATA \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ | xcpretty && cd ../../.. && @@ -93,8 +94,9 @@ cd TestProjects/cocoapods/macos && rm -rf $DERIVED_DATA && pod install && time xcodebuild clean build -workspace PinLayout-macOS.xcworkspace -scheme PinLayout-macOS \ - -sdk macosx10.15 -derivedDataPath $DERIVED_DATA \ + -sdk macosx11.3 -derivedDataPath $DERIVED_DATA \ | xcpretty && +rm -rf $DERIVED_DATA && cd ../../.. && @@ -105,9 +107,10 @@ cd TestProjects/cocoapods/tvos && rm -rf $DERIVED_DATA && pod install && time xcodebuild clean build -workspace PinLayout-tvOS.xcworkspace -scheme PinLayout-tvOS \ - -sdk appletvsimulator13.4 -derivedDataPath $DERIVED_DATA \ - -destination 'platform=tvOS Simulator,name=Apple TV,OS=13.4' \ + -sdk appletvsimulator14.5 -derivedDataPath $DERIVED_DATA \ + -destination 'platform=tvOS Simulator,name=Apple TV 4K (2nd generation),OS=14.5' \ | xcpretty && +rm -rf $DERIVED_DATA && cd ../../.. && @@ -118,12 +121,13 @@ cd TestProjects/carthage/ios && rm -rf $DERIVED_DATA && rm Cartfile && echo "git \"$TRAVIS_BUILD_DIR\" \"$TRAVIS_BRANCH\"" > Cartfile && -carthage update --use-ssh --platform iOS && +carthage update --use-ssh --platform iOS --use-xcframeworks && time xcodebuild clean build -project PinLayout-Carthage-iOS.xcodeproj \ - -scheme PinLayout-Carthage-iOS -sdk iphonesimulator13.5 \ + -scheme PinLayout-Carthage-iOS -sdk iphonesimulator14.5 \ -derivedDataPath $DERIVED_DATA \ - -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ + -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ | xcpretty && +rm -rf $DERIVED_DATA && cd ../../.. && echo "===============================" && @@ -139,8 +143,8 @@ time bundle exec pod lib lint --allow-warnings # rm -rf .build # rm Package.pins # swift package show-dependencies --format json -# time xcodebuild clean build -project PinLayout-Carthage-iOS.xcodeproj -scheme PinLayout-Carthage-iOS -sdk iphonesimulator13.5 -derivedDataPath $DERIVED_DATA \ -# -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.5' \ +# time xcodebuild clean build -project PinLayout-Carthage-iOS.xcodeproj -scheme PinLayout-Carthage-iOS -sdk iphonesimulator14.5 -derivedDataPath $DERIVED_DATA \ +# -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.5' \ # | xcpretty # cd ../../.. #