├── ezgif.com-video-to-gif-2.gif
├── README.md
├── Neomorphic button
├── Assets.xcassets
│ ├── Contents.json
│ ├── AccentColor.colorset
│ │ └── Contents.json
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── Preview Content
│ └── Preview Assets.xcassets
│ │ └── Contents.json
├── Neomorphic_buttonApp.swift
├── Info.plist
└── ContentView.swift
├── Neomorphic button.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── xcuserdata
│ └── maurocanhao.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
└── project.pbxproj
├── Neomorphic buttonTests
├── Info.plist
└── Neomorphic_buttonTests.swift
└── Neomorphic buttonUITests
├── Info.plist
└── Neomorphic_buttonUITests.swift
/ezgif.com-video-to-gif-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mauromarques/Neomorphic-buttons/HEAD/ezgif.com-video-to-gif-2.gif
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Neomorphic-buttons
2 | Neomorphic buttons swiftUI
3 | # Demo
4 | 
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Neomorphic button/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Neomorphic button/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Neomorphic button.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Neomorphic button/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Neomorphic button.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Neomorphic button/Neomorphic_buttonApp.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Neomorphic_buttonApp.swift
3 | // Neomorphic button
4 | //
5 | // Created by Mauro Canhao on 22/09/2020.
6 | //
7 |
8 | import SwiftUI
9 |
10 | @main
11 | struct Neomorphic_buttonApp: App {
12 | var body: some Scene {
13 | WindowGroup {
14 | ContentView()
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Neomorphic button.xcodeproj/xcuserdata/maurocanhao.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Neomorphic button.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Neomorphic buttonTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Neomorphic buttonUITests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Neomorphic buttonTests/Neomorphic_buttonTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Neomorphic_buttonTests.swift
3 | // Neomorphic buttonTests
4 | //
5 | // Created by Mauro Canhao on 22/09/2020.
6 | //
7 |
8 | import XCTest
9 | @testable import Neomorphic_button
10 |
11 | class Neomorphic_buttonTests: XCTestCase {
12 |
13 | override func setUpWithError() throws {
14 | // Put setup code here. This method is called before the invocation of each test method in the class.
15 | }
16 |
17 | override func tearDownWithError() throws {
18 | // Put teardown code here. This method is called after the invocation of each test method in the class.
19 | }
20 |
21 | func testExample() throws {
22 | // This is an example of a functional test case.
23 | // Use XCTAssert and related functions to verify your tests produce the correct results.
24 | }
25 |
26 | func testPerformanceExample() throws {
27 | // This is an example of a performance test case.
28 | self.measure {
29 | // Put the code you want to measure the time of here.
30 | }
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/Neomorphic buttonUITests/Neomorphic_buttonUITests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Neomorphic_buttonUITests.swift
3 | // Neomorphic buttonUITests
4 | //
5 | // Created by Mauro Canhao on 22/09/2020.
6 | //
7 |
8 | import XCTest
9 |
10 | class Neomorphic_buttonUITests: XCTestCase {
11 |
12 | override func setUpWithError() throws {
13 | // Put setup code here. This method is called before the invocation of each test method in the class.
14 |
15 | // In UI tests it is usually best to stop immediately when a failure occurs.
16 | continueAfterFailure = false
17 |
18 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
19 | }
20 |
21 | override func tearDownWithError() throws {
22 | // Put teardown code here. This method is called after the invocation of each test method in the class.
23 | }
24 |
25 | func testExample() throws {
26 | // UI tests must launch the application that they test.
27 | let app = XCUIApplication()
28 | app.launch()
29 |
30 | // Use recording to get started writing UI tests.
31 | // Use XCTAssert and related functions to verify your tests produce the correct results.
32 | }
33 |
34 | func testLaunchPerformance() throws {
35 | if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
36 | // This measures how long it takes to launch your application.
37 | measure(metrics: [XCTApplicationLaunchMetric()]) {
38 | XCUIApplication().launch()
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Neomorphic button/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UIApplicationSceneManifest
24 |
25 | UIApplicationSupportsMultipleScenes
26 |
27 |
28 | UIApplicationSupportsIndirectInputEvents
29 |
30 | UILaunchScreen
31 |
32 | UIRequiredDeviceCapabilities
33 |
34 | armv7
35 |
36 | UISupportedInterfaceOrientations
37 |
38 | UIInterfaceOrientationPortrait
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UISupportedInterfaceOrientations~ipad
43 |
44 | UIInterfaceOrientationPortrait
45 | UIInterfaceOrientationPortraitUpsideDown
46 | UIInterfaceOrientationLandscapeLeft
47 | UIInterfaceOrientationLandscapeRight
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Neomorphic button/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "2x",
6 | "size" : "20x20"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "scale" : "3x",
11 | "size" : "20x20"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "scale" : "2x",
16 | "size" : "29x29"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "scale" : "3x",
21 | "size" : "29x29"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "2x",
26 | "size" : "40x40"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "scale" : "3x",
31 | "size" : "40x40"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "scale" : "2x",
36 | "size" : "60x60"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "scale" : "3x",
41 | "size" : "60x60"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "scale" : "1x",
46 | "size" : "20x20"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "scale" : "2x",
51 | "size" : "20x20"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "scale" : "1x",
56 | "size" : "29x29"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "scale" : "2x",
61 | "size" : "29x29"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "scale" : "1x",
66 | "size" : "40x40"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "scale" : "2x",
71 | "size" : "40x40"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "scale" : "1x",
76 | "size" : "76x76"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "scale" : "2x",
81 | "size" : "76x76"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "scale" : "2x",
86 | "size" : "83.5x83.5"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "scale" : "1x",
91 | "size" : "1024x1024"
92 | }
93 | ],
94 | "info" : {
95 | "author" : "xcode",
96 | "version" : 1
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/Neomorphic button/ContentView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContentView.swift
3 | // Neomorphic button
4 | //
5 | // Created by Mauro Canhao on 22/09/2020.
6 | //
7 |
8 | import SwiftUI
9 |
10 | struct ContentView: View {
11 | var body: some View {
12 | VStack(spacing: 50) {
13 | LineButton()
14 | CircleButton()
15 | }
16 | .frame(maxWidth: /*@START_MENU_TOKEN@*/.infinity/*@END_MENU_TOKEN@*/, maxHeight: /*@START_MENU_TOKEN@*/.infinity/*@END_MENU_TOKEN@*/)
17 | .background(Color(#colorLiteral(red: 0.8486280441, green: 0.9037795663, blue: 0.9840080142, alpha: 1)))
18 | .edgesIgnoringSafeArea(.all)
19 | .animation(.spring(response: 0.6, dampingFraction: 0.7, blendDuration: 0))
20 | }
21 | }
22 |
23 | struct ContentView_Previews: PreviewProvider {
24 | static var previews: some View {
25 | Group {
26 | ContentView()
27 | }
28 | }
29 | }
30 |
31 |
32 | struct CircleButton: View {
33 |
34 | @State var tap = false
35 | @State var press = false
36 |
37 | var body: some View {
38 | ZStack{
39 | Image(systemName: "sun.max")
40 | .font(.system(size: 44, weight: .light))
41 | .offset(x: press ? -90 : 0, y: press ? -90 : 0)
42 | .rotation3DEffect(Angle(degrees: press ? 20 : 0), axis: (x: 10, y: -10, z: 0))
43 |
44 | Image(systemName: "moon")
45 | .font(.system(size: 44, weight: .light))
46 | .offset(x: press ? 0 : 90, y: press ? 0 : 90)
47 | .rotation3DEffect(Angle(degrees: press ? 0 : 20), axis: (x: -10, y: 10, z: 0))
48 | }
49 | .frame(width: 100, height: 100)
50 | .background(
51 | ZStack{
52 | LinearGradient(gradient: Gradient(colors: press ? [Color.white, Color(#colorLiteral(red: 0.8486280441, green: 0.9037795663, blue: 0.9840080142, alpha: 1))] : [Color(#colorLiteral(red: 0.8486280441, green: 0.9037795663, blue: 0.9840080142, alpha: 1)), Color.white]), startPoint: .topLeading, endPoint: .bottomTrailing)
53 |
54 | Circle()
55 | .stroke(Color.clear, lineWidth: 10)
56 | .shadow(color: Color(press ? .white : #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1)), radius: 5, x: -5, y: -5)
57 |
58 | Circle()
59 | .stroke(Color.clear, lineWidth: 10)
60 | .shadow(color: Color(press ? #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1) : .white), radius: 5, x: 5, y: 5)
61 | }
62 | )
63 | .clipShape(Circle())
64 | .shadow(color: Color(press ? #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1) : .white ), radius: 20, x: -20, y: -20)
65 | .shadow(color: Color(press ? .white : #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1) ), radius: 20, x: 20, y: 20)
66 | .scaleEffect(tap ? 1.2 : 1)
67 | .onTapGesture(count: 1, perform: {
68 | self.tap = true
69 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
70 | self.tap = false
71 | }
72 | self.press.toggle()
73 | })
74 | }
75 | }
76 |
77 | struct LineButton: View {
78 |
79 | @State var tap = false
80 | @State var press = false
81 |
82 | var body: some View {
83 | VStack {
84 | Text("Button")
85 | .font(.system(size: 20, weight: .semibold, design: .rounded))
86 | .frame(width: 200, height: 60)
87 |
88 | .background(
89 | ZStack{
90 | press ? Color.white : Color(#colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1))
91 | RoundedRectangle(cornerRadius: 16, style: /*@START_MENU_TOKEN@*/.continuous/*@END_MENU_TOKEN@*/)
92 | .foregroundColor( press ? Color(#colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1)) : .white)
93 | .blur(radius: 4)
94 | .offset(x: -8, y: -8)
95 |
96 | RoundedRectangle(cornerRadius: 16, style: /*@START_MENU_TOKEN@*/.continuous/*@END_MENU_TOKEN@*/)
97 | .fill(
98 | LinearGradient(gradient: Gradient(colors: press ? [Color(#colorLiteral(red: 0.8486280441, green: 0.9037795663, blue: 0.9840080142, alpha: 1)), Color.white] : [Color.white, Color(#colorLiteral(red: 0.8486280441, green: 0.9037795663, blue: 0.9840080142, alpha: 1))]), startPoint: .topLeading, endPoint: .bottomTrailing)
99 | ).animation(.default)
100 | .padding(2)
101 | .blur(radius: 2)
102 | }
103 | )
104 |
105 | .clipShape(RoundedRectangle(cornerRadius: 16, style: /*@START_MENU_TOKEN@*/.continuous/*@END_MENU_TOKEN@*/))
106 | .overlay(
107 | HStack{
108 | Image(systemName: "person.crop.circle")
109 | .font(.system(size: 24, weight: .light, design: .rounded))
110 | .foregroundColor(Color.white.opacity(press ? 0 : 1))
111 | .frame(width: press ? 64 : 54, height: press ? 4 : 50, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
112 | .background(Color.purple)
113 | .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous))
114 | .shadow(color: Color.purple.opacity(0.3), radius: 10, x: 10, y: 10)
115 | .offset(x: press ? 70 : -10, y: press ? 16 : 0)
116 |
117 | Spacer()
118 | }
119 | )
120 | .shadow(color: Color(press ? #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0) : #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1) ), radius: 20, x: 20, y: 20)
121 | .shadow(color: Color(press ? #colorLiteral(red: 0.7152195573, green: 0.7906422615, blue: 0.908705771, alpha: 1) : #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)), radius: 20, x: -20, y: -20)
122 | .scaleEffect(tap ? 1.2 : 1)
123 | .onTapGesture(count: /*@START_MENU_TOKEN@*/1/*@END_MENU_TOKEN@*/, perform: {
124 | print("tap")
125 | self.tap = true
126 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
127 | self.tap = false
128 | }
129 | self.press.toggle()
130 | })
131 |
132 |
133 | }.scaleEffect(1)
134 | }
135 | }
136 |
--------------------------------------------------------------------------------
/Neomorphic button.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 50;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 67557F9F251A27CB00C7B36A /* Neomorphic_buttonApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67557F9E251A27CB00C7B36A /* Neomorphic_buttonApp.swift */; };
11 | 67557FA1251A27CB00C7B36A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67557FA0251A27CB00C7B36A /* ContentView.swift */; };
12 | 67557FA3251A27CC00C7B36A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 67557FA2251A27CC00C7B36A /* Assets.xcassets */; };
13 | 67557FA6251A27CC00C7B36A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 67557FA5251A27CC00C7B36A /* Preview Assets.xcassets */; };
14 | 67557FB1251A27CD00C7B36A /* Neomorphic_buttonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67557FB0251A27CD00C7B36A /* Neomorphic_buttonTests.swift */; };
15 | 67557FBC251A27CD00C7B36A /* Neomorphic_buttonUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67557FBB251A27CD00C7B36A /* Neomorphic_buttonUITests.swift */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXContainerItemProxy section */
19 | 67557FAD251A27CD00C7B36A /* PBXContainerItemProxy */ = {
20 | isa = PBXContainerItemProxy;
21 | containerPortal = 67557F93251A27CB00C7B36A /* Project object */;
22 | proxyType = 1;
23 | remoteGlobalIDString = 67557F9A251A27CB00C7B36A;
24 | remoteInfo = "Neomorphic button";
25 | };
26 | 67557FB8251A27CD00C7B36A /* PBXContainerItemProxy */ = {
27 | isa = PBXContainerItemProxy;
28 | containerPortal = 67557F93251A27CB00C7B36A /* Project object */;
29 | proxyType = 1;
30 | remoteGlobalIDString = 67557F9A251A27CB00C7B36A;
31 | remoteInfo = "Neomorphic button";
32 | };
33 | /* End PBXContainerItemProxy section */
34 |
35 | /* Begin PBXFileReference section */
36 | 67557F9B251A27CB00C7B36A /* Neomorphic button.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Neomorphic button.app"; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 67557F9E251A27CB00C7B36A /* Neomorphic_buttonApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Neomorphic_buttonApp.swift; sourceTree = ""; };
38 | 67557FA0251A27CB00C7B36A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
39 | 67557FA2251A27CC00C7B36A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
40 | 67557FA5251A27CC00C7B36A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; };
41 | 67557FA7251A27CC00C7B36A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
42 | 67557FAC251A27CD00C7B36A /* Neomorphic buttonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Neomorphic buttonTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
43 | 67557FB0251A27CD00C7B36A /* Neomorphic_buttonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Neomorphic_buttonTests.swift; sourceTree = ""; };
44 | 67557FB2251A27CD00C7B36A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | 67557FB7251A27CD00C7B36A /* Neomorphic buttonUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Neomorphic buttonUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
46 | 67557FBB251A27CD00C7B36A /* Neomorphic_buttonUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Neomorphic_buttonUITests.swift; sourceTree = ""; };
47 | 67557FBD251A27CD00C7B36A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
48 | /* End PBXFileReference section */
49 |
50 | /* Begin PBXFrameworksBuildPhase section */
51 | 67557F98251A27CB00C7B36A /* Frameworks */ = {
52 | isa = PBXFrameworksBuildPhase;
53 | buildActionMask = 2147483647;
54 | files = (
55 | );
56 | runOnlyForDeploymentPostprocessing = 0;
57 | };
58 | 67557FA9251A27CD00C7B36A /* Frameworks */ = {
59 | isa = PBXFrameworksBuildPhase;
60 | buildActionMask = 2147483647;
61 | files = (
62 | );
63 | runOnlyForDeploymentPostprocessing = 0;
64 | };
65 | 67557FB4251A27CD00C7B36A /* Frameworks */ = {
66 | isa = PBXFrameworksBuildPhase;
67 | buildActionMask = 2147483647;
68 | files = (
69 | );
70 | runOnlyForDeploymentPostprocessing = 0;
71 | };
72 | /* End PBXFrameworksBuildPhase section */
73 |
74 | /* Begin PBXGroup section */
75 | 67557F92251A27CB00C7B36A = {
76 | isa = PBXGroup;
77 | children = (
78 | 67557F9D251A27CB00C7B36A /* Neomorphic button */,
79 | 67557FAF251A27CD00C7B36A /* Neomorphic buttonTests */,
80 | 67557FBA251A27CD00C7B36A /* Neomorphic buttonUITests */,
81 | 67557F9C251A27CB00C7B36A /* Products */,
82 | );
83 | sourceTree = "";
84 | };
85 | 67557F9C251A27CB00C7B36A /* Products */ = {
86 | isa = PBXGroup;
87 | children = (
88 | 67557F9B251A27CB00C7B36A /* Neomorphic button.app */,
89 | 67557FAC251A27CD00C7B36A /* Neomorphic buttonTests.xctest */,
90 | 67557FB7251A27CD00C7B36A /* Neomorphic buttonUITests.xctest */,
91 | );
92 | name = Products;
93 | sourceTree = "";
94 | };
95 | 67557F9D251A27CB00C7B36A /* Neomorphic button */ = {
96 | isa = PBXGroup;
97 | children = (
98 | 67557F9E251A27CB00C7B36A /* Neomorphic_buttonApp.swift */,
99 | 67557FA0251A27CB00C7B36A /* ContentView.swift */,
100 | 67557FA2251A27CC00C7B36A /* Assets.xcassets */,
101 | 67557FA7251A27CC00C7B36A /* Info.plist */,
102 | 67557FA4251A27CC00C7B36A /* Preview Content */,
103 | );
104 | path = "Neomorphic button";
105 | sourceTree = "";
106 | };
107 | 67557FA4251A27CC00C7B36A /* Preview Content */ = {
108 | isa = PBXGroup;
109 | children = (
110 | 67557FA5251A27CC00C7B36A /* Preview Assets.xcassets */,
111 | );
112 | path = "Preview Content";
113 | sourceTree = "";
114 | };
115 | 67557FAF251A27CD00C7B36A /* Neomorphic buttonTests */ = {
116 | isa = PBXGroup;
117 | children = (
118 | 67557FB0251A27CD00C7B36A /* Neomorphic_buttonTests.swift */,
119 | 67557FB2251A27CD00C7B36A /* Info.plist */,
120 | );
121 | path = "Neomorphic buttonTests";
122 | sourceTree = "";
123 | };
124 | 67557FBA251A27CD00C7B36A /* Neomorphic buttonUITests */ = {
125 | isa = PBXGroup;
126 | children = (
127 | 67557FBB251A27CD00C7B36A /* Neomorphic_buttonUITests.swift */,
128 | 67557FBD251A27CD00C7B36A /* Info.plist */,
129 | );
130 | path = "Neomorphic buttonUITests";
131 | sourceTree = "";
132 | };
133 | /* End PBXGroup section */
134 |
135 | /* Begin PBXNativeTarget section */
136 | 67557F9A251A27CB00C7B36A /* Neomorphic button */ = {
137 | isa = PBXNativeTarget;
138 | buildConfigurationList = 67557FC0251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic button" */;
139 | buildPhases = (
140 | 67557F97251A27CB00C7B36A /* Sources */,
141 | 67557F98251A27CB00C7B36A /* Frameworks */,
142 | 67557F99251A27CB00C7B36A /* Resources */,
143 | );
144 | buildRules = (
145 | );
146 | dependencies = (
147 | );
148 | name = "Neomorphic button";
149 | productName = "Neomorphic button";
150 | productReference = 67557F9B251A27CB00C7B36A /* Neomorphic button.app */;
151 | productType = "com.apple.product-type.application";
152 | };
153 | 67557FAB251A27CD00C7B36A /* Neomorphic buttonTests */ = {
154 | isa = PBXNativeTarget;
155 | buildConfigurationList = 67557FC3251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic buttonTests" */;
156 | buildPhases = (
157 | 67557FA8251A27CD00C7B36A /* Sources */,
158 | 67557FA9251A27CD00C7B36A /* Frameworks */,
159 | 67557FAA251A27CD00C7B36A /* Resources */,
160 | );
161 | buildRules = (
162 | );
163 | dependencies = (
164 | 67557FAE251A27CD00C7B36A /* PBXTargetDependency */,
165 | );
166 | name = "Neomorphic buttonTests";
167 | productName = "Neomorphic buttonTests";
168 | productReference = 67557FAC251A27CD00C7B36A /* Neomorphic buttonTests.xctest */;
169 | productType = "com.apple.product-type.bundle.unit-test";
170 | };
171 | 67557FB6251A27CD00C7B36A /* Neomorphic buttonUITests */ = {
172 | isa = PBXNativeTarget;
173 | buildConfigurationList = 67557FC6251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic buttonUITests" */;
174 | buildPhases = (
175 | 67557FB3251A27CD00C7B36A /* Sources */,
176 | 67557FB4251A27CD00C7B36A /* Frameworks */,
177 | 67557FB5251A27CD00C7B36A /* Resources */,
178 | );
179 | buildRules = (
180 | );
181 | dependencies = (
182 | 67557FB9251A27CD00C7B36A /* PBXTargetDependency */,
183 | );
184 | name = "Neomorphic buttonUITests";
185 | productName = "Neomorphic buttonUITests";
186 | productReference = 67557FB7251A27CD00C7B36A /* Neomorphic buttonUITests.xctest */;
187 | productType = "com.apple.product-type.bundle.ui-testing";
188 | };
189 | /* End PBXNativeTarget section */
190 |
191 | /* Begin PBXProject section */
192 | 67557F93251A27CB00C7B36A /* Project object */ = {
193 | isa = PBXProject;
194 | attributes = {
195 | LastSwiftUpdateCheck = 1200;
196 | LastUpgradeCheck = 1200;
197 | TargetAttributes = {
198 | 67557F9A251A27CB00C7B36A = {
199 | CreatedOnToolsVersion = 12.0;
200 | };
201 | 67557FAB251A27CD00C7B36A = {
202 | CreatedOnToolsVersion = 12.0;
203 | TestTargetID = 67557F9A251A27CB00C7B36A;
204 | };
205 | 67557FB6251A27CD00C7B36A = {
206 | CreatedOnToolsVersion = 12.0;
207 | TestTargetID = 67557F9A251A27CB00C7B36A;
208 | };
209 | };
210 | };
211 | buildConfigurationList = 67557F96251A27CB00C7B36A /* Build configuration list for PBXProject "Neomorphic button" */;
212 | compatibilityVersion = "Xcode 9.3";
213 | developmentRegion = en;
214 | hasScannedForEncodings = 0;
215 | knownRegions = (
216 | en,
217 | Base,
218 | );
219 | mainGroup = 67557F92251A27CB00C7B36A;
220 | productRefGroup = 67557F9C251A27CB00C7B36A /* Products */;
221 | projectDirPath = "";
222 | projectRoot = "";
223 | targets = (
224 | 67557F9A251A27CB00C7B36A /* Neomorphic button */,
225 | 67557FAB251A27CD00C7B36A /* Neomorphic buttonTests */,
226 | 67557FB6251A27CD00C7B36A /* Neomorphic buttonUITests */,
227 | );
228 | };
229 | /* End PBXProject section */
230 |
231 | /* Begin PBXResourcesBuildPhase section */
232 | 67557F99251A27CB00C7B36A /* Resources */ = {
233 | isa = PBXResourcesBuildPhase;
234 | buildActionMask = 2147483647;
235 | files = (
236 | 67557FA6251A27CC00C7B36A /* Preview Assets.xcassets in Resources */,
237 | 67557FA3251A27CC00C7B36A /* Assets.xcassets in Resources */,
238 | );
239 | runOnlyForDeploymentPostprocessing = 0;
240 | };
241 | 67557FAA251A27CD00C7B36A /* Resources */ = {
242 | isa = PBXResourcesBuildPhase;
243 | buildActionMask = 2147483647;
244 | files = (
245 | );
246 | runOnlyForDeploymentPostprocessing = 0;
247 | };
248 | 67557FB5251A27CD00C7B36A /* Resources */ = {
249 | isa = PBXResourcesBuildPhase;
250 | buildActionMask = 2147483647;
251 | files = (
252 | );
253 | runOnlyForDeploymentPostprocessing = 0;
254 | };
255 | /* End PBXResourcesBuildPhase section */
256 |
257 | /* Begin PBXSourcesBuildPhase section */
258 | 67557F97251A27CB00C7B36A /* Sources */ = {
259 | isa = PBXSourcesBuildPhase;
260 | buildActionMask = 2147483647;
261 | files = (
262 | 67557FA1251A27CB00C7B36A /* ContentView.swift in Sources */,
263 | 67557F9F251A27CB00C7B36A /* Neomorphic_buttonApp.swift in Sources */,
264 | );
265 | runOnlyForDeploymentPostprocessing = 0;
266 | };
267 | 67557FA8251A27CD00C7B36A /* Sources */ = {
268 | isa = PBXSourcesBuildPhase;
269 | buildActionMask = 2147483647;
270 | files = (
271 | 67557FB1251A27CD00C7B36A /* Neomorphic_buttonTests.swift in Sources */,
272 | );
273 | runOnlyForDeploymentPostprocessing = 0;
274 | };
275 | 67557FB3251A27CD00C7B36A /* Sources */ = {
276 | isa = PBXSourcesBuildPhase;
277 | buildActionMask = 2147483647;
278 | files = (
279 | 67557FBC251A27CD00C7B36A /* Neomorphic_buttonUITests.swift in Sources */,
280 | );
281 | runOnlyForDeploymentPostprocessing = 0;
282 | };
283 | /* End PBXSourcesBuildPhase section */
284 |
285 | /* Begin PBXTargetDependency section */
286 | 67557FAE251A27CD00C7B36A /* PBXTargetDependency */ = {
287 | isa = PBXTargetDependency;
288 | target = 67557F9A251A27CB00C7B36A /* Neomorphic button */;
289 | targetProxy = 67557FAD251A27CD00C7B36A /* PBXContainerItemProxy */;
290 | };
291 | 67557FB9251A27CD00C7B36A /* PBXTargetDependency */ = {
292 | isa = PBXTargetDependency;
293 | target = 67557F9A251A27CB00C7B36A /* Neomorphic button */;
294 | targetProxy = 67557FB8251A27CD00C7B36A /* PBXContainerItemProxy */;
295 | };
296 | /* End PBXTargetDependency section */
297 |
298 | /* Begin XCBuildConfiguration section */
299 | 67557FBE251A27CD00C7B36A /* Debug */ = {
300 | isa = XCBuildConfiguration;
301 | buildSettings = {
302 | ALWAYS_SEARCH_USER_PATHS = NO;
303 | CLANG_ANALYZER_NONNULL = YES;
304 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
305 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
306 | CLANG_CXX_LIBRARY = "libc++";
307 | CLANG_ENABLE_MODULES = YES;
308 | CLANG_ENABLE_OBJC_ARC = YES;
309 | CLANG_ENABLE_OBJC_WEAK = YES;
310 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
311 | CLANG_WARN_BOOL_CONVERSION = YES;
312 | CLANG_WARN_COMMA = YES;
313 | CLANG_WARN_CONSTANT_CONVERSION = YES;
314 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
315 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
316 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
317 | CLANG_WARN_EMPTY_BODY = YES;
318 | CLANG_WARN_ENUM_CONVERSION = YES;
319 | CLANG_WARN_INFINITE_RECURSION = YES;
320 | CLANG_WARN_INT_CONVERSION = YES;
321 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
322 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
323 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
324 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
325 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
326 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
327 | CLANG_WARN_STRICT_PROTOTYPES = YES;
328 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
329 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
330 | CLANG_WARN_UNREACHABLE_CODE = YES;
331 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
332 | COPY_PHASE_STRIP = NO;
333 | DEBUG_INFORMATION_FORMAT = dwarf;
334 | ENABLE_STRICT_OBJC_MSGSEND = YES;
335 | ENABLE_TESTABILITY = YES;
336 | GCC_C_LANGUAGE_STANDARD = gnu11;
337 | GCC_DYNAMIC_NO_PIC = NO;
338 | GCC_NO_COMMON_BLOCKS = YES;
339 | GCC_OPTIMIZATION_LEVEL = 0;
340 | GCC_PREPROCESSOR_DEFINITIONS = (
341 | "DEBUG=1",
342 | "$(inherited)",
343 | );
344 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
345 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
346 | GCC_WARN_UNDECLARED_SELECTOR = YES;
347 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
348 | GCC_WARN_UNUSED_FUNCTION = YES;
349 | GCC_WARN_UNUSED_VARIABLE = YES;
350 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
351 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
352 | MTL_FAST_MATH = YES;
353 | ONLY_ACTIVE_ARCH = YES;
354 | SDKROOT = iphoneos;
355 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
356 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
357 | };
358 | name = Debug;
359 | };
360 | 67557FBF251A27CD00C7B36A /* Release */ = {
361 | isa = XCBuildConfiguration;
362 | buildSettings = {
363 | ALWAYS_SEARCH_USER_PATHS = NO;
364 | CLANG_ANALYZER_NONNULL = YES;
365 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
366 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
367 | CLANG_CXX_LIBRARY = "libc++";
368 | CLANG_ENABLE_MODULES = YES;
369 | CLANG_ENABLE_OBJC_ARC = YES;
370 | CLANG_ENABLE_OBJC_WEAK = YES;
371 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
372 | CLANG_WARN_BOOL_CONVERSION = YES;
373 | CLANG_WARN_COMMA = YES;
374 | CLANG_WARN_CONSTANT_CONVERSION = YES;
375 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
376 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
377 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
378 | CLANG_WARN_EMPTY_BODY = YES;
379 | CLANG_WARN_ENUM_CONVERSION = YES;
380 | CLANG_WARN_INFINITE_RECURSION = YES;
381 | CLANG_WARN_INT_CONVERSION = YES;
382 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
383 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
384 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
385 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
386 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
387 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
388 | CLANG_WARN_STRICT_PROTOTYPES = YES;
389 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
390 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
391 | CLANG_WARN_UNREACHABLE_CODE = YES;
392 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
393 | COPY_PHASE_STRIP = NO;
394 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
395 | ENABLE_NS_ASSERTIONS = NO;
396 | ENABLE_STRICT_OBJC_MSGSEND = YES;
397 | GCC_C_LANGUAGE_STANDARD = gnu11;
398 | GCC_NO_COMMON_BLOCKS = YES;
399 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
400 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
401 | GCC_WARN_UNDECLARED_SELECTOR = YES;
402 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
403 | GCC_WARN_UNUSED_FUNCTION = YES;
404 | GCC_WARN_UNUSED_VARIABLE = YES;
405 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
406 | MTL_ENABLE_DEBUG_INFO = NO;
407 | MTL_FAST_MATH = YES;
408 | SDKROOT = iphoneos;
409 | SWIFT_COMPILATION_MODE = wholemodule;
410 | SWIFT_OPTIMIZATION_LEVEL = "-O";
411 | VALIDATE_PRODUCT = YES;
412 | };
413 | name = Release;
414 | };
415 | 67557FC1251A27CD00C7B36A /* Debug */ = {
416 | isa = XCBuildConfiguration;
417 | buildSettings = {
418 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
419 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
420 | CODE_SIGN_STYLE = Automatic;
421 | DEVELOPMENT_ASSET_PATHS = "\"Neomorphic button/Preview Content\"";
422 | DEVELOPMENT_TEAM = CPYT3A73TA;
423 | ENABLE_PREVIEWS = YES;
424 | INFOPLIST_FILE = "Neomorphic button/Info.plist";
425 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
426 | LD_RUNPATH_SEARCH_PATHS = (
427 | "$(inherited)",
428 | "@executable_path/Frameworks",
429 | );
430 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-button";
431 | PRODUCT_NAME = "$(TARGET_NAME)";
432 | SWIFT_VERSION = 5.0;
433 | TARGETED_DEVICE_FAMILY = "1,2";
434 | };
435 | name = Debug;
436 | };
437 | 67557FC2251A27CD00C7B36A /* Release */ = {
438 | isa = XCBuildConfiguration;
439 | buildSettings = {
440 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
441 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
442 | CODE_SIGN_STYLE = Automatic;
443 | DEVELOPMENT_ASSET_PATHS = "\"Neomorphic button/Preview Content\"";
444 | DEVELOPMENT_TEAM = CPYT3A73TA;
445 | ENABLE_PREVIEWS = YES;
446 | INFOPLIST_FILE = "Neomorphic button/Info.plist";
447 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
448 | LD_RUNPATH_SEARCH_PATHS = (
449 | "$(inherited)",
450 | "@executable_path/Frameworks",
451 | );
452 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-button";
453 | PRODUCT_NAME = "$(TARGET_NAME)";
454 | SWIFT_VERSION = 5.0;
455 | TARGETED_DEVICE_FAMILY = "1,2";
456 | };
457 | name = Release;
458 | };
459 | 67557FC4251A27CD00C7B36A /* Debug */ = {
460 | isa = XCBuildConfiguration;
461 | buildSettings = {
462 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
463 | BUNDLE_LOADER = "$(TEST_HOST)";
464 | CODE_SIGN_STYLE = Automatic;
465 | DEVELOPMENT_TEAM = CPYT3A73TA;
466 | INFOPLIST_FILE = "Neomorphic buttonTests/Info.plist";
467 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
468 | LD_RUNPATH_SEARCH_PATHS = (
469 | "$(inherited)",
470 | "@executable_path/Frameworks",
471 | "@loader_path/Frameworks",
472 | );
473 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-buttonTests";
474 | PRODUCT_NAME = "$(TARGET_NAME)";
475 | SWIFT_VERSION = 5.0;
476 | TARGETED_DEVICE_FAMILY = "1,2";
477 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Neomorphic button.app/Neomorphic button";
478 | };
479 | name = Debug;
480 | };
481 | 67557FC5251A27CD00C7B36A /* Release */ = {
482 | isa = XCBuildConfiguration;
483 | buildSettings = {
484 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
485 | BUNDLE_LOADER = "$(TEST_HOST)";
486 | CODE_SIGN_STYLE = Automatic;
487 | DEVELOPMENT_TEAM = CPYT3A73TA;
488 | INFOPLIST_FILE = "Neomorphic buttonTests/Info.plist";
489 | IPHONEOS_DEPLOYMENT_TARGET = 14.0;
490 | LD_RUNPATH_SEARCH_PATHS = (
491 | "$(inherited)",
492 | "@executable_path/Frameworks",
493 | "@loader_path/Frameworks",
494 | );
495 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-buttonTests";
496 | PRODUCT_NAME = "$(TARGET_NAME)";
497 | SWIFT_VERSION = 5.0;
498 | TARGETED_DEVICE_FAMILY = "1,2";
499 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Neomorphic button.app/Neomorphic button";
500 | };
501 | name = Release;
502 | };
503 | 67557FC7251A27CD00C7B36A /* Debug */ = {
504 | isa = XCBuildConfiguration;
505 | buildSettings = {
506 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
507 | CODE_SIGN_STYLE = Automatic;
508 | DEVELOPMENT_TEAM = CPYT3A73TA;
509 | INFOPLIST_FILE = "Neomorphic buttonUITests/Info.plist";
510 | LD_RUNPATH_SEARCH_PATHS = (
511 | "$(inherited)",
512 | "@executable_path/Frameworks",
513 | "@loader_path/Frameworks",
514 | );
515 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-buttonUITests";
516 | PRODUCT_NAME = "$(TARGET_NAME)";
517 | SWIFT_VERSION = 5.0;
518 | TARGETED_DEVICE_FAMILY = "1,2";
519 | TEST_TARGET_NAME = "Neomorphic button";
520 | };
521 | name = Debug;
522 | };
523 | 67557FC8251A27CD00C7B36A /* Release */ = {
524 | isa = XCBuildConfiguration;
525 | buildSettings = {
526 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
527 | CODE_SIGN_STYLE = Automatic;
528 | DEVELOPMENT_TEAM = CPYT3A73TA;
529 | INFOPLIST_FILE = "Neomorphic buttonUITests/Info.plist";
530 | LD_RUNPATH_SEARCH_PATHS = (
531 | "$(inherited)",
532 | "@executable_path/Frameworks",
533 | "@loader_path/Frameworks",
534 | );
535 | PRODUCT_BUNDLE_IDENTIFIER = "mauro.Neomorphic-buttonUITests";
536 | PRODUCT_NAME = "$(TARGET_NAME)";
537 | SWIFT_VERSION = 5.0;
538 | TARGETED_DEVICE_FAMILY = "1,2";
539 | TEST_TARGET_NAME = "Neomorphic button";
540 | };
541 | name = Release;
542 | };
543 | /* End XCBuildConfiguration section */
544 |
545 | /* Begin XCConfigurationList section */
546 | 67557F96251A27CB00C7B36A /* Build configuration list for PBXProject "Neomorphic button" */ = {
547 | isa = XCConfigurationList;
548 | buildConfigurations = (
549 | 67557FBE251A27CD00C7B36A /* Debug */,
550 | 67557FBF251A27CD00C7B36A /* Release */,
551 | );
552 | defaultConfigurationIsVisible = 0;
553 | defaultConfigurationName = Release;
554 | };
555 | 67557FC0251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic button" */ = {
556 | isa = XCConfigurationList;
557 | buildConfigurations = (
558 | 67557FC1251A27CD00C7B36A /* Debug */,
559 | 67557FC2251A27CD00C7B36A /* Release */,
560 | );
561 | defaultConfigurationIsVisible = 0;
562 | defaultConfigurationName = Release;
563 | };
564 | 67557FC3251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic buttonTests" */ = {
565 | isa = XCConfigurationList;
566 | buildConfigurations = (
567 | 67557FC4251A27CD00C7B36A /* Debug */,
568 | 67557FC5251A27CD00C7B36A /* Release */,
569 | );
570 | defaultConfigurationIsVisible = 0;
571 | defaultConfigurationName = Release;
572 | };
573 | 67557FC6251A27CD00C7B36A /* Build configuration list for PBXNativeTarget "Neomorphic buttonUITests" */ = {
574 | isa = XCConfigurationList;
575 | buildConfigurations = (
576 | 67557FC7251A27CD00C7B36A /* Debug */,
577 | 67557FC8251A27CD00C7B36A /* Release */,
578 | );
579 | defaultConfigurationIsVisible = 0;
580 | defaultConfigurationName = Release;
581 | };
582 | /* End XCConfigurationList section */
583 | };
584 | rootObject = 67557F93251A27CB00C7B36A /* Project object */;
585 | }
586 |
--------------------------------------------------------------------------------