├── .gitignore
├── .swiftpm
└── xcode
│ └── package.xcworkspace
│ └── contents.xcworkspacedata
├── Example-macOS
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
├── ContentView.swift
├── ExampleApp.swift
└── Info.plist
├── LICENSE
├── Package.swift
├── README.md
├── Sources
├── Info.plist
└── SwimplyPlayIndicator
│ └── SwimplyPlayIndicator.swift
├── SwimplyPlayIndicator.gif
├── SwimplyPlayIndicator.podspec
└── SwimplyPlayIndicator.xcodeproj
├── project.pbxproj
├── project.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ └── IDEWorkspaceChecks.plist
└── xcshareddata
└── xcschemes
├── SwimplyPlayIndicator-iOS.xcscheme
├── SwimplyPlayIndicator-macOS.xcscheme
├── SwimplyPlayIndicator-tvOS.xcscheme
└── SwimplyPlayIndicator-watchOS.xcscheme
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /.build
3 | /Packages
4 | xcuserdata/
5 | /Carthage
6 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "mac",
5 | "size" : "16x16",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "mac",
10 | "size" : "16x16",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "mac",
15 | "size" : "32x32",
16 | "scale" : "1x"
17 | },
18 | {
19 | "idiom" : "mac",
20 | "size" : "32x32",
21 | "scale" : "2x"
22 | },
23 | {
24 | "idiom" : "mac",
25 | "size" : "128x128",
26 | "scale" : "1x"
27 | },
28 | {
29 | "idiom" : "mac",
30 | "size" : "128x128",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "mac",
35 | "size" : "256x256",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "mac",
40 | "size" : "256x256",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "mac",
45 | "size" : "512x512",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "mac",
50 | "size" : "512x512",
51 | "scale" : "2x"
52 | }
53 | ],
54 | "info" : {
55 | "version" : 1,
56 | "author" : "xcode"
57 | }
58 | }
--------------------------------------------------------------------------------
/Example-macOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Example-macOS/ContentView.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 | import SwimplyPlayIndicator
3 |
4 | struct ContentView: View {
5 | @State var state: SwimplyPlayIndicator.AudioState = .stop
6 |
7 | var body: some View {
8 | VStack {
9 | Button("Play") {
10 | self.state = .play
11 | }
12 | Button("Pause") {
13 | self.state = .pause
14 | }
15 |
16 | Button("Stop") {
17 | self.state = .stop
18 | }
19 |
20 | SwimplyPlayIndicator(
21 | state: self.$state,
22 | color: .white
23 | )
24 | .fixedSize()
25 | }.padding()
26 | }
27 | }
28 |
29 | struct ContentView_Previews: PreviewProvider {
30 | static var previews: some View {
31 | ContentView()
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Example-macOS/ExampleApp.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import SwiftUI
3 |
4 | @main
5 | struct Example_iOSApp: App {
6 | var body: some Scene {
7 | WindowGroup {
8 | ContentView()
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Example-macOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSMinimumSystemVersion
24 | $(MACOSX_DEPLOYMENT_TARGET)
25 | NSHumanReadableCopyright
26 | Copyright © 2020 Dennis Oberhoff. All rights reserved.
27 | NSMainStoryboardFile
28 | Main
29 | NSPrincipalClass
30 | NSApplication
31 | NSSupportsAutomaticTermination
32 |
33 | NSSupportsSuddenTermination
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Dennis Oberhoff
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.1
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "SwimplyPlayIndicator",
8 | platforms: [
9 | .iOS(.v13), .watchOS(.v6), .macOS(.v10_15),
10 | ],
11 | products: [
12 | .library(
13 | name: "SwimplyPlayIndicator",
14 | targets: ["SwimplyPlayIndicator"]
15 | ),
16 | ],
17 | targets: [
18 | .target(
19 | name: "SwimplyPlayIndicator",
20 | dependencies: []
21 | ),
22 | ]
23 | )
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SwimplyPlayIndicator for SwiftUI
2 |
3 | PlayIndicator is a now playing indicator written in SwiftUI. It has been inspired by the Apple Music Player and the Objective-C / CALayer Version [VYPlayIndicator](https://github.com/docterd/VYPlayIndicator).
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/Sources/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 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sources/SwimplyPlayIndicator/SwimplyPlayIndicator.swift:
--------------------------------------------------------------------------------
1 | import SwiftUI
2 |
3 | public struct SwimplyPlayIndicator: View {
4 | fileprivate struct BarInfo: Identifiable {
5 | let id: Int
6 | let maxValue: CGFloat
7 | let animationDuration: Double
8 | }
9 |
10 | public enum AudioState {
11 | case stop
12 | case play
13 | case pause
14 | }
15 |
16 | public enum Style: Sendable {
17 | case legacy
18 | case modern
19 | }
20 |
21 | @Binding private var state: AudioState
22 | @State private var barInfos: [BarInfo] = []
23 | private let color: Color
24 | private let count: Int
25 | private let style: Style
26 |
27 | public init(
28 | state: Binding,
29 | count: Int = 4,
30 | color: Color = .black,
31 | style: Style = .modern
32 | ) {
33 | _state = state
34 | self.count = count
35 | self.color = color
36 | self.style = style
37 | }
38 |
39 | public var body: some View {
40 | HStack(alignment: .center, spacing: 2) {
41 | ForEach(barInfos) { barInfo in
42 | BarView(state: $state, barInfo: barInfo, color: color, style: style)
43 | }
44 | }
45 | .frame(idealWidth: 18, idealHeight: 18)
46 | .opacity(state == .stop ? 0 : 1)
47 | .animation(.easeInOut(duration: 0.3), value: state)
48 | .onAppear {
49 | barInfos = generateBarInfos()
50 | }
51 | }
52 |
53 | private func generateBarInfos() -> [BarInfo] {
54 | (0 ..< count).map { id in
55 | BarInfo(
56 | id: id,
57 | maxValue: CGFloat.random(in: 0.7 ... 1.0),
58 | animationDuration: Double.random(in: 0.3 ... 0.8)
59 | )
60 | }
61 | }
62 | }
63 |
64 | private struct BarView: View {
65 | @Binding var state: SwimplyPlayIndicator.AudioState
66 | let barInfo: SwimplyPlayIndicator.BarInfo
67 | let color: Color
68 | let style: SwimplyPlayIndicator.Style
69 |
70 | var body: some View {
71 | LineView(maxValue: state == .play ? barInfo.maxValue : 0, style: style)
72 | .fill(color)
73 | .animation(
74 | state == .play ?
75 | .easeInOut(duration: barInfo.animationDuration)
76 | .repeatForever(autoreverses: true) :
77 | .easeOut(duration: 0.3),
78 | value: state
79 | )
80 | }
81 | }
82 |
83 | private struct LineView: Shape {
84 | var maxValue: CGFloat
85 | let style: SwimplyPlayIndicator.Style
86 |
87 | var animatableData: CGFloat {
88 | get { maxValue }
89 | set { maxValue = newValue }
90 | }
91 |
92 | func path(in rect: CGRect) -> Path {
93 | let cornerRadius = style == .legacy ? 0 : (rect.width / 2)
94 | let height = max(rect.width, maxValue * rect.height)
95 | let lineRect = CGRect(x: 0, y: rect.maxY - height, width: rect.width, height: height)
96 | return Path(roundedRect: lineRect, cornerRadius: cornerRadius)
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/obrhoff/SwimplyPlayIndicator/b6cff801f62d5cb45372461666a5e0bf4cac9447/SwimplyPlayIndicator.gif
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "SwimplyPlayIndicator"
3 | s.version = "1.0.3"
4 | s.summary = "Animated PlayIndicator written in SwiftUI. Inspired by Apple's Music Player."
5 | s.homepage = "https://github.com/docterd/SwimplyPlayIndicator"
6 | s.license = { :type => "MIT" }
7 | s.author = { "Dennis Oberhoff" => "dennis@obrhoff.de" }
8 | s.source = { :git => "https://github.com/docterd/SwimplyPlayIndicator.git", :tag => "1.0.3"}
9 | s.source_files = "Sources/SwimplyPlayIndicator/SwimplyPlayIndicator.swift"
10 | s.osx.deployment_target = '10.15'
11 | s.osx.framework = 'SwiftUI'
12 | s.ios.deployment_target = "13.0"
13 | s.ios.framework = 'SwiftUI'
14 | s.tvos.deployment_target = "13.0"
15 | s.tvos.framework = 'SwiftUI'
16 | s.watchos.deployment_target = "6.0"
17 | s.watchos.framework = 'SwiftUI'
18 | s.swift_version = '5.0'
19 | end
20 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 50;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 425E48FF2C75D03F00927F9D /* SwimplyPlayIndicator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E18D8A4323F42EB0001CEAB1 /* SwimplyPlayIndicator.framework */; };
11 | 425E49002C75D03F00927F9D /* SwimplyPlayIndicator.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E18D8A4323F42EB0001CEAB1 /* SwimplyPlayIndicator.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
12 | 425E49052C75D35E00927F9D /* ExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 425E49042C75D35E00927F9D /* ExampleApp.swift */; };
13 | 79029AD423F8091B009F2ACA /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79029AD323F8091B009F2ACA /* ContentView.swift */; };
14 | 79029AD623F8091C009F2ACA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 79029AD523F8091C009F2ACA /* Assets.xcassets */; };
15 | 79029AE323F80929009F2ACA /* SwimplyPlayIndicator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E18D8A5923F42F65001CEAB1 /* SwimplyPlayIndicator.framework */; };
16 | 79029AE423F80929009F2ACA /* SwimplyPlayIndicator.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E18D8A5923F42F65001CEAB1 /* SwimplyPlayIndicator.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
17 | E18D8A4F23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */; };
18 | E18D8A5323F42F65001CEAB1 /* SwimplyPlayIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */; };
19 | E18D8A5E23F42F6D001CEAB1 /* SwimplyPlayIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */; };
20 | E18D8A6923F42F70001CEAB1 /* SwimplyPlayIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */; };
21 | /* End PBXBuildFile section */
22 |
23 | /* Begin PBXContainerItemProxy section */
24 | 425E49012C75D03F00927F9D /* PBXContainerItemProxy */ = {
25 | isa = PBXContainerItemProxy;
26 | containerPortal = E18D8A3A23F42EB0001CEAB1 /* Project object */;
27 | proxyType = 1;
28 | remoteGlobalIDString = E18D8A4223F42EB0001CEAB1;
29 | remoteInfo = "PlayIndicator-iOS";
30 | };
31 | 79029AE523F80929009F2ACA /* PBXContainerItemProxy */ = {
32 | isa = PBXContainerItemProxy;
33 | containerPortal = E18D8A3A23F42EB0001CEAB1 /* Project object */;
34 | proxyType = 1;
35 | remoteGlobalIDString = E18D8A5023F42F65001CEAB1;
36 | remoteInfo = "PlayIndicator-macOS";
37 | };
38 | /* End PBXContainerItemProxy section */
39 |
40 | /* Begin PBXCopyFilesBuildPhase section */
41 | 425E49032C75D03F00927F9D /* Embed Frameworks */ = {
42 | isa = PBXCopyFilesBuildPhase;
43 | buildActionMask = 2147483647;
44 | dstPath = "";
45 | dstSubfolderSpec = 10;
46 | files = (
47 | 425E49002C75D03F00927F9D /* SwimplyPlayIndicator.framework in Embed Frameworks */,
48 | );
49 | name = "Embed Frameworks";
50 | runOnlyForDeploymentPostprocessing = 0;
51 | };
52 | 79029AE723F80929009F2ACA /* Embed Frameworks */ = {
53 | isa = PBXCopyFilesBuildPhase;
54 | buildActionMask = 2147483647;
55 | dstPath = "";
56 | dstSubfolderSpec = 10;
57 | files = (
58 | 79029AE423F80929009F2ACA /* SwimplyPlayIndicator.framework in Embed Frameworks */,
59 | );
60 | name = "Embed Frameworks";
61 | runOnlyForDeploymentPostprocessing = 0;
62 | };
63 | /* End PBXCopyFilesBuildPhase section */
64 |
65 | /* Begin PBXFileReference section */
66 | 425E48F02C75D01800927F9D /* Example-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
67 | 425E49042C75D35E00927F9D /* ExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleApp.swift; sourceTree = ""; };
68 | 79029ACF23F8091B009F2ACA /* Example-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-macOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
69 | 79029AD323F8091B009F2ACA /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
70 | 79029AD523F8091C009F2ACA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
71 | 79029ADD23F8091C009F2ACA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
72 | E18D8A4323F42EB0001CEAB1 /* SwimplyPlayIndicator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwimplyPlayIndicator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
73 | E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwimplyPlayIndicator.swift; path = Sources/SwimplyPlayIndicator/SwimplyPlayIndicator.swift; sourceTree = SOURCE_ROOT; };
74 | E18D8A5923F42F65001CEAB1 /* SwimplyPlayIndicator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwimplyPlayIndicator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
75 | E18D8A6423F42F6D001CEAB1 /* SwimplyPlayIndicator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwimplyPlayIndicator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
76 | E18D8A6F23F42F70001CEAB1 /* SwimplyPlayIndicator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwimplyPlayIndicator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
77 | E1B3D98D246FC0890007401E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = Sources/Info.plist; sourceTree = SOURCE_ROOT; };
78 | /* End PBXFileReference section */
79 |
80 | /* Begin PBXFrameworksBuildPhase section */
81 | 425E48ED2C75D01800927F9D /* Frameworks */ = {
82 | isa = PBXFrameworksBuildPhase;
83 | buildActionMask = 2147483647;
84 | files = (
85 | 425E48FF2C75D03F00927F9D /* SwimplyPlayIndicator.framework in Frameworks */,
86 | );
87 | runOnlyForDeploymentPostprocessing = 0;
88 | };
89 | 79029ACC23F8091B009F2ACA /* Frameworks */ = {
90 | isa = PBXFrameworksBuildPhase;
91 | buildActionMask = 2147483647;
92 | files = (
93 | 79029AE323F80929009F2ACA /* SwimplyPlayIndicator.framework in Frameworks */,
94 | );
95 | runOnlyForDeploymentPostprocessing = 0;
96 | };
97 | E18D8A4023F42EB0001CEAB1 /* Frameworks */ = {
98 | isa = PBXFrameworksBuildPhase;
99 | buildActionMask = 2147483647;
100 | files = (
101 | );
102 | runOnlyForDeploymentPostprocessing = 0;
103 | };
104 | E18D8A5423F42F65001CEAB1 /* Frameworks */ = {
105 | isa = PBXFrameworksBuildPhase;
106 | buildActionMask = 2147483647;
107 | files = (
108 | );
109 | runOnlyForDeploymentPostprocessing = 0;
110 | };
111 | E18D8A5F23F42F6D001CEAB1 /* Frameworks */ = {
112 | isa = PBXFrameworksBuildPhase;
113 | buildActionMask = 2147483647;
114 | files = (
115 | );
116 | runOnlyForDeploymentPostprocessing = 0;
117 | };
118 | E18D8A6A23F42F70001CEAB1 /* Frameworks */ = {
119 | isa = PBXFrameworksBuildPhase;
120 | buildActionMask = 2147483647;
121 | files = (
122 | );
123 | runOnlyForDeploymentPostprocessing = 0;
124 | };
125 | /* End PBXFrameworksBuildPhase section */
126 |
127 | /* Begin PBXGroup section */
128 | 79029AD023F8091B009F2ACA /* Example-macOS */ = {
129 | isa = PBXGroup;
130 | children = (
131 | 79029AD323F8091B009F2ACA /* ContentView.swift */,
132 | 79029AD523F8091C009F2ACA /* Assets.xcassets */,
133 | 79029ADD23F8091C009F2ACA /* Info.plist */,
134 | 425E49042C75D35E00927F9D /* ExampleApp.swift */,
135 | );
136 | path = "Example-macOS";
137 | sourceTree = "";
138 | };
139 | 79029AE223F80929009F2ACA /* Frameworks */ = {
140 | isa = PBXGroup;
141 | children = (
142 | );
143 | name = Frameworks;
144 | sourceTree = "";
145 | };
146 | E18D8A3923F42EB0001CEAB1 = {
147 | isa = PBXGroup;
148 | children = (
149 | E18D8A4523F42EB0001CEAB1 /* SwimplyPlayIndicator */,
150 | 79029AD023F8091B009F2ACA /* Example-macOS */,
151 | E18D8A4423F42EB0001CEAB1 /* Products */,
152 | 79029AE223F80929009F2ACA /* Frameworks */,
153 | );
154 | sourceTree = "";
155 | };
156 | E18D8A4423F42EB0001CEAB1 /* Products */ = {
157 | isa = PBXGroup;
158 | children = (
159 | E18D8A4323F42EB0001CEAB1 /* SwimplyPlayIndicator.framework */,
160 | E18D8A5923F42F65001CEAB1 /* SwimplyPlayIndicator.framework */,
161 | E18D8A6423F42F6D001CEAB1 /* SwimplyPlayIndicator.framework */,
162 | E18D8A6F23F42F70001CEAB1 /* SwimplyPlayIndicator.framework */,
163 | 79029ACF23F8091B009F2ACA /* Example-macOS.app */,
164 | 425E48F02C75D01800927F9D /* Example-iOS.app */,
165 | );
166 | name = Products;
167 | sourceTree = "";
168 | };
169 | E18D8A4523F42EB0001CEAB1 /* SwimplyPlayIndicator */ = {
170 | isa = PBXGroup;
171 | children = (
172 | E18D8A4E23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift */,
173 | E1B3D98D246FC0890007401E /* Info.plist */,
174 | );
175 | name = SwimplyPlayIndicator;
176 | path = Sources/SwimplyPlayIndicator;
177 | sourceTree = "";
178 | };
179 | /* End PBXGroup section */
180 |
181 | /* Begin PBXHeadersBuildPhase section */
182 | E18D8A3E23F42EB0001CEAB1 /* Headers */ = {
183 | isa = PBXHeadersBuildPhase;
184 | buildActionMask = 2147483647;
185 | files = (
186 | );
187 | runOnlyForDeploymentPostprocessing = 0;
188 | };
189 | E18D8A5123F42F65001CEAB1 /* Headers */ = {
190 | isa = PBXHeadersBuildPhase;
191 | buildActionMask = 2147483647;
192 | files = (
193 | );
194 | runOnlyForDeploymentPostprocessing = 0;
195 | };
196 | E18D8A5C23F42F6D001CEAB1 /* Headers */ = {
197 | isa = PBXHeadersBuildPhase;
198 | buildActionMask = 2147483647;
199 | files = (
200 | );
201 | runOnlyForDeploymentPostprocessing = 0;
202 | };
203 | E18D8A6723F42F70001CEAB1 /* Headers */ = {
204 | isa = PBXHeadersBuildPhase;
205 | buildActionMask = 2147483647;
206 | files = (
207 | );
208 | runOnlyForDeploymentPostprocessing = 0;
209 | };
210 | /* End PBXHeadersBuildPhase section */
211 |
212 | /* Begin PBXNativeTarget section */
213 | 425E48EF2C75D01800927F9D /* Example-iOS */ = {
214 | isa = PBXNativeTarget;
215 | buildConfigurationList = 425E48FB2C75D01900927F9D /* Build configuration list for PBXNativeTarget "Example-iOS" */;
216 | buildPhases = (
217 | 425E48EC2C75D01800927F9D /* Sources */,
218 | 425E48ED2C75D01800927F9D /* Frameworks */,
219 | 425E48EE2C75D01800927F9D /* Resources */,
220 | 425E49032C75D03F00927F9D /* Embed Frameworks */,
221 | );
222 | buildRules = (
223 | );
224 | dependencies = (
225 | 425E49022C75D03F00927F9D /* PBXTargetDependency */,
226 | );
227 | name = "Example-iOS";
228 | productName = "Example-iOS";
229 | productReference = 425E48F02C75D01800927F9D /* Example-iOS.app */;
230 | productType = "com.apple.product-type.application";
231 | };
232 | 79029ACE23F8091B009F2ACA /* Example-macOS */ = {
233 | isa = PBXNativeTarget;
234 | buildConfigurationList = 79029AE123F8091C009F2ACA /* Build configuration list for PBXNativeTarget "Example-macOS" */;
235 | buildPhases = (
236 | 79029ACB23F8091B009F2ACA /* Sources */,
237 | 79029ACC23F8091B009F2ACA /* Frameworks */,
238 | 79029ACD23F8091B009F2ACA /* Resources */,
239 | 79029AE723F80929009F2ACA /* Embed Frameworks */,
240 | );
241 | buildRules = (
242 | );
243 | dependencies = (
244 | 79029AE623F80929009F2ACA /* PBXTargetDependency */,
245 | );
246 | name = "Example-macOS";
247 | productName = "Example-iOS";
248 | productReference = 79029ACF23F8091B009F2ACA /* Example-macOS.app */;
249 | productType = "com.apple.product-type.application";
250 | };
251 | E18D8A4223F42EB0001CEAB1 /* PlayIndicator-iOS */ = {
252 | isa = PBXNativeTarget;
253 | buildConfigurationList = E18D8A4B23F42EB0001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-iOS" */;
254 | buildPhases = (
255 | E18D8A3E23F42EB0001CEAB1 /* Headers */,
256 | E18D8A3F23F42EB0001CEAB1 /* Sources */,
257 | E18D8A4023F42EB0001CEAB1 /* Frameworks */,
258 | E18D8A4123F42EB0001CEAB1 /* Resources */,
259 | );
260 | buildRules = (
261 | );
262 | dependencies = (
263 | );
264 | name = "PlayIndicator-iOS";
265 | productName = PlayIndicator;
266 | productReference = E18D8A4323F42EB0001CEAB1 /* SwimplyPlayIndicator.framework */;
267 | productType = "com.apple.product-type.framework";
268 | };
269 | E18D8A5023F42F65001CEAB1 /* PlayIndicator-macOS */ = {
270 | isa = PBXNativeTarget;
271 | buildConfigurationList = E18D8A5623F42F65001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-macOS" */;
272 | buildPhases = (
273 | E18D8A5123F42F65001CEAB1 /* Headers */,
274 | E18D8A5223F42F65001CEAB1 /* Sources */,
275 | E18D8A5423F42F65001CEAB1 /* Frameworks */,
276 | E18D8A5523F42F65001CEAB1 /* Resources */,
277 | );
278 | buildRules = (
279 | );
280 | dependencies = (
281 | );
282 | name = "PlayIndicator-macOS";
283 | productName = PlayIndicator;
284 | productReference = E18D8A5923F42F65001CEAB1 /* SwimplyPlayIndicator.framework */;
285 | productType = "com.apple.product-type.framework";
286 | };
287 | E18D8A5B23F42F6D001CEAB1 /* PlayIndicator-tvOS */ = {
288 | isa = PBXNativeTarget;
289 | buildConfigurationList = E18D8A6123F42F6D001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-tvOS" */;
290 | buildPhases = (
291 | E18D8A5C23F42F6D001CEAB1 /* Headers */,
292 | E18D8A5D23F42F6D001CEAB1 /* Sources */,
293 | E18D8A5F23F42F6D001CEAB1 /* Frameworks */,
294 | E18D8A6023F42F6D001CEAB1 /* Resources */,
295 | );
296 | buildRules = (
297 | );
298 | dependencies = (
299 | );
300 | name = "PlayIndicator-tvOS";
301 | productName = PlayIndicator;
302 | productReference = E18D8A6423F42F6D001CEAB1 /* SwimplyPlayIndicator.framework */;
303 | productType = "com.apple.product-type.framework";
304 | };
305 | E18D8A6623F42F70001CEAB1 /* PlayIndicator-watchOS */ = {
306 | isa = PBXNativeTarget;
307 | buildConfigurationList = E18D8A6C23F42F70001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-watchOS" */;
308 | buildPhases = (
309 | E18D8A6723F42F70001CEAB1 /* Headers */,
310 | E18D8A6823F42F70001CEAB1 /* Sources */,
311 | E18D8A6A23F42F70001CEAB1 /* Frameworks */,
312 | E18D8A6B23F42F70001CEAB1 /* Resources */,
313 | );
314 | buildRules = (
315 | );
316 | dependencies = (
317 | );
318 | name = "PlayIndicator-watchOS";
319 | productName = PlayIndicator;
320 | productReference = E18D8A6F23F42F70001CEAB1 /* SwimplyPlayIndicator.framework */;
321 | productType = "com.apple.product-type.framework";
322 | };
323 | /* End PBXNativeTarget section */
324 |
325 | /* Begin PBXProject section */
326 | E18D8A3A23F42EB0001CEAB1 /* Project object */ = {
327 | isa = PBXProject;
328 | attributes = {
329 | LastSwiftUpdateCheck = 1540;
330 | LastUpgradeCheck = 1140;
331 | ORGANIZATIONNAME = "Dennis Oberhoff";
332 | TargetAttributes = {
333 | 425E48EF2C75D01800927F9D = {
334 | CreatedOnToolsVersion = 15.4;
335 | };
336 | 79029ACE23F8091B009F2ACA = {
337 | CreatedOnToolsVersion = 11.3.1;
338 | };
339 | E18D8A4223F42EB0001CEAB1 = {
340 | CreatedOnToolsVersion = 11.3.1;
341 | LastSwiftMigration = 1130;
342 | };
343 | };
344 | };
345 | buildConfigurationList = E18D8A3D23F42EB0001CEAB1 /* Build configuration list for PBXProject "SwimplyPlayIndicator" */;
346 | compatibilityVersion = "Xcode 9.3";
347 | developmentRegion = en;
348 | hasScannedForEncodings = 0;
349 | knownRegions = (
350 | en,
351 | Base,
352 | );
353 | mainGroup = E18D8A3923F42EB0001CEAB1;
354 | productRefGroup = E18D8A4423F42EB0001CEAB1 /* Products */;
355 | projectDirPath = "";
356 | projectRoot = "";
357 | targets = (
358 | E18D8A4223F42EB0001CEAB1 /* PlayIndicator-iOS */,
359 | E18D8A5023F42F65001CEAB1 /* PlayIndicator-macOS */,
360 | E18D8A5B23F42F6D001CEAB1 /* PlayIndicator-tvOS */,
361 | E18D8A6623F42F70001CEAB1 /* PlayIndicator-watchOS */,
362 | 79029ACE23F8091B009F2ACA /* Example-macOS */,
363 | 425E48EF2C75D01800927F9D /* Example-iOS */,
364 | );
365 | };
366 | /* End PBXProject section */
367 |
368 | /* Begin PBXResourcesBuildPhase section */
369 | 425E48EE2C75D01800927F9D /* Resources */ = {
370 | isa = PBXResourcesBuildPhase;
371 | buildActionMask = 2147483647;
372 | files = (
373 | );
374 | runOnlyForDeploymentPostprocessing = 0;
375 | };
376 | 79029ACD23F8091B009F2ACA /* Resources */ = {
377 | isa = PBXResourcesBuildPhase;
378 | buildActionMask = 2147483647;
379 | files = (
380 | 79029AD623F8091C009F2ACA /* Assets.xcassets in Resources */,
381 | );
382 | runOnlyForDeploymentPostprocessing = 0;
383 | };
384 | E18D8A4123F42EB0001CEAB1 /* Resources */ = {
385 | isa = PBXResourcesBuildPhase;
386 | buildActionMask = 2147483647;
387 | files = (
388 | );
389 | runOnlyForDeploymentPostprocessing = 0;
390 | };
391 | E18D8A5523F42F65001CEAB1 /* Resources */ = {
392 | isa = PBXResourcesBuildPhase;
393 | buildActionMask = 2147483647;
394 | files = (
395 | );
396 | runOnlyForDeploymentPostprocessing = 0;
397 | };
398 | E18D8A6023F42F6D001CEAB1 /* Resources */ = {
399 | isa = PBXResourcesBuildPhase;
400 | buildActionMask = 2147483647;
401 | files = (
402 | );
403 | runOnlyForDeploymentPostprocessing = 0;
404 | };
405 | E18D8A6B23F42F70001CEAB1 /* Resources */ = {
406 | isa = PBXResourcesBuildPhase;
407 | buildActionMask = 2147483647;
408 | files = (
409 | );
410 | runOnlyForDeploymentPostprocessing = 0;
411 | };
412 | /* End PBXResourcesBuildPhase section */
413 |
414 | /* Begin PBXSourcesBuildPhase section */
415 | 425E48EC2C75D01800927F9D /* Sources */ = {
416 | isa = PBXSourcesBuildPhase;
417 | buildActionMask = 2147483647;
418 | files = (
419 | );
420 | runOnlyForDeploymentPostprocessing = 0;
421 | };
422 | 79029ACB23F8091B009F2ACA /* Sources */ = {
423 | isa = PBXSourcesBuildPhase;
424 | buildActionMask = 2147483647;
425 | files = (
426 | 425E49052C75D35E00927F9D /* ExampleApp.swift in Sources */,
427 | 79029AD423F8091B009F2ACA /* ContentView.swift in Sources */,
428 | );
429 | runOnlyForDeploymentPostprocessing = 0;
430 | };
431 | E18D8A3F23F42EB0001CEAB1 /* Sources */ = {
432 | isa = PBXSourcesBuildPhase;
433 | buildActionMask = 2147483647;
434 | files = (
435 | E18D8A4F23F42EE9001CEAB1 /* SwimplyPlayIndicator.swift in Sources */,
436 | );
437 | runOnlyForDeploymentPostprocessing = 0;
438 | };
439 | E18D8A5223F42F65001CEAB1 /* Sources */ = {
440 | isa = PBXSourcesBuildPhase;
441 | buildActionMask = 2147483647;
442 | files = (
443 | E18D8A5323F42F65001CEAB1 /* SwimplyPlayIndicator.swift in Sources */,
444 | );
445 | runOnlyForDeploymentPostprocessing = 0;
446 | };
447 | E18D8A5D23F42F6D001CEAB1 /* Sources */ = {
448 | isa = PBXSourcesBuildPhase;
449 | buildActionMask = 2147483647;
450 | files = (
451 | E18D8A5E23F42F6D001CEAB1 /* SwimplyPlayIndicator.swift in Sources */,
452 | );
453 | runOnlyForDeploymentPostprocessing = 0;
454 | };
455 | E18D8A6823F42F70001CEAB1 /* Sources */ = {
456 | isa = PBXSourcesBuildPhase;
457 | buildActionMask = 2147483647;
458 | files = (
459 | E18D8A6923F42F70001CEAB1 /* SwimplyPlayIndicator.swift in Sources */,
460 | );
461 | runOnlyForDeploymentPostprocessing = 0;
462 | };
463 | /* End PBXSourcesBuildPhase section */
464 |
465 | /* Begin PBXTargetDependency section */
466 | 425E49022C75D03F00927F9D /* PBXTargetDependency */ = {
467 | isa = PBXTargetDependency;
468 | target = E18D8A4223F42EB0001CEAB1 /* PlayIndicator-iOS */;
469 | targetProxy = 425E49012C75D03F00927F9D /* PBXContainerItemProxy */;
470 | };
471 | 79029AE623F80929009F2ACA /* PBXTargetDependency */ = {
472 | isa = PBXTargetDependency;
473 | target = E18D8A5023F42F65001CEAB1 /* PlayIndicator-macOS */;
474 | targetProxy = 79029AE523F80929009F2ACA /* PBXContainerItemProxy */;
475 | };
476 | /* End PBXTargetDependency section */
477 |
478 | /* Begin XCBuildConfiguration section */
479 | 425E48FC2C75D01900927F9D /* Debug */ = {
480 | isa = XCBuildConfiguration;
481 | buildSettings = {
482 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
483 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
484 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
485 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
486 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
487 | CODE_SIGN_STYLE = Automatic;
488 | CURRENT_PROJECT_VERSION = 1;
489 | DEVELOPMENT_ASSET_PATHS = "\"Example-iOS/Preview Content\"";
490 | DEVELOPMENT_TEAM = YE33ZK7Z99;
491 | ENABLE_PREVIEWS = YES;
492 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
493 | GCC_C_LANGUAGE_STANDARD = gnu17;
494 | GENERATE_INFOPLIST_FILE = YES;
495 | INFOPLIST_FILE = "Example-iOS/Info.plist";
496 | INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
497 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
498 | INFOPLIST_KEY_UILaunchScreen_Generation = YES;
499 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
500 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
501 | IPHONEOS_DEPLOYMENT_TARGET = 17.5;
502 | LD_RUNPATH_SEARCH_PATHS = (
503 | "$(inherited)",
504 | "@executable_path/Frameworks",
505 | );
506 | LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
507 | MARKETING_VERSION = 1.0;
508 | PRODUCT_BUNDLE_IDENTIFIER = "com.obrhoff.SwimplyPlayIndicator.example.ios.Example-iOS";
509 | PRODUCT_NAME = "$(TARGET_NAME)";
510 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
511 | SWIFT_EMIT_LOC_STRINGS = YES;
512 | SWIFT_VERSION = 5.0;
513 | TARGETED_DEVICE_FAMILY = "1,2";
514 | };
515 | name = Debug;
516 | };
517 | 425E48FD2C75D01900927F9D /* Release */ = {
518 | isa = XCBuildConfiguration;
519 | buildSettings = {
520 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
521 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
522 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
523 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
524 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
525 | CODE_SIGN_STYLE = Automatic;
526 | CURRENT_PROJECT_VERSION = 1;
527 | DEVELOPMENT_ASSET_PATHS = "\"Example-iOS/Preview Content\"";
528 | DEVELOPMENT_TEAM = YE33ZK7Z99;
529 | ENABLE_PREVIEWS = YES;
530 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
531 | GCC_C_LANGUAGE_STANDARD = gnu17;
532 | GENERATE_INFOPLIST_FILE = YES;
533 | INFOPLIST_FILE = "Example-iOS/Info.plist";
534 | INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
535 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
536 | INFOPLIST_KEY_UILaunchScreen_Generation = YES;
537 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
538 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
539 | IPHONEOS_DEPLOYMENT_TARGET = 17.5;
540 | LD_RUNPATH_SEARCH_PATHS = (
541 | "$(inherited)",
542 | "@executable_path/Frameworks",
543 | );
544 | LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
545 | MARKETING_VERSION = 1.0;
546 | PRODUCT_BUNDLE_IDENTIFIER = "com.obrhoff.SwimplyPlayIndicator.example.ios.Example-iOS";
547 | PRODUCT_NAME = "$(TARGET_NAME)";
548 | SWIFT_EMIT_LOC_STRINGS = YES;
549 | SWIFT_VERSION = 5.0;
550 | TARGETED_DEVICE_FAMILY = "1,2";
551 | };
552 | name = Release;
553 | };
554 | 79029ADF23F8091C009F2ACA /* Debug */ = {
555 | isa = XCBuildConfiguration;
556 | buildSettings = {
557 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
558 | CODE_SIGN_STYLE = Automatic;
559 | COMBINE_HIDPI_IMAGES = YES;
560 | DEVELOPMENT_TEAM = YE33ZK7Z99;
561 | ENABLE_HARDENED_RUNTIME = YES;
562 | ENABLE_PREVIEWS = YES;
563 | INFOPLIST_FILE = "Example-macOS/Info.plist";
564 | LD_RUNPATH_SEARCH_PATHS = (
565 | "$(inherited)",
566 | "@executable_path/../Frameworks",
567 | );
568 | MACOSX_DEPLOYMENT_TARGET = 11.0;
569 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator.example;
570 | PRODUCT_NAME = "$(TARGET_NAME)";
571 | SDKROOT = macosx;
572 | SWIFT_VERSION = 5.0;
573 | };
574 | name = Debug;
575 | };
576 | 79029AE023F8091C009F2ACA /* Release */ = {
577 | isa = XCBuildConfiguration;
578 | buildSettings = {
579 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
580 | CODE_SIGN_STYLE = Automatic;
581 | COMBINE_HIDPI_IMAGES = YES;
582 | DEVELOPMENT_TEAM = YE33ZK7Z99;
583 | ENABLE_HARDENED_RUNTIME = YES;
584 | ENABLE_PREVIEWS = YES;
585 | INFOPLIST_FILE = "Example-macOS/Info.plist";
586 | LD_RUNPATH_SEARCH_PATHS = (
587 | "$(inherited)",
588 | "@executable_path/../Frameworks",
589 | );
590 | MACOSX_DEPLOYMENT_TARGET = 11.0;
591 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator.example;
592 | PRODUCT_NAME = "$(TARGET_NAME)";
593 | SDKROOT = macosx;
594 | SWIFT_VERSION = 5.0;
595 | };
596 | name = Release;
597 | };
598 | E18D8A4923F42EB0001CEAB1 /* Debug */ = {
599 | isa = XCBuildConfiguration;
600 | buildSettings = {
601 | ALWAYS_SEARCH_USER_PATHS = NO;
602 | CLANG_ANALYZER_NONNULL = YES;
603 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
604 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
605 | CLANG_CXX_LIBRARY = "libc++";
606 | CLANG_ENABLE_MODULES = YES;
607 | CLANG_ENABLE_OBJC_ARC = YES;
608 | CLANG_ENABLE_OBJC_WEAK = YES;
609 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
610 | CLANG_WARN_BOOL_CONVERSION = YES;
611 | CLANG_WARN_COMMA = YES;
612 | CLANG_WARN_CONSTANT_CONVERSION = YES;
613 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
614 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
615 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
616 | CLANG_WARN_EMPTY_BODY = YES;
617 | CLANG_WARN_ENUM_CONVERSION = YES;
618 | CLANG_WARN_INFINITE_RECURSION = YES;
619 | CLANG_WARN_INT_CONVERSION = YES;
620 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
621 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
622 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
623 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
624 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
625 | CLANG_WARN_STRICT_PROTOTYPES = YES;
626 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
627 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
628 | CLANG_WARN_UNREACHABLE_CODE = YES;
629 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
630 | COPY_PHASE_STRIP = NO;
631 | CURRENT_PROJECT_VERSION = 1;
632 | DEBUG_INFORMATION_FORMAT = dwarf;
633 | ENABLE_STRICT_OBJC_MSGSEND = YES;
634 | ENABLE_TESTABILITY = YES;
635 | GCC_C_LANGUAGE_STANDARD = gnu11;
636 | GCC_DYNAMIC_NO_PIC = NO;
637 | GCC_NO_COMMON_BLOCKS = YES;
638 | GCC_OPTIMIZATION_LEVEL = 0;
639 | GCC_PREPROCESSOR_DEFINITIONS = (
640 | "DEBUG=1",
641 | "$(inherited)",
642 | );
643 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
644 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
645 | GCC_WARN_UNDECLARED_SELECTOR = YES;
646 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
647 | GCC_WARN_UNUSED_FUNCTION = YES;
648 | GCC_WARN_UNUSED_VARIABLE = YES;
649 | IPHONEOS_DEPLOYMENT_TARGET = 13.2;
650 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
651 | MTL_FAST_MATH = YES;
652 | ONLY_ACTIVE_ARCH = YES;
653 | SDKROOT = iphoneos;
654 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
655 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
656 | VERSIONING_SYSTEM = "apple-generic";
657 | VERSION_INFO_PREFIX = "";
658 | };
659 | name = Debug;
660 | };
661 | E18D8A4A23F42EB0001CEAB1 /* Release */ = {
662 | isa = XCBuildConfiguration;
663 | buildSettings = {
664 | ALWAYS_SEARCH_USER_PATHS = NO;
665 | CLANG_ANALYZER_NONNULL = YES;
666 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
667 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
668 | CLANG_CXX_LIBRARY = "libc++";
669 | CLANG_ENABLE_MODULES = YES;
670 | CLANG_ENABLE_OBJC_ARC = YES;
671 | CLANG_ENABLE_OBJC_WEAK = YES;
672 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
673 | CLANG_WARN_BOOL_CONVERSION = YES;
674 | CLANG_WARN_COMMA = YES;
675 | CLANG_WARN_CONSTANT_CONVERSION = YES;
676 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
677 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
678 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
679 | CLANG_WARN_EMPTY_BODY = YES;
680 | CLANG_WARN_ENUM_CONVERSION = YES;
681 | CLANG_WARN_INFINITE_RECURSION = YES;
682 | CLANG_WARN_INT_CONVERSION = YES;
683 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
684 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
685 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
686 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
687 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
688 | CLANG_WARN_STRICT_PROTOTYPES = YES;
689 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
690 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
691 | CLANG_WARN_UNREACHABLE_CODE = YES;
692 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
693 | COPY_PHASE_STRIP = NO;
694 | CURRENT_PROJECT_VERSION = 1;
695 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
696 | ENABLE_NS_ASSERTIONS = NO;
697 | ENABLE_STRICT_OBJC_MSGSEND = YES;
698 | GCC_C_LANGUAGE_STANDARD = gnu11;
699 | GCC_NO_COMMON_BLOCKS = YES;
700 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
701 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
702 | GCC_WARN_UNDECLARED_SELECTOR = YES;
703 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
704 | GCC_WARN_UNUSED_FUNCTION = YES;
705 | GCC_WARN_UNUSED_VARIABLE = YES;
706 | IPHONEOS_DEPLOYMENT_TARGET = 13.2;
707 | MTL_ENABLE_DEBUG_INFO = NO;
708 | MTL_FAST_MATH = YES;
709 | SDKROOT = iphoneos;
710 | SWIFT_COMPILATION_MODE = wholemodule;
711 | SWIFT_OPTIMIZATION_LEVEL = "-O";
712 | VALIDATE_PRODUCT = YES;
713 | VERSIONING_SYSTEM = "apple-generic";
714 | VERSION_INFO_PREFIX = "";
715 | };
716 | name = Release;
717 | };
718 | E18D8A4C23F42EB0001CEAB1 /* Debug */ = {
719 | isa = XCBuildConfiguration;
720 | buildSettings = {
721 | APPLICATION_EXTENSION_API_ONLY = YES;
722 | CLANG_ENABLE_MODULES = YES;
723 | CODE_SIGN_STYLE = Automatic;
724 | DEFINES_MODULE = YES;
725 | DEVELOPMENT_TEAM = YE33ZK7Z99;
726 | DYLIB_COMPATIBILITY_VERSION = 1;
727 | DYLIB_CURRENT_VERSION = 1;
728 | DYLIB_INSTALL_NAME_BASE = "@rpath";
729 | INFOPLIST_FILE = Sources/Info.plist;
730 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
731 | LD_RUNPATH_SEARCH_PATHS = (
732 | "$(inherited)",
733 | "@executable_path/Frameworks",
734 | "@loader_path/Frameworks",
735 | );
736 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
737 | PRODUCT_NAME = SwimplyPlayIndicator;
738 | SKIP_INSTALL = YES;
739 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
740 | SWIFT_VERSION = 5.0;
741 | TARGETED_DEVICE_FAMILY = "1,2";
742 | };
743 | name = Debug;
744 | };
745 | E18D8A4D23F42EB0001CEAB1 /* Release */ = {
746 | isa = XCBuildConfiguration;
747 | buildSettings = {
748 | APPLICATION_EXTENSION_API_ONLY = YES;
749 | CLANG_ENABLE_MODULES = YES;
750 | CODE_SIGN_STYLE = Automatic;
751 | DEFINES_MODULE = YES;
752 | DEVELOPMENT_TEAM = YE33ZK7Z99;
753 | DYLIB_COMPATIBILITY_VERSION = 1;
754 | DYLIB_CURRENT_VERSION = 1;
755 | DYLIB_INSTALL_NAME_BASE = "@rpath";
756 | INFOPLIST_FILE = Sources/Info.plist;
757 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
758 | LD_RUNPATH_SEARCH_PATHS = (
759 | "$(inherited)",
760 | "@executable_path/Frameworks",
761 | "@loader_path/Frameworks",
762 | );
763 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
764 | PRODUCT_NAME = SwimplyPlayIndicator;
765 | SKIP_INSTALL = YES;
766 | SWIFT_VERSION = 5.0;
767 | TARGETED_DEVICE_FAMILY = "1,2";
768 | };
769 | name = Release;
770 | };
771 | E18D8A5723F42F65001CEAB1 /* Debug */ = {
772 | isa = XCBuildConfiguration;
773 | buildSettings = {
774 | APPLICATION_EXTENSION_API_ONLY = YES;
775 | CLANG_ENABLE_MODULES = YES;
776 | CODE_SIGN_STYLE = Automatic;
777 | DEFINES_MODULE = YES;
778 | DEVELOPMENT_TEAM = YE33ZK7Z99;
779 | DYLIB_COMPATIBILITY_VERSION = 1;
780 | DYLIB_CURRENT_VERSION = 1;
781 | DYLIB_INSTALL_NAME_BASE = "@rpath";
782 | INFOPLIST_FILE = Sources/Info.plist;
783 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
784 | LD_RUNPATH_SEARCH_PATHS = (
785 | "$(inherited)",
786 | "@executable_path/Frameworks",
787 | "@loader_path/Frameworks",
788 | );
789 | MACOSX_DEPLOYMENT_TARGET = 10.15;
790 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
791 | PRODUCT_NAME = SwimplyPlayIndicator;
792 | SDKROOT = macosx;
793 | SKIP_INSTALL = YES;
794 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
795 | SWIFT_VERSION = 5.0;
796 | TARGETED_DEVICE_FAMILY = "1,2";
797 | };
798 | name = Debug;
799 | };
800 | E18D8A5823F42F65001CEAB1 /* Release */ = {
801 | isa = XCBuildConfiguration;
802 | buildSettings = {
803 | APPLICATION_EXTENSION_API_ONLY = YES;
804 | CLANG_ENABLE_MODULES = YES;
805 | CODE_SIGN_STYLE = Automatic;
806 | DEFINES_MODULE = YES;
807 | DEVELOPMENT_TEAM = YE33ZK7Z99;
808 | DYLIB_COMPATIBILITY_VERSION = 1;
809 | DYLIB_CURRENT_VERSION = 1;
810 | DYLIB_INSTALL_NAME_BASE = "@rpath";
811 | INFOPLIST_FILE = Sources/Info.plist;
812 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
813 | LD_RUNPATH_SEARCH_PATHS = (
814 | "$(inherited)",
815 | "@executable_path/Frameworks",
816 | "@loader_path/Frameworks",
817 | );
818 | MACOSX_DEPLOYMENT_TARGET = 10.15;
819 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
820 | PRODUCT_NAME = SwimplyPlayIndicator;
821 | SDKROOT = macosx;
822 | SKIP_INSTALL = YES;
823 | SWIFT_VERSION = 5.0;
824 | TARGETED_DEVICE_FAMILY = "1,2";
825 | };
826 | name = Release;
827 | };
828 | E18D8A6223F42F6D001CEAB1 /* Debug */ = {
829 | isa = XCBuildConfiguration;
830 | buildSettings = {
831 | APPLICATION_EXTENSION_API_ONLY = YES;
832 | CLANG_ENABLE_MODULES = YES;
833 | CODE_SIGN_STYLE = Automatic;
834 | DEFINES_MODULE = YES;
835 | DEVELOPMENT_TEAM = YE33ZK7Z99;
836 | DYLIB_COMPATIBILITY_VERSION = 1;
837 | DYLIB_CURRENT_VERSION = 1;
838 | DYLIB_INSTALL_NAME_BASE = "@rpath";
839 | INFOPLIST_FILE = Sources/Info.plist;
840 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
841 | LD_RUNPATH_SEARCH_PATHS = (
842 | "$(inherited)",
843 | "@executable_path/Frameworks",
844 | "@loader_path/Frameworks",
845 | );
846 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
847 | PRODUCT_NAME = SwimplyPlayIndicator;
848 | SDKROOT = appletvos;
849 | SKIP_INSTALL = YES;
850 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
851 | SWIFT_VERSION = 5.0;
852 | TVOS_DEPLOYMENT_TARGET = 13.0;
853 | };
854 | name = Debug;
855 | };
856 | E18D8A6323F42F6D001CEAB1 /* Release */ = {
857 | isa = XCBuildConfiguration;
858 | buildSettings = {
859 | APPLICATION_EXTENSION_API_ONLY = YES;
860 | CLANG_ENABLE_MODULES = YES;
861 | CODE_SIGN_STYLE = Automatic;
862 | DEFINES_MODULE = YES;
863 | DEVELOPMENT_TEAM = YE33ZK7Z99;
864 | DYLIB_COMPATIBILITY_VERSION = 1;
865 | DYLIB_CURRENT_VERSION = 1;
866 | DYLIB_INSTALL_NAME_BASE = "@rpath";
867 | INFOPLIST_FILE = Sources/Info.plist;
868 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
869 | LD_RUNPATH_SEARCH_PATHS = (
870 | "$(inherited)",
871 | "@executable_path/Frameworks",
872 | "@loader_path/Frameworks",
873 | );
874 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
875 | PRODUCT_NAME = SwimplyPlayIndicator;
876 | SDKROOT = appletvos;
877 | SKIP_INSTALL = YES;
878 | SWIFT_VERSION = 5.0;
879 | TVOS_DEPLOYMENT_TARGET = 13.0;
880 | };
881 | name = Release;
882 | };
883 | E18D8A6D23F42F70001CEAB1 /* Debug */ = {
884 | isa = XCBuildConfiguration;
885 | buildSettings = {
886 | APPLICATION_EXTENSION_API_ONLY = YES;
887 | CLANG_ENABLE_MODULES = YES;
888 | CODE_SIGN_STYLE = Automatic;
889 | DEFINES_MODULE = YES;
890 | DEVELOPMENT_TEAM = YE33ZK7Z99;
891 | DYLIB_COMPATIBILITY_VERSION = 1;
892 | DYLIB_CURRENT_VERSION = 1;
893 | DYLIB_INSTALL_NAME_BASE = "@rpath";
894 | INFOPLIST_FILE = Sources/Info.plist;
895 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
896 | LD_RUNPATH_SEARCH_PATHS = (
897 | "$(inherited)",
898 | "@executable_path/Frameworks",
899 | "@loader_path/Frameworks",
900 | );
901 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
902 | PRODUCT_NAME = SwimplyPlayIndicator;
903 | SDKROOT = watchos;
904 | SKIP_INSTALL = YES;
905 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
906 | SWIFT_VERSION = 5.0;
907 | WATCHOS_DEPLOYMENT_TARGET = 6.0;
908 | };
909 | name = Debug;
910 | };
911 | E18D8A6E23F42F70001CEAB1 /* Release */ = {
912 | isa = XCBuildConfiguration;
913 | buildSettings = {
914 | APPLICATION_EXTENSION_API_ONLY = YES;
915 | CLANG_ENABLE_MODULES = YES;
916 | CODE_SIGN_STYLE = Automatic;
917 | DEFINES_MODULE = YES;
918 | DEVELOPMENT_TEAM = YE33ZK7Z99;
919 | DYLIB_COMPATIBILITY_VERSION = 1;
920 | DYLIB_CURRENT_VERSION = 1;
921 | DYLIB_INSTALL_NAME_BASE = "@rpath";
922 | INFOPLIST_FILE = Sources/Info.plist;
923 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
924 | LD_RUNPATH_SEARCH_PATHS = (
925 | "$(inherited)",
926 | "@executable_path/Frameworks",
927 | "@loader_path/Frameworks",
928 | );
929 | PRODUCT_BUNDLE_IDENTIFIER = com.obrhoff.SwimplyPlayIndicator;
930 | PRODUCT_NAME = SwimplyPlayIndicator;
931 | SDKROOT = watchos;
932 | SKIP_INSTALL = YES;
933 | SWIFT_VERSION = 5.0;
934 | WATCHOS_DEPLOYMENT_TARGET = 6.0;
935 | };
936 | name = Release;
937 | };
938 | /* End XCBuildConfiguration section */
939 |
940 | /* Begin XCConfigurationList section */
941 | 425E48FB2C75D01900927F9D /* Build configuration list for PBXNativeTarget "Example-iOS" */ = {
942 | isa = XCConfigurationList;
943 | buildConfigurations = (
944 | 425E48FC2C75D01900927F9D /* Debug */,
945 | 425E48FD2C75D01900927F9D /* Release */,
946 | );
947 | defaultConfigurationIsVisible = 0;
948 | defaultConfigurationName = Release;
949 | };
950 | 79029AE123F8091C009F2ACA /* Build configuration list for PBXNativeTarget "Example-macOS" */ = {
951 | isa = XCConfigurationList;
952 | buildConfigurations = (
953 | 79029ADF23F8091C009F2ACA /* Debug */,
954 | 79029AE023F8091C009F2ACA /* Release */,
955 | );
956 | defaultConfigurationIsVisible = 0;
957 | defaultConfigurationName = Release;
958 | };
959 | E18D8A3D23F42EB0001CEAB1 /* Build configuration list for PBXProject "SwimplyPlayIndicator" */ = {
960 | isa = XCConfigurationList;
961 | buildConfigurations = (
962 | E18D8A4923F42EB0001CEAB1 /* Debug */,
963 | E18D8A4A23F42EB0001CEAB1 /* Release */,
964 | );
965 | defaultConfigurationIsVisible = 0;
966 | defaultConfigurationName = Release;
967 | };
968 | E18D8A4B23F42EB0001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-iOS" */ = {
969 | isa = XCConfigurationList;
970 | buildConfigurations = (
971 | E18D8A4C23F42EB0001CEAB1 /* Debug */,
972 | E18D8A4D23F42EB0001CEAB1 /* Release */,
973 | );
974 | defaultConfigurationIsVisible = 0;
975 | defaultConfigurationName = Release;
976 | };
977 | E18D8A5623F42F65001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-macOS" */ = {
978 | isa = XCConfigurationList;
979 | buildConfigurations = (
980 | E18D8A5723F42F65001CEAB1 /* Debug */,
981 | E18D8A5823F42F65001CEAB1 /* Release */,
982 | );
983 | defaultConfigurationIsVisible = 0;
984 | defaultConfigurationName = Release;
985 | };
986 | E18D8A6123F42F6D001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-tvOS" */ = {
987 | isa = XCConfigurationList;
988 | buildConfigurations = (
989 | E18D8A6223F42F6D001CEAB1 /* Debug */,
990 | E18D8A6323F42F6D001CEAB1 /* Release */,
991 | );
992 | defaultConfigurationIsVisible = 0;
993 | defaultConfigurationName = Release;
994 | };
995 | E18D8A6C23F42F70001CEAB1 /* Build configuration list for PBXNativeTarget "PlayIndicator-watchOS" */ = {
996 | isa = XCConfigurationList;
997 | buildConfigurations = (
998 | E18D8A6D23F42F70001CEAB1 /* Debug */,
999 | E18D8A6E23F42F70001CEAB1 /* Release */,
1000 | );
1001 | defaultConfigurationIsVisible = 0;
1002 | defaultConfigurationName = Release;
1003 | };
1004 | /* End XCConfigurationList section */
1005 | };
1006 | rootObject = E18D8A3A23F42EB0001CEAB1 /* Project object */;
1007 | }
1008 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/xcshareddata/xcschemes/SwimplyPlayIndicator-iOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
57 |
58 |
59 |
60 |
62 |
63 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/xcshareddata/xcschemes/SwimplyPlayIndicator-macOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
57 |
58 |
59 |
60 |
62 |
63 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/xcshareddata/xcschemes/SwimplyPlayIndicator-tvOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
57 |
58 |
59 |
60 |
62 |
63 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/SwimplyPlayIndicator.xcodeproj/xcshareddata/xcschemes/SwimplyPlayIndicator-watchOS.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
57 |
58 |
59 |
60 |
62 |
63 |
66 |
67 |
68 |
--------------------------------------------------------------------------------