diff --git a/Example/AppDelegate.swift b/Example/AppDelegate.swift deleted file mode 100644 index 583a69d..0000000 --- a/Example/AppDelegate.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// AppDelegate.swift -// Example -// -// Created by Lasha Efremidze on 12/19/16. -// Copyright © 2016 Lasha Efremidze. All rights reserved. -// - -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - -} diff --git a/Example/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/Example/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/Assets.xcassets/AppIcon.appiconset/Contents.json index d8db8d6..2305880 100644 --- a/Example/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,98 +1,35 @@ { "images" : [ { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - }, - { - "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Example/Assets.xcassets/Contents.json b/Example/Assets.xcassets/Contents.json index da4a164..73c0059 100644 --- a/Example/Assets.xcassets/Contents.json +++ b/Example/Assets.xcassets/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Example/Assets.xcassets/swift.imageset/Contents.json b/Example/Assets.xcassets/swift.imageset/Contents.json deleted file mode 100644 index 75efa28..0000000 --- a/Example/Assets.xcassets/swift.imageset/Contents.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "swift.pdf" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/Example/Assets.xcassets/swift.imageset/swift.pdf b/Example/Assets.xcassets/swift.imageset/swift.pdf deleted file mode 100644 index 29e24d0..0000000 Binary files a/Example/Assets.xcassets/swift.imageset/swift.pdf and /dev/null differ diff --git a/Example/Base.lproj/LaunchScreen.storyboard b/Example/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index fdf3f97..0000000 --- a/Example/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/Base.lproj/Main.storyboard b/Example/Base.lproj/Main.storyboard deleted file mode 100644 index 3e2332f..0000000 --- a/Example/Base.lproj/Main.storyboard +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/ContentView.swift b/Example/ContentView.swift new file mode 100644 index 0000000..e6ad6e3 --- /dev/null +++ b/Example/ContentView.swift @@ -0,0 +1,55 @@ +// +// ContentView.swift +// Example +// +// Created by Lasha Efremidze on 8/14/25. +// Copyright © 2025 Lasha Efremidze. All rights reserved. +// + +import SwiftUI +import VisualEffectView + +struct ContentView: View { + @State private var blurRadius: CGFloat = 0 + + var body: some View { + ZStack(alignment: .bottom) { + LazyVGrid(columns: [GridItem(.flexible()), GridItem(.flexible())], spacing: 16) { + ForEach(Color.colors, id: \.self) { color in + ZStack { + Image(systemName: "swift") + .resizable() + .scaledToFit() + .frame(width: 50, height: 100) + .foregroundStyle(.black) + + VisualEffect( + colorTint: color, + colorTintAlpha: 0.5, + blurRadius: blurRadius + ) + } + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + + VStack { + Slider(value: $blurRadius, in: 0...20) + + Text("Slide to blur") + .font(.caption) + .foregroundStyle(.secondary) + } + .padding(.horizontal, 32) + .padding(.bottom, 32) + } + } +} + +private extension Color { + static let colors = [red, orange, yellow, green, teal, blue, purple, pink] +} + +#Preview { + ContentView() +} diff --git a/Example/ExampleApp.swift b/Example/ExampleApp.swift new file mode 100644 index 0000000..7a083f8 --- /dev/null +++ b/Example/ExampleApp.swift @@ -0,0 +1,18 @@ +// +// ExampleApp.swift +// Example +// +// Created by Lasha Efremidze on 8/14/25. +// Copyright © 2025 Lasha Efremidze. All rights reserved. +// + +import SwiftUI + +@main +struct ExampleApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/Example/Extensions.swift b/Example/Extensions.swift deleted file mode 100644 index f2d0e04..0000000 --- a/Example/Extensions.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// Extensions.swift -// Example -// -// Created by Lasha Efremidze on 3/11/19. -// Copyright © 2019 Lasha Efremidze. All rights reserved. -// - -import UIKit - -extension UIView { - @discardableResult - func constrain(constraints: (UIView) -> [NSLayoutConstraint]) -> [NSLayoutConstraint] { - let constraints = constraints(self) - self.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate(constraints) - return constraints - } - - @discardableResult - func constrainToEdges(_ inset: UIEdgeInsets = .zero) -> [NSLayoutConstraint] { - return constrain {[ - $0.topAnchor.constraint(equalTo: $0.superview!.topAnchor, constant: inset.top), - $0.leadingAnchor.constraint(equalTo: $0.superview!.leadingAnchor, constant: inset.left), - $0.bottomAnchor.constraint(equalTo: $0.superview!.bottomAnchor, constant: inset.bottom), - $0.trailingAnchor.constraint(equalTo: $0.superview!.trailingAnchor, constant: inset.right) - ]} - } -} - -extension UIColor { - convenience init(red: Int, green: Int, blue: Int) { - self.init(red: CGFloat(red) / 255, green: CGFloat(green) / 255, blue: CGFloat(blue) / 255, alpha: 1) - } - class var red: UIColor { return UIColor(red: 255, green: 59, blue: 48) } - class var orange: UIColor { return UIColor(red: 255, green: 149, blue: 0) } - class var yellow: UIColor { return UIColor(red: 255, green: 204, blue: 0) } - class var green: UIColor { return UIColor(red: 76, green: 217, blue: 100) } - class var tealBlue: UIColor { return UIColor(red: 90, green: 200, blue: 250) } - class var blue: UIColor { return UIColor(red: 0, green: 122, blue: 255) } - class var purple: UIColor { return UIColor(red: 88, green: 86, blue: 214) } - class var pink: UIColor { return UIColor(red: 255, green: 45, blue: 85) } - class var allCases: [UIColor] { - return [red, orange, yellow, green, tealBlue, blue, purple, pink] - } -} diff --git a/Example/Info.plist b/Example/Info.plist deleted file mode 100644 index 5bf9798..0000000 --- a/Example/Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UIRequiresFullScreen - - UIStatusBarHidden - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/Example/Preview Content/Preview Assets.xcassets/Contents.json b/Example/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/ViewController.swift b/Example/ViewController.swift deleted file mode 100644 index b2cbd4f..0000000 --- a/Example/ViewController.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// ViewController.swift -// Example -// -// Created by Lasha Efremidze on 5/28/16. -// Copyright © 2016 Lasha Efremidze. All rights reserved. -// - -import UIKit -import VisualEffectView - -class ViewController: UIViewController { - - @IBOutlet var blurImageViews: [BlurImageView]! { - didSet { - for (blurImageView, color) in zip(blurImageViews, UIColor.allCases) { - blurImageView.image = UIImage(named: "swift") - blurImageView.contentMode = .center - blurImageView.visualEffectView.tint(color, blurRadius: 2) - } - } - } - - @IBOutlet weak var slider: UISlider! { - didSet { - slider.thumbTintColor = .white - slider.minimumTrackTintColor = .white - slider.maximumTrackTintColor = .white - } - } - - @IBAction func sliderChange(_ slider: UISlider) { - for blurImageView in blurImageViews { - blurImageView.visualEffectView.blurRadius = CGFloat(slider.value) - } - } - -} - -class BlurImageView: UIImageView { - lazy var visualEffectView: VisualEffectView = { [unowned self] in - let view = VisualEffectView() - self.addSubview(view) - view.constrainToEdges() - return view - }() -} - -extension VisualEffectView { - func tint(_ color: UIColor, blurRadius: CGFloat) { - self.colorTint = color - self.colorTintAlpha = 0.5 - self.blurRadius = blurRadius - } -} diff --git a/Package.swift b/Package.swift index 46a5b4e..a200332 100644 --- a/Package.swift +++ b/Package.swift @@ -6,8 +6,7 @@ import PackageDescription let package = Package( name: "VisualEffectView", platforms: [ - .iOS(.v14), - .macOS(.v14), + .iOS(.v14) ], products: [ // Products define the executables and libraries produced by a package, and make them visible to other packages. @@ -23,5 +22,6 @@ let package = Package( // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages which this package depends on. .target(name: "VisualEffectView") - ] + ], + swiftLanguageVersions: [.v5] ) diff --git a/VisualEffectView.xcodeproj/project.pbxproj b/VisualEffectView.xcodeproj/project.pbxproj index 8e321a9..3d7b663 100755 --- a/VisualEffectView.xcodeproj/project.pbxproj +++ b/VisualEffectView.xcodeproj/project.pbxproj @@ -8,24 +8,22 @@ /* Begin PBXBuildFile section */ 8B3244031E07D7CB00712FEA /* VisualEffectView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B3244011E07D7CB00712FEA /* VisualEffectView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8B3244101E07D7D900712FEA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B32440F1E07D7D900712FEA /* AppDelegate.swift */; }; - 8B3244121E07D7D900712FEA /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B3244111E07D7D900712FEA /* ViewController.swift */; }; - 8B3244151E07D7D900712FEA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B3244131E07D7D900712FEA /* Main.storyboard */; }; - 8B3244171E07D7D900712FEA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8B3244161E07D7D900712FEA /* Assets.xcassets */; }; - 8B32441A1E07D7D900712FEA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B3244181E07D7D900712FEA /* LaunchScreen.storyboard */; }; 8B3DFCE01E07D8F5009EAFA2 /* VisualEffectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B3DFCDF1E07D8F5009EAFA2 /* VisualEffectView.swift */; }; - 8BD4B7E61E8A563A00BD74C6 /* VisualEffectView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */; }; - 8BD4B7E71E8A563A00BD74C6 /* VisualEffectView.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C0864C842A6FB2D2006B0F49 /* VisualEffectView+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0864C832A6FB2D2006B0F49 /* VisualEffectView+SwiftUI.swift */; }; F449249E206F2D5100117F6B /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = F449249B206F2D5100117F6B /* README.md */; }; F449249F206F2D5100117F6B /* VisualEffectView.podspec in Resources */ = {isa = PBXBuildFile; fileRef = F449249C206F2D5100117F6B /* VisualEffectView.podspec */; }; F44924A0206F2D5100117F6B /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = F449249D206F2D5100117F6B /* CHANGELOG.md */; }; - F48F0D532236406400F54233 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F48F0D522236406400F54233 /* Extensions.swift */; }; + F49B90F72E4DED7500B8431A /* VisualEffectView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */; }; + F49B90F82E4DED7500B8431A /* VisualEffectView.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F4BE05CB25108C0000500B57 /* UIViewEffectView+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BE05CA25108C0000500B57 /* UIViewEffectView+Helpers.swift */; }; + F4EFB65C2E4E5DA000348AC7 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4EFB6592E4E5DA000348AC7 /* ContentView.swift */; }; + F4EFB65D2E4E5DA000348AC7 /* ExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4EFB65A2E4E5DA000348AC7 /* ExampleApp.swift */; }; + F4EFB65E2E4E5DA000348AC7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4EFB6562E4E5DA000348AC7 /* Preview Assets.xcassets */; }; + F4EFB65F2E4E5DA000348AC7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4EFB6582E4E5DA000348AC7 /* Assets.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 8BD4B7E81E8A563A00BD74C6 /* PBXContainerItemProxy */ = { + F49B90F92E4DED7500B8431A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 8B3243F51E07D7CB00712FEA /* Project object */; proxyType = 1; @@ -35,13 +33,13 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 8BD4B7EA1E8A563A00BD74C6 /* Embed Frameworks */ = { + F49B90FB2E4DED7500B8431A /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 8BD4B7E71E8A563A00BD74C6 /* VisualEffectView.framework in Embed Frameworks */, + F49B90F82E4DED7500B8431A /* VisualEffectView.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -51,20 +49,17 @@ /* Begin PBXFileReference section */ 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VisualEffectView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8B3244011E07D7CB00712FEA /* VisualEffectView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VisualEffectView.h; sourceTree = ""; }; - 8B32440D1E07D7D900712FEA /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 8B32440F1E07D7D900712FEA /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 8B3244111E07D7D900712FEA /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 8B3244141E07D7D900712FEA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 8B3244161E07D7D900712FEA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 8B3244191E07D7D900712FEA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 8B32441B1E07D7D900712FEA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8B3DFCDF1E07D8F5009EAFA2 /* VisualEffectView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VisualEffectView.swift; sourceTree = ""; }; C0864C832A6FB2D2006B0F49 /* VisualEffectView+SwiftUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "VisualEffectView+SwiftUI.swift"; sourceTree = ""; }; + F4487E682E4DE4BE00884226 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; F449249B206F2D5100117F6B /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; F449249C206F2D5100117F6B /* VisualEffectView.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VisualEffectView.podspec; sourceTree = ""; }; F449249D206F2D5100117F6B /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; - F48F0D522236406400F54233 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; F4BE05CA25108C0000500B57 /* UIViewEffectView+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewEffectView+Helpers.swift"; sourceTree = ""; }; + F4EFB6562E4E5DA000348AC7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + F4EFB6582E4E5DA000348AC7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + F4EFB6592E4E5DA000348AC7 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + F4EFB65A2E4E5DA000348AC7 /* ExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleApp.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -75,11 +70,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8B32440A1E07D7D900712FEA /* Frameworks */ = { + F4487E652E4DE4BE00884226 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8BD4B7E61E8A563A00BD74C6 /* VisualEffectView.framework in Frameworks */, + F49B90F72E4DED7500B8431A /* VisualEffectView.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -93,7 +88,8 @@ F449249B206F2D5100117F6B /* README.md */, F449249C206F2D5100117F6B /* VisualEffectView.podspec */, 8B3244001E07D7CB00712FEA /* VisualEffectView */, - 8B32440E1E07D7D900712FEA /* Example */, + F4EFB65B2E4E5DA000348AC7 /* Example */, + F49B90F62E4DED7500B8431A /* Frameworks */, 8B3243FF1E07D7CB00712FEA /* Products */, ); sourceTree = ""; @@ -102,7 +98,7 @@ isa = PBXGroup; children = ( 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */, - 8B32440D1E07D7D900712FEA /* Example.app */, + F4487E682E4DE4BE00884226 /* Example.app */, ); name = Products; sourceTree = ""; @@ -119,16 +115,28 @@ path = Sources; sourceTree = ""; }; - 8B32440E1E07D7D900712FEA /* Example */ = { + F49B90F62E4DED7500B8431A /* Frameworks */ = { isa = PBXGroup; children = ( - 8B32440F1E07D7D900712FEA /* AppDelegate.swift */, - 8B3244111E07D7D900712FEA /* ViewController.swift */, - F48F0D522236406400F54233 /* Extensions.swift */, - 8B3244131E07D7D900712FEA /* Main.storyboard */, - 8B3244161E07D7D900712FEA /* Assets.xcassets */, - 8B3244181E07D7D900712FEA /* LaunchScreen.storyboard */, - 8B32441B1E07D7D900712FEA /* Info.plist */, + ); + name = Frameworks; + sourceTree = ""; + }; + F4EFB6572E4E5DA000348AC7 /* Preview Content */ = { + isa = PBXGroup; + children = ( + F4EFB6562E4E5DA000348AC7 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + F4EFB65B2E4E5DA000348AC7 /* Example */ = { + isa = PBXGroup; + children = ( + F4EFB6572E4E5DA000348AC7 /* Preview Content */, + F4EFB6582E4E5DA000348AC7 /* Assets.xcassets */, + F4EFB6592E4E5DA000348AC7 /* ContentView.swift */, + F4EFB65A2E4E5DA000348AC7 /* ExampleApp.swift */, ); path = Example; sourceTree = ""; @@ -165,23 +173,25 @@ productReference = 8B3243FE1E07D7CB00712FEA /* VisualEffectView.framework */; productType = "com.apple.product-type.framework"; }; - 8B32440C1E07D7D900712FEA /* Example */ = { + F4487E672E4DE4BE00884226 /* Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 8B32441C1E07D7D900712FEA /* Build configuration list for PBXNativeTarget "Example" */; + buildConfigurationList = F4487E732E4DE4BF00884226 /* Build configuration list for PBXNativeTarget "Example" */; buildPhases = ( - 8B3244091E07D7D900712FEA /* Sources */, - 8B32440A1E07D7D900712FEA /* Frameworks */, - 8B32440B1E07D7D900712FEA /* Resources */, - 8BD4B7EA1E8A563A00BD74C6 /* Embed Frameworks */, + F4487E642E4DE4BE00884226 /* Sources */, + F4487E652E4DE4BE00884226 /* Frameworks */, + F4487E662E4DE4BE00884226 /* Resources */, + F49B90FB2E4DED7500B8431A /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 8BD4B7E91E8A563A00BD74C6 /* PBXTargetDependency */, + F49B90FA2E4DED7500B8431A /* PBXTargetDependency */, ); name = Example; + packageProductDependencies = ( + ); productName = Example; - productReference = 8B32440D1E07D7D900712FEA /* Example.app */; + productReference = F4487E682E4DE4BE00884226 /* Example.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -190,8 +200,9 @@ 8B3243F51E07D7CB00712FEA /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0820; - LastUpgradeCheck = 1200; + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1620; + LastUpgradeCheck = 1620; ORGANIZATIONNAME = "Lasha Efremidze"; TargetAttributes = { 8B3243FD1E07D7CB00712FEA = { @@ -199,15 +210,13 @@ LastSwiftMigration = 1020; ProvisioningStyle = Automatic; }; - 8B32440C1E07D7D900712FEA = { - CreatedOnToolsVersion = 8.2; - LastSwiftMigration = 1020; - ProvisioningStyle = Automatic; + F4487E672E4DE4BE00884226 = { + CreatedOnToolsVersion = 16.2; }; }; }; buildConfigurationList = 8B3243F81E07D7CB00712FEA /* Build configuration list for PBXProject "VisualEffectView" */; - compatibilityVersion = "Xcode 12.0"; + compatibilityVersion = "Xcode 15.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -220,7 +229,7 @@ projectRoot = ""; targets = ( 8B3243FD1E07D7CB00712FEA /* VisualEffectView */, - 8B32440C1E07D7D900712FEA /* Example */, + F4487E672E4DE4BE00884226 /* Example */, ); }; /* End PBXProject section */ @@ -236,13 +245,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8B32440B1E07D7D900712FEA /* Resources */ = { + F4487E662E4DE4BE00884226 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8B32441A1E07D7D900712FEA /* LaunchScreen.storyboard in Resources */, - 8B3244171E07D7D900712FEA /* Assets.xcassets in Resources */, - 8B3244151E07D7D900712FEA /* Main.storyboard in Resources */, + F4EFB65E2E4E5DA000348AC7 /* Preview Assets.xcassets in Resources */, + F4EFB65F2E4E5DA000348AC7 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -259,50 +267,31 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8B3244091E07D7D900712FEA /* Sources */ = { + F4487E642E4DE4BE00884226 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8B3244121E07D7D900712FEA /* ViewController.swift in Sources */, - F48F0D532236406400F54233 /* Extensions.swift in Sources */, - 8B3244101E07D7D900712FEA /* AppDelegate.swift in Sources */, + F4EFB65C2E4E5DA000348AC7 /* ContentView.swift in Sources */, + F4EFB65D2E4E5DA000348AC7 /* ExampleApp.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 8BD4B7E91E8A563A00BD74C6 /* PBXTargetDependency */ = { + F49B90FA2E4DED7500B8431A /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 8B3243FD1E07D7CB00712FEA /* VisualEffectView */; - targetProxy = 8BD4B7E81E8A563A00BD74C6 /* PBXContainerItemProxy */; + targetProxy = F49B90F92E4DED7500B8431A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - 8B3244131E07D7D900712FEA /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8B3244141E07D7D900712FEA /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 8B3244181E07D7D900712FEA /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8B3244191E07D7D900712FEA /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 8B3244041E07D7CB00712FEA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -350,7 +339,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -367,6 +356,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -408,7 +398,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; @@ -431,6 +421,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GENERATE_INFOPLIST_FILE = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( @@ -439,6 +430,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 4.1.5; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.example.VisualEffectView; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -456,6 +448,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GENERATE_INFOPLIST_FILE = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( @@ -464,41 +457,86 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 4.1.5; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.example.VisualEffectView; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; }; name = Release; }; - 8B32441D1E07D7D900712FEA /* Debug */ = { + F4487E742E4DE4BF00884226 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Example/Info.plist; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Example/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.example; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 8B32441E1E07D7D900712FEA /* Release */ = { + F4487E752E4DE4BF00884226 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Example/Info.plist; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Example/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.example; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; @@ -523,11 +561,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8B32441C1E07D7D900712FEA /* Build configuration list for PBXNativeTarget "Example" */ = { + F4487E732E4DE4BF00884226 /* Build configuration list for PBXNativeTarget "Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8B32441D1E07D7D900712FEA /* Debug */, - 8B32441E1E07D7D900712FEA /* Release */, + F4487E742E4DE4BF00884226 /* Debug */, + F4487E752E4DE4BF00884226 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/VisualEffectView.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/VisualEffectView.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index a153e2d..4d3e190 100644 --- a/VisualEffectView.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/VisualEffectView.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -1,6 +1,6 @@ @@ -44,7 +44,7 @@ runnableDebuggingMode = "0"> @@ -61,7 +61,7 @@ runnableDebuggingMode = "0"> diff --git a/VisualEffectView.xcodeproj/xcshareddata/xcschemes/VisualEffectView.xcscheme b/VisualEffectView.xcodeproj/xcshareddata/xcschemes/VisualEffectView.xcscheme index 226e1eb..1fd9bd2 100644 --- a/VisualEffectView.xcodeproj/xcshareddata/xcschemes/VisualEffectView.xcscheme +++ b/VisualEffectView.xcodeproj/xcshareddata/xcschemes/VisualEffectView.xcscheme @@ -1,6 +1,6 @@