├── .gitignore ├── ACSlider.podspec ├── ACSlider ├── Assets │ ├── .gitkeep │ ├── BebasNeueWhatever.ttf │ └── Montserrat-SemiBold.ttf └── Classes │ ├── .gitkeep │ ├── ACSlider.swift │ ├── CircleView.swift │ ├── PodFontsHelper.swift │ ├── ThumbView.swift │ └── UIViewHelpers.swift ├── Example ├── ACSlider.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── ACSlider-Example.xcscheme ├── ACSlider.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── ACSlider │ ├── AppDelegate.swift │ ├── Base.lproj │ │ └── Main.storyboard │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon.png │ │ │ ├── icon_20pt@2x.png │ │ │ ├── icon_20pt@3x.png │ │ │ ├── icon_29pt@2x.png │ │ │ ├── icon_29pt@3x.png │ │ │ ├── icon_40pt@2x.png │ │ │ ├── icon_40pt@3x.png │ │ │ ├── icon_60pt@2x.png │ │ │ └── icon_60pt@3x.png │ │ ├── Contents.json │ │ └── robot.imageset │ │ │ ├── Contents.json │ │ │ └── robot@1x.pdf │ ├── Info.plist │ ├── LaunchScreen.storyboard │ └── MainViewController.swift ├── Podfile ├── Podfile.lock └── Pods │ ├── Local Podspecs │ └── ACSlider.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── Target Support Files │ ├── ACSlider │ ├── ACSlider-Info.plist │ ├── ACSlider-dummy.m │ ├── ACSlider-prefix.pch │ ├── ACSlider-umbrella.h │ ├── ACSlider.modulemap │ ├── ACSlider.xcconfig │ ├── Info.plist │ ├── ResourceBundle-ACSlider-ACSlider-Info.plist │ └── ResourceBundle-ACSlider-Info.plist │ └── Pods-ACSlider_Example │ ├── Info.plist │ ├── Pods-ACSlider_Example-Info.plist │ ├── Pods-ACSlider_Example-acknowledgements.markdown │ ├── Pods-ACSlider_Example-acknowledgements.plist │ ├── Pods-ACSlider_Example-dummy.m │ ├── Pods-ACSlider_Example-frameworks.sh │ ├── Pods-ACSlider_Example-resources.sh │ ├── Pods-ACSlider_Example-umbrella.h │ ├── Pods-ACSlider_Example.debug.xcconfig │ ├── Pods-ACSlider_Example.modulemap │ └── Pods-ACSlider_Example.release.xcconfig ├── LICENSE ├── README.md ├── _Pods.xcodeproj ├── header.svg ├── preview.gif └── robot.svg /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | ## Playgrounds 32 | timeline.xctimeline 33 | playground.xcworkspace 34 | 35 | # Swift Package Manager 36 | # 37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 38 | # Packages/ 39 | # Package.pins 40 | # Package.resolved 41 | .build/ 42 | 43 | # CocoaPods 44 | # 45 | # We recommend against adding the Pods directory to your .gitignore. However 46 | # you should judge for yourself, the pros and cons are mentioned at: 47 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 48 | # 49 | # Pods/ 50 | 51 | # Carthage 52 | # 53 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 54 | # Carthage/Checkouts 55 | 56 | Carthage/Build 57 | 58 | # fastlane 59 | # 60 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 61 | # screenshots whenever they are needed. 62 | # For more information about the recommended setup visit: 63 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 64 | 65 | fastlane/report.xml 66 | fastlane/Preview.html 67 | fastlane/screenshots/**/*.png 68 | fastlane/test_output 69 | -------------------------------------------------------------------------------- /ACSlider.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'ACSlider' 3 | s.version = '1.0.2' 4 | s.summary = 'A slider displaying selected value.' 5 | s.description = <<-DESC 6 | ⏰ A Slider for Redmadrobot proof of concept for the Colored Alarm Clock Interface shot @ Dribbble 7 | DESC 8 | 9 | s.homepage = 'https://github.com/RedMadRobot/ACSlider' 10 | s.license = { :type => 'MIT' } 11 | s.author = { 'Roman Churkin' => 'rc@redmadrobot.com' } 12 | s.source = { :git => 'https://github.com/RedMadRobot/ACSlider.git', :tag => s.version.to_s } 13 | s.social_media_url = 'https://twitter.com/firmach' 14 | 15 | s.ios.deployment_target = '10.0' 16 | 17 | s.swift_version = '4.2' 18 | 19 | s.source_files = 'ACSlider/Classes/*.swift' 20 | 21 | s.resource_bundles = { 22 | 'ACSlider' => ['ACSlider/Assets/*.ttf'] 23 | } 24 | 25 | end 26 | -------------------------------------------------------------------------------- /ACSlider/Assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/ACSlider/Assets/.gitkeep -------------------------------------------------------------------------------- /ACSlider/Assets/BebasNeueWhatever.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/ACSlider/Assets/BebasNeueWhatever.ttf -------------------------------------------------------------------------------- /ACSlider/Assets/Montserrat-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/ACSlider/Assets/Montserrat-SemiBold.ttf -------------------------------------------------------------------------------- /ACSlider/Classes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/ACSlider/Classes/.gitkeep -------------------------------------------------------------------------------- /ACSlider/Classes/ACSlider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ACSlider.swift 3 | // ACSlider 4 | // 5 | // Created by Roman Churkin on 12/12/2018. 6 | // Copyright © 2018 Redmadrobot. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | protocol TitleValueProvider { 13 | var title: String? { get set } 14 | var value: CGFloat { get set } 15 | } 16 | 17 | @IBDesignable 18 | public final class ACSlider: UIControl, TitleValueProvider { 19 | 20 | @IBInspectable public var title: String? { 21 | get { return thumbView.title } 22 | set { thumbView.title = newValue } 23 | } 24 | @IBInspectable public var value: CGFloat { 25 | get { return thumbView.value } 26 | set { thumbView.value = newValue } 27 | } 28 | @IBInspectable public var maxValue: CGFloat = 23 29 | 30 | // MARK: - 31 | 32 | private var thumbSize: CGSize { 33 | return thumbView.intrinsicContentSize 34 | } 35 | 36 | private let thumbView: ThumbView = { 37 | let thumbView = ThumbView(frame: .zero) 38 | thumbView.frame = CGRect(origin: .zero, size: thumbView.intrinsicContentSize) 39 | thumbView.isUserInteractionEnabled = false 40 | return thumbView 41 | }() 42 | 43 | 44 | private let minTrackView = ACSlider.prepareTrackView() 45 | private let maxTrackView = ACSlider.prepareTrackView() 46 | 47 | private static func prepareTrackView() -> UIView { 48 | let view = UIView(frame: .zero) 49 | view.layer.cornerRadius = 1 50 | view.isUserInteractionEnabled = false 51 | return view 52 | } 53 | 54 | 55 | // MARK: - 56 | 57 | override public var intrinsicContentSize: CGSize { 58 | return CGSize(width: UIView.noIntrinsicMetric, 59 | height: thumbSize.height) 60 | } 61 | 62 | override init(frame: CGRect) { 63 | super.init(frame: frame) 64 | configure() 65 | } 66 | 67 | required init?(coder aDecoder: NSCoder) { 68 | super.init(coder: aDecoder) 69 | configure() 70 | } 71 | 72 | func configure() { 73 | tintColorUpdate() 74 | 75 | addSubview(minTrackView) 76 | addSubview(maxTrackView) 77 | addSubview(thumbView) 78 | } 79 | 80 | override public func tintColorDidChange() { 81 | super.tintColorDidChange() 82 | tintColorUpdate() 83 | } 84 | 85 | override public func layoutSubviews() { 86 | super.layoutSubviews() 87 | recalculateFrames() 88 | } 89 | 90 | 91 | // MARK: - 92 | 93 | private func tintColorUpdate() { 94 | thumbView.tintColor = tintColor 95 | minTrackView.backgroundColor = tintColor 96 | maxTrackView.backgroundColor = tintColor 97 | } 98 | 99 | private func recalculateFrames() { 100 | let stepWidth = (bounds.width - thumbSize.width) / maxValue 101 | let currentX = stepWidth * value 102 | 103 | thumbView.frame = CGRect(origin: CGPoint(x: currentX, y: 0), 104 | size: thumbSize) 105 | 106 | minTrackView.frame = CGRect(origin: CGPoint(x: 0, y: bounds.midY - 1), 107 | size: CGSize(width: thumbView.frame.minX, height: 2)) 108 | 109 | maxTrackView.frame = CGRect(origin: CGPoint(x: thumbView.frame.maxX, y: bounds.midY - 1), 110 | size: CGSize(width: bounds.width - thumbView.frame.maxX, height: 2)) 111 | } 112 | 113 | 114 | // MARK: - 115 | 116 | private func checkBounds(start: T, end: T, x: T ) -> T where T : Comparable { 117 | return max(start, min(end, x)) 118 | } 119 | 120 | private func updateValue(for touch: UITouch, animated: Bool = false) { 121 | let x = checkBounds(start: thumbSize.width / 2, 122 | end: bounds.width - thumbSize.width / 2, 123 | x: touch.location(in: self).x) 124 | 125 | let position = x - thumbSize.width / 2 126 | 127 | let progress = position / (bounds.width - thumbSize.width) 128 | 129 | value = maxValue * progress 130 | 131 | if animated { 132 | UIView.animateEasy { self.recalculateFrames() } 133 | } else { 134 | recalculateFrames() 135 | } 136 | 137 | sendActions(for: .valueChanged) 138 | } 139 | 140 | 141 | // MARK: - 142 | 143 | override public func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool { 144 | let result = super.beginTracking(touch, with: event) 145 | let insideThumb = thumbView.frame.contains(touch.location(in: self)) 146 | 147 | if result && insideThumb { 148 | thumbView.animateTrackingBegin() 149 | updateValue(for: touch, animated: true) 150 | } 151 | 152 | return result && insideThumb 153 | } 154 | 155 | override public func continueTracking(_ touch: UITouch, with event: UIEvent?) -> Bool { 156 | updateValue(for: touch, animated: false) 157 | return super.continueTracking(touch, with: event) 158 | } 159 | 160 | override public func endTracking(_ touch: UITouch?, with event: UIEvent?) { 161 | thumbView.animateTrackingEnd() 162 | 163 | value = value.rounded() 164 | 165 | UIView.animateEasy { self.recalculateFrames() } 166 | 167 | sendActions(for: .valueChanged) 168 | } 169 | 170 | } 171 | -------------------------------------------------------------------------------- /ACSlider/Classes/CircleView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CircleView.swift 3 | // ACSlider 4 | // 5 | // Created by Roman Churkin on 25/12/2018. 6 | // Copyright © 2018 Redmadrobot. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | @IBDesignable 13 | final class CircleView: UIView { 14 | 15 | override init(frame: CGRect) { 16 | super.init(frame: frame) 17 | configure() 18 | } 19 | 20 | required init?(coder aDecoder: NSCoder) { 21 | super.init(coder: aDecoder) 22 | configure() 23 | } 24 | 25 | private func configure() { 26 | layer.borderColor = tintColor.cgColor 27 | layer.borderWidth = 2 28 | } 29 | 30 | override func tintColorDidChange() { 31 | super.tintColorDidChange() 32 | layer.borderColor = tintColor.cgColor 33 | } 34 | 35 | override func layoutSubviews() { 36 | super.layoutSubviews() 37 | layer.cornerRadius = min(bounds.height, bounds.width) / 2 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /ACSlider/Classes/PodFontsHelper.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIFont.swift 3 | // ACSlider 4 | // 5 | // Created by Roman Churkin on 15/01/2019. 6 | // 7 | 8 | import UIKit 9 | 10 | 11 | struct PodFontsHelper { 12 | 13 | static var fonts = false 14 | 15 | static func registerFonts() { 16 | guard !fonts else { return } 17 | fonts = true 18 | 19 | self.registerFont(fontName: "BebasNeueWhatever", fontExtension: "ttf") 20 | self.registerFont(fontName: "Montserrat-SemiBold", fontExtension: "ttf") 21 | } 22 | 23 | static func registerFont(fontName: String, 24 | fontExtension: String) { 25 | 26 | let bundle = Bundle(for: ACSlider.self) 27 | 28 | guard let resourcesBundleURL = bundle.url(forResource: "ACSlider", 29 | withExtension: "bundle"), 30 | let resourcesBundle = Bundle(url: resourcesBundleURL) else { 31 | fatalError("Couldn't find resources bundle") 32 | } 33 | 34 | guard let fontURL = resourcesBundle.url(forResource: fontName, withExtension: fontExtension) else { 35 | fatalError("Couldn't find font \(fontName)") 36 | } 37 | 38 | guard let fontDataProvider = CGDataProvider(url: fontURL as CFURL) else { 39 | fatalError("Couldn't load data from the font \(fontName)") 40 | } 41 | 42 | guard let font = CGFont(fontDataProvider) else { 43 | fatalError("Couldn't create font from data") 44 | } 45 | 46 | var error: Unmanaged? 47 | let success = CTFontManagerRegisterGraphicsFont(font, &error) 48 | guard success else { 49 | print("Error registering font. Maybe it was already registered.") 50 | return 51 | } 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /ACSlider/Classes/ThumbView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ThumbView.swift 3 | // ACSlider 4 | // 5 | // Created by Roman Churkin on 25/12/2018. 6 | // Copyright © 2018 Redmadrobot. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | @IBDesignable 13 | final class ThumbView: UIView, TitleValueProvider { 14 | 15 | var title: String? { 16 | get { return titleLabel.text } 17 | set { titleLabel.text = newValue } 18 | } 19 | 20 | private static let valueFormat = "%02.0f" 21 | 22 | private var rawValue: CGFloat = 0 23 | 24 | var value: CGFloat { 25 | get { return rawValue } 26 | set { 27 | rawValue = newValue 28 | valueLabel.text = String(format: ThumbView.valueFormat, newValue) 29 | } 30 | } 31 | 32 | 33 | // MARK: - 34 | 35 | private let valueLabel = ThumbView.createLabel() 36 | 37 | private let titleLabel = ThumbView.createLabel() 38 | 39 | private static func createLabel() -> UILabel { 40 | let label = UILabel(frame: .zero) 41 | label.textAlignment = .center 42 | 43 | return label 44 | } 45 | 46 | private let thumbView: UIView = { 47 | return CircleView(frame: .zero) 48 | }() 49 | 50 | override var intrinsicContentSize: CGSize { 51 | return CGSize(width: 60, height: 86) 52 | } 53 | 54 | 55 | // MARK: - 56 | 57 | override init(frame: CGRect) { 58 | super.init(frame: frame) 59 | configure() 60 | } 61 | 62 | required init?(coder aDecoder: NSCoder) { 63 | super.init(coder: aDecoder) 64 | configure() 65 | } 66 | 67 | private func configure() { 68 | PodFontsHelper.registerFonts() 69 | valueLabel.font = UIFont(name: "BebasNeueWhatever", size: 56) 70 | titleLabel.font = UIFont(name: "Montserrat-SemiBold", size: 14) 71 | 72 | addSubview(titleLabel) 73 | addSubview(valueLabel) 74 | addSubview(thumbView) 75 | 76 | value = 0 77 | 78 | configureLayout() 79 | configureTintColor() 80 | 81 | thumbView.transform = CGAffineTransform(scaleX: 0, 82 | y: 0) 83 | thumbView.alpha = 0 84 | } 85 | 86 | private func configureLayout() { 87 | valueLabel.frame = CGRect(x: 0, 88 | y: 0, 89 | width: intrinsicContentSize.width, 90 | height: intrinsicContentSize.height) 91 | 92 | thumbView.frame = CGRect(x: intrinsicContentSize.width/2 - 22, 93 | y: intrinsicContentSize.height/2 - 22, 94 | width: 44, 95 | height: 44) 96 | 97 | titleLabel.frame = CGRect(x: 0, 98 | y: intrinsicContentSize.height - 18, 99 | width: intrinsicContentSize.width, 100 | height: 18) 101 | } 102 | 103 | override func tintColorDidChange() { 104 | super.tintColorDidChange() 105 | configureTintColor() 106 | } 107 | 108 | private func configureTintColor() { 109 | valueLabel.textColor = tintColor 110 | titleLabel.textColor = tintColor 111 | thumbView.tintColor = tintColor 112 | } 113 | 114 | 115 | // MARK: - 116 | 117 | func animateTrackingBegin() { 118 | UIView.animateEasy { 119 | self.animateTracking(valueLabelTransform: CGAffineTransform(translationX: 0, y: -50), 120 | thumbViewTransform: .identity, 121 | thumbViewAlpha: 1) 122 | } 123 | } 124 | 125 | func animateTrackingEnd() { 126 | UIView.animateEasy { 127 | self.animateTracking(valueLabelTransform: .identity, 128 | thumbViewTransform: CGAffineTransform(scaleX: 0, y: 0), 129 | thumbViewAlpha: 0) 130 | } 131 | } 132 | 133 | private func animateTracking(valueLabelTransform: CGAffineTransform, thumbViewTransform: CGAffineTransform, thumbViewAlpha: CGFloat) { 134 | self.valueLabel.transform = valueLabelTransform 135 | self.thumbView.transform = thumbViewTransform 136 | self.thumbView.alpha = thumbViewAlpha 137 | } 138 | } 139 | 140 | 141 | -------------------------------------------------------------------------------- /ACSlider/Classes/UIViewHelpers.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewHelpers.swift 3 | // ACSlider 4 | // 5 | // Created by Roman Churkin on 25/12/2018. 6 | // Copyright © 2018 Redmadrobot. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | extension UIView { 13 | 14 | class func animateEasy(withDuration duration: TimeInterval = 0.15, 15 | _ animations: @escaping () -> Void) { 16 | UIView.animate(withDuration: duration, 17 | delay: 0, 18 | options: .curveEaseInOut, 19 | animations: animations, 20 | completion: nil) 21 | 22 | } 23 | 24 | class func animateLoop(withDuration duration: TimeInterval = 0.15, 25 | _ animations: @escaping () -> Void) { 26 | UIView.animate(withDuration: duration, 27 | delay: 0, 28 | options: [.curveEaseInOut, .repeat, .autoreverse], 29 | animations: animations, 30 | completion: nil) 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /Example/ACSlider.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 4EA8DD74F74E3A7B9F02559B /* Pods_ACSlider_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1F8D9397B4257F191F78E47 /* Pods_ACSlider_Example.framework */; }; 11 | 5162FBFC21F0CD5500E561A3 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5162FBFB21F0CD5500E561A3 /* MainViewController.swift */; }; 12 | 51C4C17821F0C5EA00CA8FF1 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 51C4C17721F0C5EA00CA8FF1 /* LaunchScreen.storyboard */; }; 13 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; 14 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; 15 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXFileReference section */ 19 | 03CAC8219487B78B798EF1EE /* ACSlider.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = ACSlider.podspec; path = ../ACSlider.podspec; sourceTree = ""; }; 20 | 192934B2B5A3C2518806B146 /* Pods-ACSlider_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACSlider_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ACSlider_Tests/Pods-ACSlider_Tests.debug.xcconfig"; sourceTree = ""; }; 21 | 28DC8432F9808286E6BD943D /* Pods_ACSlider_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ACSlider_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 22 | 2F2BAA51556D031BD09DE1EA /* Pods-ACSlider_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACSlider_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.release.xcconfig"; sourceTree = ""; }; 23 | 5162FBFB21F0CD5500E561A3 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; 24 | 51C4C17721F0C5EA00CA8FF1 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 25 | 607FACD01AFB9204008FA782 /* ACSlider_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ACSlider_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 27 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 28 | 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 29 | 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 30 | BCE002DF671098B80FE9AA0E /* Pods-ACSlider_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACSlider_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.debug.xcconfig"; sourceTree = ""; }; 31 | C998072AAEE730367476A646 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 32 | D1F8D9397B4257F191F78E47 /* Pods_ACSlider_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ACSlider_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 33 | DDC1F7FC5EF42F9A03FA3EE2 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 34 | F68B23B54A9A8BB2A68FA064 /* Pods-ACSlider_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACSlider_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ACSlider_Tests/Pods-ACSlider_Tests.release.xcconfig"; sourceTree = ""; }; 35 | /* End PBXFileReference section */ 36 | 37 | /* Begin PBXFrameworksBuildPhase section */ 38 | 607FACCD1AFB9204008FA782 /* Frameworks */ = { 39 | isa = PBXFrameworksBuildPhase; 40 | buildActionMask = 2147483647; 41 | files = ( 42 | 4EA8DD74F74E3A7B9F02559B /* Pods_ACSlider_Example.framework in Frameworks */, 43 | ); 44 | runOnlyForDeploymentPostprocessing = 0; 45 | }; 46 | /* End PBXFrameworksBuildPhase section */ 47 | 48 | /* Begin PBXGroup section */ 49 | 607FACC71AFB9204008FA782 = { 50 | isa = PBXGroup; 51 | children = ( 52 | 607FACF51AFB993E008FA782 /* Podspec Metadata */, 53 | 607FACD21AFB9204008FA782 /* Example for ACSlider */, 54 | 607FACD11AFB9204008FA782 /* Products */, 55 | 9AFCBDDC46A793BE25E38AFF /* Pods */, 56 | CE833A774D2D6330C006C6F5 /* Frameworks */, 57 | ); 58 | sourceTree = ""; 59 | }; 60 | 607FACD11AFB9204008FA782 /* Products */ = { 61 | isa = PBXGroup; 62 | children = ( 63 | 607FACD01AFB9204008FA782 /* ACSlider_Example.app */, 64 | ); 65 | name = Products; 66 | sourceTree = ""; 67 | }; 68 | 607FACD21AFB9204008FA782 /* Example for ACSlider */ = { 69 | isa = PBXGroup; 70 | children = ( 71 | 607FACDC1AFB9204008FA782 /* Images.xcassets */, 72 | 51C4C17721F0C5EA00CA8FF1 /* LaunchScreen.storyboard */, 73 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */, 74 | 607FACD91AFB9204008FA782 /* Main.storyboard */, 75 | 5162FBFB21F0CD5500E561A3 /* MainViewController.swift */, 76 | 607FACD31AFB9204008FA782 /* Supporting Files */, 77 | ); 78 | name = "Example for ACSlider"; 79 | path = ACSlider; 80 | sourceTree = ""; 81 | }; 82 | 607FACD31AFB9204008FA782 /* Supporting Files */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | 607FACD41AFB9204008FA782 /* Info.plist */, 86 | ); 87 | name = "Supporting Files"; 88 | sourceTree = ""; 89 | }; 90 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 03CAC8219487B78B798EF1EE /* ACSlider.podspec */, 94 | DDC1F7FC5EF42F9A03FA3EE2 /* README.md */, 95 | C998072AAEE730367476A646 /* LICENSE */, 96 | ); 97 | name = "Podspec Metadata"; 98 | sourceTree = ""; 99 | }; 100 | 9AFCBDDC46A793BE25E38AFF /* Pods */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | BCE002DF671098B80FE9AA0E /* Pods-ACSlider_Example.debug.xcconfig */, 104 | 2F2BAA51556D031BD09DE1EA /* Pods-ACSlider_Example.release.xcconfig */, 105 | 192934B2B5A3C2518806B146 /* Pods-ACSlider_Tests.debug.xcconfig */, 106 | F68B23B54A9A8BB2A68FA064 /* Pods-ACSlider_Tests.release.xcconfig */, 107 | ); 108 | name = Pods; 109 | sourceTree = ""; 110 | }; 111 | CE833A774D2D6330C006C6F5 /* Frameworks */ = { 112 | isa = PBXGroup; 113 | children = ( 114 | D1F8D9397B4257F191F78E47 /* Pods_ACSlider_Example.framework */, 115 | 28DC8432F9808286E6BD943D /* Pods_ACSlider_Tests.framework */, 116 | ); 117 | name = Frameworks; 118 | sourceTree = ""; 119 | }; 120 | /* End PBXGroup section */ 121 | 122 | /* Begin PBXNativeTarget section */ 123 | 607FACCF1AFB9204008FA782 /* ACSlider_Example */ = { 124 | isa = PBXNativeTarget; 125 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ACSlider_Example" */; 126 | buildPhases = ( 127 | 574F0116E08E4460D0A2211F /* [CP] Check Pods Manifest.lock */, 128 | 607FACCC1AFB9204008FA782 /* Sources */, 129 | 607FACCD1AFB9204008FA782 /* Frameworks */, 130 | 607FACCE1AFB9204008FA782 /* Resources */, 131 | B7EE658C8843FC4FA2CE6924 /* [CP] Embed Pods Frameworks */, 132 | ); 133 | buildRules = ( 134 | ); 135 | dependencies = ( 136 | ); 137 | name = ACSlider_Example; 138 | productName = ACSlider; 139 | productReference = 607FACD01AFB9204008FA782 /* ACSlider_Example.app */; 140 | productType = "com.apple.product-type.application"; 141 | }; 142 | /* End PBXNativeTarget section */ 143 | 144 | /* Begin PBXProject section */ 145 | 607FACC81AFB9204008FA782 /* Project object */ = { 146 | isa = PBXProject; 147 | attributes = { 148 | LastSwiftUpdateCheck = 0830; 149 | LastUpgradeCheck = 1010; 150 | ORGANIZATIONNAME = CocoaPods; 151 | TargetAttributes = { 152 | 607FACCF1AFB9204008FA782 = { 153 | CreatedOnToolsVersion = 6.3.1; 154 | LastSwiftMigration = 0900; 155 | }; 156 | }; 157 | }; 158 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "ACSlider" */; 159 | compatibilityVersion = "Xcode 3.2"; 160 | developmentRegion = English; 161 | hasScannedForEncodings = 0; 162 | knownRegions = ( 163 | en, 164 | Base, 165 | ); 166 | mainGroup = 607FACC71AFB9204008FA782; 167 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */; 168 | projectDirPath = ""; 169 | projectRoot = ""; 170 | targets = ( 171 | 607FACCF1AFB9204008FA782 /* ACSlider_Example */, 172 | ); 173 | }; 174 | /* End PBXProject section */ 175 | 176 | /* Begin PBXResourcesBuildPhase section */ 177 | 607FACCE1AFB9204008FA782 /* Resources */ = { 178 | isa = PBXResourcesBuildPhase; 179 | buildActionMask = 2147483647; 180 | files = ( 181 | 51C4C17821F0C5EA00CA8FF1 /* LaunchScreen.storyboard in Resources */, 182 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */, 183 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */, 184 | ); 185 | runOnlyForDeploymentPostprocessing = 0; 186 | }; 187 | /* End PBXResourcesBuildPhase section */ 188 | 189 | /* Begin PBXShellScriptBuildPhase section */ 190 | 574F0116E08E4460D0A2211F /* [CP] Check Pods Manifest.lock */ = { 191 | isa = PBXShellScriptBuildPhase; 192 | buildActionMask = 2147483647; 193 | files = ( 194 | ); 195 | inputPaths = ( 196 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 197 | "${PODS_ROOT}/Manifest.lock", 198 | ); 199 | name = "[CP] Check Pods Manifest.lock"; 200 | outputPaths = ( 201 | "$(DERIVED_FILE_DIR)/Pods-ACSlider_Example-checkManifestLockResult.txt", 202 | ); 203 | runOnlyForDeploymentPostprocessing = 0; 204 | shellPath = /bin/sh; 205 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 206 | showEnvVarsInLog = 0; 207 | }; 208 | B7EE658C8843FC4FA2CE6924 /* [CP] Embed Pods Frameworks */ = { 209 | isa = PBXShellScriptBuildPhase; 210 | buildActionMask = 2147483647; 211 | files = ( 212 | ); 213 | inputPaths = ( 214 | "${PODS_ROOT}/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-frameworks.sh", 215 | "${BUILT_PRODUCTS_DIR}/ACSlider/ACSlider.framework", 216 | ); 217 | name = "[CP] Embed Pods Frameworks"; 218 | outputPaths = ( 219 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ACSlider.framework", 220 | ); 221 | runOnlyForDeploymentPostprocessing = 0; 222 | shellPath = /bin/sh; 223 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-frameworks.sh\"\n"; 224 | showEnvVarsInLog = 0; 225 | }; 226 | /* End PBXShellScriptBuildPhase section */ 227 | 228 | /* Begin PBXSourcesBuildPhase section */ 229 | 607FACCC1AFB9204008FA782 /* Sources */ = { 230 | isa = PBXSourcesBuildPhase; 231 | buildActionMask = 2147483647; 232 | files = ( 233 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, 234 | 5162FBFC21F0CD5500E561A3 /* MainViewController.swift in Sources */, 235 | ); 236 | runOnlyForDeploymentPostprocessing = 0; 237 | }; 238 | /* End PBXSourcesBuildPhase section */ 239 | 240 | /* Begin PBXVariantGroup section */ 241 | 607FACD91AFB9204008FA782 /* Main.storyboard */ = { 242 | isa = PBXVariantGroup; 243 | children = ( 244 | 607FACDA1AFB9204008FA782 /* Base */, 245 | ); 246 | name = Main.storyboard; 247 | sourceTree = ""; 248 | }; 249 | /* End PBXVariantGroup section */ 250 | 251 | /* Begin XCBuildConfiguration section */ 252 | 607FACED1AFB9204008FA782 /* Debug */ = { 253 | isa = XCBuildConfiguration; 254 | buildSettings = { 255 | ALWAYS_SEARCH_USER_PATHS = NO; 256 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 257 | CLANG_CXX_LIBRARY = "libc++"; 258 | CLANG_ENABLE_MODULES = YES; 259 | CLANG_ENABLE_OBJC_ARC = YES; 260 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_COMMA = YES; 263 | CLANG_WARN_CONSTANT_CONVERSION = YES; 264 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 265 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 266 | CLANG_WARN_EMPTY_BODY = YES; 267 | CLANG_WARN_ENUM_CONVERSION = YES; 268 | CLANG_WARN_INFINITE_RECURSION = YES; 269 | CLANG_WARN_INT_CONVERSION = YES; 270 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 271 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 272 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 273 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 274 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 275 | CLANG_WARN_STRICT_PROTOTYPES = YES; 276 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 277 | CLANG_WARN_UNREACHABLE_CODE = YES; 278 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 279 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 280 | COPY_PHASE_STRIP = NO; 281 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 282 | ENABLE_STRICT_OBJC_MSGSEND = YES; 283 | ENABLE_TESTABILITY = YES; 284 | GCC_C_LANGUAGE_STANDARD = gnu99; 285 | GCC_DYNAMIC_NO_PIC = NO; 286 | GCC_NO_COMMON_BLOCKS = YES; 287 | GCC_OPTIMIZATION_LEVEL = 0; 288 | GCC_PREPROCESSOR_DEFINITIONS = ( 289 | "DEBUG=1", 290 | "$(inherited)", 291 | ); 292 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 293 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 294 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 295 | GCC_WARN_UNDECLARED_SELECTOR = YES; 296 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 297 | GCC_WARN_UNUSED_FUNCTION = YES; 298 | GCC_WARN_UNUSED_VARIABLE = YES; 299 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 300 | MTL_ENABLE_DEBUG_INFO = YES; 301 | ONLY_ACTIVE_ARCH = YES; 302 | SDKROOT = iphoneos; 303 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 304 | }; 305 | name = Debug; 306 | }; 307 | 607FACEE1AFB9204008FA782 /* Release */ = { 308 | isa = XCBuildConfiguration; 309 | buildSettings = { 310 | ALWAYS_SEARCH_USER_PATHS = NO; 311 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 312 | CLANG_CXX_LIBRARY = "libc++"; 313 | CLANG_ENABLE_MODULES = YES; 314 | CLANG_ENABLE_OBJC_ARC = YES; 315 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 316 | CLANG_WARN_BOOL_CONVERSION = YES; 317 | CLANG_WARN_COMMA = YES; 318 | CLANG_WARN_CONSTANT_CONVERSION = YES; 319 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 320 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 321 | CLANG_WARN_EMPTY_BODY = YES; 322 | CLANG_WARN_ENUM_CONVERSION = YES; 323 | CLANG_WARN_INFINITE_RECURSION = YES; 324 | CLANG_WARN_INT_CONVERSION = YES; 325 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 326 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 327 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 328 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 329 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 330 | CLANG_WARN_STRICT_PROTOTYPES = YES; 331 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 332 | CLANG_WARN_UNREACHABLE_CODE = YES; 333 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 334 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 335 | COPY_PHASE_STRIP = NO; 336 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 337 | ENABLE_NS_ASSERTIONS = NO; 338 | ENABLE_STRICT_OBJC_MSGSEND = YES; 339 | GCC_C_LANGUAGE_STANDARD = gnu99; 340 | GCC_NO_COMMON_BLOCKS = YES; 341 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 342 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 343 | GCC_WARN_UNDECLARED_SELECTOR = YES; 344 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 345 | GCC_WARN_UNUSED_FUNCTION = YES; 346 | GCC_WARN_UNUSED_VARIABLE = YES; 347 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 348 | MTL_ENABLE_DEBUG_INFO = NO; 349 | SDKROOT = iphoneos; 350 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 351 | VALIDATE_PRODUCT = YES; 352 | }; 353 | name = Release; 354 | }; 355 | 607FACF01AFB9204008FA782 /* Debug */ = { 356 | isa = XCBuildConfiguration; 357 | baseConfigurationReference = BCE002DF671098B80FE9AA0E /* Pods-ACSlider_Example.debug.xcconfig */; 358 | buildSettings = { 359 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 360 | DEVELOPMENT_TEAM = ""; 361 | INFOPLIST_FILE = ACSlider/Info.plist; 362 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 363 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 364 | MODULE_NAME = ExampleApp; 365 | PRODUCT_BUNDLE_IDENTIFIER = "com.redmadrobot.ACSlider-Example"; 366 | PRODUCT_NAME = "$(TARGET_NAME)"; 367 | SWIFT_SWIFT3_OBJC_INFERENCE = Default; 368 | SWIFT_VERSION = 4.0; 369 | }; 370 | name = Debug; 371 | }; 372 | 607FACF11AFB9204008FA782 /* Release */ = { 373 | isa = XCBuildConfiguration; 374 | baseConfigurationReference = 2F2BAA51556D031BD09DE1EA /* Pods-ACSlider_Example.release.xcconfig */; 375 | buildSettings = { 376 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 377 | DEVELOPMENT_TEAM = ""; 378 | INFOPLIST_FILE = ACSlider/Info.plist; 379 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 380 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 381 | MODULE_NAME = ExampleApp; 382 | PRODUCT_BUNDLE_IDENTIFIER = "com.redmadrobot.ACSlider-Example"; 383 | PRODUCT_NAME = "$(TARGET_NAME)"; 384 | SWIFT_SWIFT3_OBJC_INFERENCE = Default; 385 | SWIFT_VERSION = 4.0; 386 | }; 387 | name = Release; 388 | }; 389 | /* End XCBuildConfiguration section */ 390 | 391 | /* Begin XCConfigurationList section */ 392 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "ACSlider" */ = { 393 | isa = XCConfigurationList; 394 | buildConfigurations = ( 395 | 607FACED1AFB9204008FA782 /* Debug */, 396 | 607FACEE1AFB9204008FA782 /* Release */, 397 | ); 398 | defaultConfigurationIsVisible = 0; 399 | defaultConfigurationName = Release; 400 | }; 401 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "ACSlider_Example" */ = { 402 | isa = XCConfigurationList; 403 | buildConfigurations = ( 404 | 607FACF01AFB9204008FA782 /* Debug */, 405 | 607FACF11AFB9204008FA782 /* Release */, 406 | ); 407 | defaultConfigurationIsVisible = 0; 408 | defaultConfigurationName = Release; 409 | }; 410 | /* End XCConfigurationList section */ 411 | }; 412 | rootObject = 607FACC81AFB9204008FA782 /* Project object */; 413 | } 414 | -------------------------------------------------------------------------------- /Example/ACSlider.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/ACSlider.xcodeproj/xcshareddata/xcschemes/ACSlider-Example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 67 | 68 | 78 | 80 | 86 | 87 | 88 | 89 | 90 | 91 | 97 | 99 | 105 | 106 | 107 | 108 | 110 | 111 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Example/ACSlider.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/ACSlider.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/ACSlider/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // ACSlider 4 | // 5 | // Created by firmach on 01/15/2019. 6 | // Copyright (c) 2019 firmach. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import ACSlider 11 | 12 | 13 | @UIApplicationMain 14 | class AppDelegate: UIResponder, UIApplicationDelegate { 15 | 16 | var window: UIWindow? 17 | 18 | 19 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 20 | return true 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /Example/ACSlider/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon_20pt@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon_20pt@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon_29pt@2x.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon_29pt@3x.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "40x40", 29 | "idiom" : "iphone", 30 | "filename" : "icon_40pt@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon_40pt@3x.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "60x60", 41 | "idiom" : "iphone", 42 | "filename" : "icon_60pt@2x.png", 43 | "scale" : "2x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon_60pt@3x.png", 49 | "scale" : "3x" 50 | }, 51 | { 52 | "size" : "1024x1024", 53 | "idiom" : "ios-marketing", 54 | "filename" : "Icon.png", 55 | "scale" : "1x" 56 | } 57 | ], 58 | "info" : { 59 | "version" : 1, 60 | "author" : "xcode" 61 | } 62 | } -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/Icon.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_20pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_20pt@2x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_20pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_20pt@3x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_29pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_29pt@2x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_29pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_29pt@3x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_40pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_40pt@2x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_40pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_40pt@3x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_60pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_60pt@2x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_60pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/AppIcon.appiconset/icon_60pt@3x.png -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/robot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "robot@1x.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Example/ACSlider/Images.xcassets/robot.imageset/robot@1x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/Example/ACSlider/Images.xcassets/robot.imageset/robot@1x.pdf -------------------------------------------------------------------------------- /Example/ACSlider/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ACSlider 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Example/ACSlider/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Example/ACSlider/MainViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.swift 3 | // ACSlider_Example 4 | // 5 | // Created by Roman Churkin on 17/01/2019. 6 | // Copyright © 2019 CocoaPods. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import ACSlider 11 | 12 | 13 | final class MainViewController: UIViewController { 14 | 15 | @IBOutlet var slider: ACSlider! 16 | @IBOutlet var colorControl: UISegmentedControl! 17 | 18 | override func viewDidLoad() { 19 | super.viewDidLoad() 20 | colorChanged() 21 | } 22 | 23 | @IBAction func colorChanged() { 24 | switch colorControl.selectedSegmentIndex { 25 | case 0: view.tintColor = .red 26 | case 1: view.tintColor = .magenta 27 | case 2: view.tintColor = .blue 28 | default: view.tintColor = .black 29 | } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /Example/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | platform :ios, '10.0' 3 | 4 | target 'ACSlider_Example' do 5 | 6 | pod 'ACSlider', :path => '../' 7 | 8 | end 9 | -------------------------------------------------------------------------------- /Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - ACSlider (1.0.2) 3 | 4 | DEPENDENCIES: 5 | - ACSlider (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | ACSlider: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | ACSlider: 073fa27f6e8de51f0e971235ddc65f0dcc3e5cb4 13 | 14 | PODFILE CHECKSUM: 0f45066dcfce2e95e72674ebcbff779073e085c0 15 | 16 | COCOAPODS: 1.7.1 17 | -------------------------------------------------------------------------------- /Example/Pods/Local Podspecs/ACSlider.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ACSlider", 3 | "version": "1.0.2", 4 | "summary": "A slider displaying selected value.", 5 | "description": "⏰ A Slider for Redmadrobot proof of concept for the Colored Alarm Clock Interface shot @ Dribbble", 6 | "homepage": "https://github.com/RedMadRobot/ACSlider", 7 | "license": { 8 | "type": "MIT" 9 | }, 10 | "authors": { 11 | "Roman Churkin": "rc@redmadrobot.com" 12 | }, 13 | "source": { 14 | "git": "https://github.com/RedMadRobot/ACSlider.git", 15 | "tag": "1.0.2" 16 | }, 17 | "social_media_url": "https://twitter.com/firmach", 18 | "platforms": { 19 | "ios": "10.0" 20 | }, 21 | "swift_versions": "4.2", 22 | "source_files": "ACSlider/Classes/*.swift", 23 | "resource_bundles": { 24 | "ACSlider": [ 25 | "ACSlider/Assets/*.ttf" 26 | ] 27 | }, 28 | "swift_version": "4.2" 29 | } 30 | -------------------------------------------------------------------------------- /Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - ACSlider (1.0.2) 3 | 4 | DEPENDENCIES: 5 | - ACSlider (from `../`) 6 | 7 | EXTERNAL SOURCES: 8 | ACSlider: 9 | :path: "../" 10 | 11 | SPEC CHECKSUMS: 12 | ACSlider: 073fa27f6e8de51f0e971235ddc65f0dcc3e5cb4 13 | 14 | PODFILE CHECKSUM: 0f45066dcfce2e95e72674ebcbff779073e085c0 15 | 16 | COCOAPODS: 1.7.1 17 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0392444A1F24F02AB4010760B5757E33 /* ACSlider-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B486AA27DDE048C6D7B30C0FE844AB /* ACSlider-dummy.m */; }; 11 | 0AF5E5711C22C9B9BCC7C77150DE2D51 /* ACSlider-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E573D777E9CEC59EF50AB30BF985CC39 /* ACSlider-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 12 | 5ECA42C512975B48DFFA6E7208E8EBB8 /* ACSlider.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 57C2DAC97FA15B858B4CFAECC30CA926 /* ACSlider.bundle */; }; 13 | 7B4A36C8E76910717D4DA29D6F2B3A60 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; 14 | 84C4A97F9D4B67EDE427AEB82192E982 /* Pods-ACSlider_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08BC12A03F2D8D6424C08F514F4E0EDB /* Pods-ACSlider_Example-dummy.m */; }; 15 | 8DE453BE8EDC2816CDFE9B4F11FDB9A7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; 16 | 90280132F0A4785C722CDB07144A7957 /* ACSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7961B478D4B83FE1F5EF8C93596B970C /* ACSlider.swift */; }; 17 | A74BD7A68E02AF14CCC0F3960B0F309F /* BebasNeueWhatever.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EDE159A29217FF6B003F2E7DB0923273 /* BebasNeueWhatever.ttf */; }; 18 | B070B0409B40EA2FED1DA9B5E67C1790 /* ThumbView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49292315DAB28B447CF51BC770D9E016 /* ThumbView.swift */; }; 19 | B1A3B9F128B1081460476C988BB7BD4C /* UIViewHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D090925BA2CC01B86BEAF2A76CDAEED3 /* UIViewHelpers.swift */; }; 20 | CE7D7C5AFB548DB402CC781EF39E1EA2 /* CircleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 108B5DA445DFF601B1ADFA8A83054724 /* CircleView.swift */; }; 21 | D1D74AE1B387BC3FBC840D11E24DDCB0 /* PodFontsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D050D5EC2F03EEFDF6385F83425E355 /* PodFontsHelper.swift */; }; 22 | EEDF438B68DF8AF19DB7572FA14F90D0 /* Pods-ACSlider_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0782CC3DB852EE02F9DB0D82C3190617 /* Pods-ACSlider_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 23 | F203109F46A2A4746B7319A8E8497F31 /* Montserrat-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F84F8A34C1B3126A138588D8365842E9 /* Montserrat-SemiBold.ttf */; }; 24 | /* End PBXBuildFile section */ 25 | 26 | /* Begin PBXContainerItemProxy section */ 27 | A593AADC9BAB269F9293BC38AD81B80A /* PBXContainerItemProxy */ = { 28 | isa = PBXContainerItemProxy; 29 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; 30 | proxyType = 1; 31 | remoteGlobalIDString = BAE3372422B7491E10C8B132A777600E; 32 | remoteInfo = ACSlider; 33 | }; 34 | B5D4F760184E815DCD207FD1D124C087 /* PBXContainerItemProxy */ = { 35 | isa = PBXContainerItemProxy; 36 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; 37 | proxyType = 1; 38 | remoteGlobalIDString = F09B3A62D43B2562708734C7C07FA90F; 39 | remoteInfo = "ACSlider-ACSlider"; 40 | }; 41 | /* End PBXContainerItemProxy section */ 42 | 43 | /* Begin PBXFileReference section */ 44 | 06869BB10E4F27B7E2976FDDCFB16775 /* Pods-ACSlider_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ACSlider_Example.debug.xcconfig"; sourceTree = ""; }; 45 | 0782CC3DB852EE02F9DB0D82C3190617 /* Pods-ACSlider_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ACSlider_Example-umbrella.h"; sourceTree = ""; }; 46 | 08BC12A03F2D8D6424C08F514F4E0EDB /* Pods-ACSlider_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ACSlider_Example-dummy.m"; sourceTree = ""; }; 47 | 093578884DD20684558F89B21F5C675F /* Pods-ACSlider_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ACSlider_Example-Info.plist"; sourceTree = ""; }; 48 | 0D24D4D6F6078E81E91D2F9336129680 /* ACSlider-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ACSlider-Info.plist"; sourceTree = ""; }; 49 | 108B5DA445DFF601B1ADFA8A83054724 /* CircleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CircleView.swift; path = ACSlider/Classes/CircleView.swift; sourceTree = ""; }; 50 | 1437D10D8ECCA0523F9FC2D19220C040 /* ACSlider.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = ACSlider.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 51 | 291F31B63EFE9BA2DD88718759B5E806 /* ACSlider.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ACSlider.framework; path = ACSlider.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 52 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 53 | 4298782FA7AFBFDA275C61AAC704EC89 /* Pods-ACSlider_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ACSlider_Example-acknowledgements.markdown"; sourceTree = ""; }; 54 | 48B486AA27DDE048C6D7B30C0FE844AB /* ACSlider-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ACSlider-dummy.m"; sourceTree = ""; }; 55 | 49292315DAB28B447CF51BC770D9E016 /* ThumbView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThumbView.swift; path = ACSlider/Classes/ThumbView.swift; sourceTree = ""; }; 56 | 57C2DAC97FA15B858B4CFAECC30CA926 /* ACSlider.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = ACSlider.bundle; path = "ACSlider-ACSlider.bundle"; sourceTree = BUILT_PRODUCTS_DIR; }; 57 | 60EC404318710D7311861023C1CF12ED /* ACSlider.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ACSlider.modulemap; sourceTree = ""; }; 58 | 62AA22689E8B6DB0E7A6D74A7C94468C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 59 | 64A45EB9863F6DA0FA86B8F841791B24 /* ResourceBundle-ACSlider-ACSlider-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-ACSlider-ACSlider-Info.plist"; sourceTree = ""; }; 60 | 76AAA160B8D515654C8B722535DC9C18 /* Pods-ACSlider_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ACSlider_Example-acknowledgements.plist"; sourceTree = ""; }; 61 | 7961B478D4B83FE1F5EF8C93596B970C /* ACSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ACSlider.swift; path = ACSlider/Classes/ACSlider.swift; sourceTree = ""; }; 62 | 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ACSlider.xcconfig; sourceTree = ""; }; 63 | 8D050D5EC2F03EEFDF6385F83425E355 /* PodFontsHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PodFontsHelper.swift; path = ACSlider/Classes/PodFontsHelper.swift; sourceTree = ""; }; 64 | 9804BB8953868303E99035FEE178C9BD /* Pods_ACSlider_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ACSlider_Example.framework; path = "Pods-ACSlider_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 65 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 66 | A52991AC42045589F7C0C460E24CD41A /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 67 | A6F2C5019937456F86C36014E3FFDE18 /* Pods-ACSlider_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ACSlider_Example.release.xcconfig"; sourceTree = ""; }; 68 | C97F2756AAD6684BFFEEDBE99B09A98F /* Pods-ACSlider_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ACSlider_Example.modulemap"; sourceTree = ""; }; 69 | D090925BA2CC01B86BEAF2A76CDAEED3 /* UIViewHelpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UIViewHelpers.swift; path = ACSlider/Classes/UIViewHelpers.swift; sourceTree = ""; }; 70 | DFF8BB58120705A1B27F7120C70B82F5 /* Pods-ACSlider_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ACSlider_Example-frameworks.sh"; sourceTree = ""; }; 71 | E573D777E9CEC59EF50AB30BF985CC39 /* ACSlider-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ACSlider-umbrella.h"; sourceTree = ""; }; 72 | EA2B7FF323B729C668EDE8FC82AA23E2 /* ACSlider-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ACSlider-prefix.pch"; sourceTree = ""; }; 73 | EDE159A29217FF6B003F2E7DB0923273 /* BebasNeueWhatever.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = BebasNeueWhatever.ttf; path = ACSlider/Assets/BebasNeueWhatever.ttf; sourceTree = ""; }; 74 | F84F8A34C1B3126A138588D8365842E9 /* Montserrat-SemiBold.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = "Montserrat-SemiBold.ttf"; path = "ACSlider/Assets/Montserrat-SemiBold.ttf"; sourceTree = ""; }; 75 | /* End PBXFileReference section */ 76 | 77 | /* Begin PBXFrameworksBuildPhase section */ 78 | 164277B9FC459DA2E01FFDF81C562CB6 /* Frameworks */ = { 79 | isa = PBXFrameworksBuildPhase; 80 | buildActionMask = 2147483647; 81 | files = ( 82 | 8DE453BE8EDC2816CDFE9B4F11FDB9A7 /* Foundation.framework in Frameworks */, 83 | ); 84 | runOnlyForDeploymentPostprocessing = 0; 85 | }; 86 | 16D5263EE8D28BB1578ACDF3F8A87FB2 /* Frameworks */ = { 87 | isa = PBXFrameworksBuildPhase; 88 | buildActionMask = 2147483647; 89 | files = ( 90 | 7B4A36C8E76910717D4DA29D6F2B3A60 /* Foundation.framework in Frameworks */, 91 | ); 92 | runOnlyForDeploymentPostprocessing = 0; 93 | }; 94 | 5948A99C39BA9EF76B8609E6434F3E11 /* Frameworks */ = { 95 | isa = PBXFrameworksBuildPhase; 96 | buildActionMask = 2147483647; 97 | files = ( 98 | ); 99 | runOnlyForDeploymentPostprocessing = 0; 100 | }; 101 | /* End PBXFrameworksBuildPhase section */ 102 | 103 | /* Begin PBXGroup section */ 104 | 11265003BF41F3015109318DDDCA2D86 /* ACSlider */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | 7961B478D4B83FE1F5EF8C93596B970C /* ACSlider.swift */, 108 | 108B5DA445DFF601B1ADFA8A83054724 /* CircleView.swift */, 109 | 8D050D5EC2F03EEFDF6385F83425E355 /* PodFontsHelper.swift */, 110 | 49292315DAB28B447CF51BC770D9E016 /* ThumbView.swift */, 111 | D090925BA2CC01B86BEAF2A76CDAEED3 /* UIViewHelpers.swift */, 112 | 9E7111A2D604A904C3A02F837AFF5EFD /* Pod */, 113 | 5B7924147D591BEC1993C7F644C46472 /* Resources */, 114 | E33586E3296D6899F34B785E5FF0ECFF /* Support Files */, 115 | ); 116 | name = ACSlider; 117 | path = ../..; 118 | sourceTree = ""; 119 | }; 120 | 579C6440D3D8F2E758F57C5132CADE4A /* Pods-ACSlider_Example */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | C97F2756AAD6684BFFEEDBE99B09A98F /* Pods-ACSlider_Example.modulemap */, 124 | 4298782FA7AFBFDA275C61AAC704EC89 /* Pods-ACSlider_Example-acknowledgements.markdown */, 125 | 76AAA160B8D515654C8B722535DC9C18 /* Pods-ACSlider_Example-acknowledgements.plist */, 126 | 08BC12A03F2D8D6424C08F514F4E0EDB /* Pods-ACSlider_Example-dummy.m */, 127 | DFF8BB58120705A1B27F7120C70B82F5 /* Pods-ACSlider_Example-frameworks.sh */, 128 | 093578884DD20684558F89B21F5C675F /* Pods-ACSlider_Example-Info.plist */, 129 | 0782CC3DB852EE02F9DB0D82C3190617 /* Pods-ACSlider_Example-umbrella.h */, 130 | 06869BB10E4F27B7E2976FDDCFB16775 /* Pods-ACSlider_Example.debug.xcconfig */, 131 | A6F2C5019937456F86C36014E3FFDE18 /* Pods-ACSlider_Example.release.xcconfig */, 132 | ); 133 | name = "Pods-ACSlider_Example"; 134 | path = "Target Support Files/Pods-ACSlider_Example"; 135 | sourceTree = ""; 136 | }; 137 | 5B7924147D591BEC1993C7F644C46472 /* Resources */ = { 138 | isa = PBXGroup; 139 | children = ( 140 | EDE159A29217FF6B003F2E7DB0923273 /* BebasNeueWhatever.ttf */, 141 | F84F8A34C1B3126A138588D8365842E9 /* Montserrat-SemiBold.ttf */, 142 | ); 143 | name = Resources; 144 | sourceTree = ""; 145 | }; 146 | 7FFCAE2301713FB0E3F7C8C2C12EE226 /* Targets Support Files */ = { 147 | isa = PBXGroup; 148 | children = ( 149 | 579C6440D3D8F2E758F57C5132CADE4A /* Pods-ACSlider_Example */, 150 | ); 151 | name = "Targets Support Files"; 152 | sourceTree = ""; 153 | }; 154 | 9E7111A2D604A904C3A02F837AFF5EFD /* Pod */ = { 155 | isa = PBXGroup; 156 | children = ( 157 | 1437D10D8ECCA0523F9FC2D19220C040 /* ACSlider.podspec */, 158 | 62AA22689E8B6DB0E7A6D74A7C94468C /* LICENSE */, 159 | A52991AC42045589F7C0C460E24CD41A /* README.md */, 160 | ); 161 | name = Pod; 162 | sourceTree = ""; 163 | }; 164 | BED39A69CD5B7AFAEF623F67E893BD8C /* Products */ = { 165 | isa = PBXGroup; 166 | children = ( 167 | 57C2DAC97FA15B858B4CFAECC30CA926 /* ACSlider.bundle */, 168 | 291F31B63EFE9BA2DD88718759B5E806 /* ACSlider.framework */, 169 | 9804BB8953868303E99035FEE178C9BD /* Pods_ACSlider_Example.framework */, 170 | ); 171 | name = Products; 172 | sourceTree = ""; 173 | }; 174 | C0834CEBB1379A84116EF29F93051C60 /* iOS */ = { 175 | isa = PBXGroup; 176 | children = ( 177 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */, 178 | ); 179 | name = iOS; 180 | sourceTree = ""; 181 | }; 182 | C5A2A67AEE7E84CFA5FDA3370EAC7B84 /* Development Pods */ = { 183 | isa = PBXGroup; 184 | children = ( 185 | 11265003BF41F3015109318DDDCA2D86 /* ACSlider */, 186 | ); 187 | name = "Development Pods"; 188 | sourceTree = ""; 189 | }; 190 | CF1408CF629C7361332E53B88F7BD30C = { 191 | isa = PBXGroup; 192 | children = ( 193 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, 194 | C5A2A67AEE7E84CFA5FDA3370EAC7B84 /* Development Pods */, 195 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, 196 | BED39A69CD5B7AFAEF623F67E893BD8C /* Products */, 197 | 7FFCAE2301713FB0E3F7C8C2C12EE226 /* Targets Support Files */, 198 | ); 199 | sourceTree = ""; 200 | }; 201 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { 202 | isa = PBXGroup; 203 | children = ( 204 | C0834CEBB1379A84116EF29F93051C60 /* iOS */, 205 | ); 206 | name = Frameworks; 207 | sourceTree = ""; 208 | }; 209 | E33586E3296D6899F34B785E5FF0ECFF /* Support Files */ = { 210 | isa = PBXGroup; 211 | children = ( 212 | 60EC404318710D7311861023C1CF12ED /* ACSlider.modulemap */, 213 | 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */, 214 | 48B486AA27DDE048C6D7B30C0FE844AB /* ACSlider-dummy.m */, 215 | 0D24D4D6F6078E81E91D2F9336129680 /* ACSlider-Info.plist */, 216 | EA2B7FF323B729C668EDE8FC82AA23E2 /* ACSlider-prefix.pch */, 217 | E573D777E9CEC59EF50AB30BF985CC39 /* ACSlider-umbrella.h */, 218 | 64A45EB9863F6DA0FA86B8F841791B24 /* ResourceBundle-ACSlider-ACSlider-Info.plist */, 219 | ); 220 | name = "Support Files"; 221 | path = "Example/Pods/Target Support Files/ACSlider"; 222 | sourceTree = ""; 223 | }; 224 | /* End PBXGroup section */ 225 | 226 | /* Begin PBXHeadersBuildPhase section */ 227 | 663C9D6A602E744E0F70AC00A1A637F9 /* Headers */ = { 228 | isa = PBXHeadersBuildPhase; 229 | buildActionMask = 2147483647; 230 | files = ( 231 | EEDF438B68DF8AF19DB7572FA14F90D0 /* Pods-ACSlider_Example-umbrella.h in Headers */, 232 | ); 233 | runOnlyForDeploymentPostprocessing = 0; 234 | }; 235 | B4E03CBDEF85D586D8D75D6ADFC67DE2 /* Headers */ = { 236 | isa = PBXHeadersBuildPhase; 237 | buildActionMask = 2147483647; 238 | files = ( 239 | 0AF5E5711C22C9B9BCC7C77150DE2D51 /* ACSlider-umbrella.h in Headers */, 240 | ); 241 | runOnlyForDeploymentPostprocessing = 0; 242 | }; 243 | /* End PBXHeadersBuildPhase section */ 244 | 245 | /* Begin PBXNativeTarget section */ 246 | 45755CC445E7CF9B8C669F5885C3A0A5 /* Pods-ACSlider_Example */ = { 247 | isa = PBXNativeTarget; 248 | buildConfigurationList = 92BF108FE9BF68ECC66905D4AB9E9062 /* Build configuration list for PBXNativeTarget "Pods-ACSlider_Example" */; 249 | buildPhases = ( 250 | 663C9D6A602E744E0F70AC00A1A637F9 /* Headers */, 251 | 8A9673372DC5F7FD01B190EB83AB1797 /* Sources */, 252 | 164277B9FC459DA2E01FFDF81C562CB6 /* Frameworks */, 253 | CB3612D066615DC1D1372D14CD3DA7EC /* Resources */, 254 | ); 255 | buildRules = ( 256 | ); 257 | dependencies = ( 258 | 7A3A0CB8172325BF5020887B11FEB5AA /* PBXTargetDependency */, 259 | ); 260 | name = "Pods-ACSlider_Example"; 261 | productName = "Pods-ACSlider_Example"; 262 | productReference = 9804BB8953868303E99035FEE178C9BD /* Pods_ACSlider_Example.framework */; 263 | productType = "com.apple.product-type.framework"; 264 | }; 265 | BAE3372422B7491E10C8B132A777600E /* ACSlider */ = { 266 | isa = PBXNativeTarget; 267 | buildConfigurationList = D8134CF639F9CBC3E7BFC8920114E05D /* Build configuration list for PBXNativeTarget "ACSlider" */; 268 | buildPhases = ( 269 | B4E03CBDEF85D586D8D75D6ADFC67DE2 /* Headers */, 270 | E8D91B5F0810A5E2A66509A7BFA0DF37 /* Sources */, 271 | 16D5263EE8D28BB1578ACDF3F8A87FB2 /* Frameworks */, 272 | 50248401996FA35CD7F75BCDF66AA496 /* Resources */, 273 | ); 274 | buildRules = ( 275 | ); 276 | dependencies = ( 277 | 370A9FB2C9F1A695985B7ED0C8C4F4D8 /* PBXTargetDependency */, 278 | ); 279 | name = ACSlider; 280 | productName = ACSlider; 281 | productReference = 291F31B63EFE9BA2DD88718759B5E806 /* ACSlider.framework */; 282 | productType = "com.apple.product-type.framework"; 283 | }; 284 | F09B3A62D43B2562708734C7C07FA90F /* ACSlider-ACSlider */ = { 285 | isa = PBXNativeTarget; 286 | buildConfigurationList = BCCE8978DE38985DC3BECB11C8EA7120 /* Build configuration list for PBXNativeTarget "ACSlider-ACSlider" */; 287 | buildPhases = ( 288 | 032CC34F6F575FD65D00E33A989A9E4D /* Sources */, 289 | 5948A99C39BA9EF76B8609E6434F3E11 /* Frameworks */, 290 | E1962AC5000E4E3ACD9573C79DF28A35 /* Resources */, 291 | ); 292 | buildRules = ( 293 | ); 294 | dependencies = ( 295 | ); 296 | name = "ACSlider-ACSlider"; 297 | productName = "ACSlider-ACSlider"; 298 | productReference = 57C2DAC97FA15B858B4CFAECC30CA926 /* ACSlider.bundle */; 299 | productType = "com.apple.product-type.bundle"; 300 | }; 301 | /* End PBXNativeTarget section */ 302 | 303 | /* Begin PBXProject section */ 304 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = { 305 | isa = PBXProject; 306 | attributes = { 307 | LastSwiftUpdateCheck = 1020; 308 | LastUpgradeCheck = 1020; 309 | }; 310 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; 311 | compatibilityVersion = "Xcode 3.2"; 312 | developmentRegion = en; 313 | hasScannedForEncodings = 0; 314 | knownRegions = ( 315 | en, 316 | ); 317 | mainGroup = CF1408CF629C7361332E53B88F7BD30C; 318 | productRefGroup = BED39A69CD5B7AFAEF623F67E893BD8C /* Products */; 319 | projectDirPath = ""; 320 | projectRoot = ""; 321 | targets = ( 322 | BAE3372422B7491E10C8B132A777600E /* ACSlider */, 323 | F09B3A62D43B2562708734C7C07FA90F /* ACSlider-ACSlider */, 324 | 45755CC445E7CF9B8C669F5885C3A0A5 /* Pods-ACSlider_Example */, 325 | ); 326 | }; 327 | /* End PBXProject section */ 328 | 329 | /* Begin PBXResourcesBuildPhase section */ 330 | 50248401996FA35CD7F75BCDF66AA496 /* Resources */ = { 331 | isa = PBXResourcesBuildPhase; 332 | buildActionMask = 2147483647; 333 | files = ( 334 | 5ECA42C512975B48DFFA6E7208E8EBB8 /* ACSlider.bundle in Resources */, 335 | ); 336 | runOnlyForDeploymentPostprocessing = 0; 337 | }; 338 | CB3612D066615DC1D1372D14CD3DA7EC /* Resources */ = { 339 | isa = PBXResourcesBuildPhase; 340 | buildActionMask = 2147483647; 341 | files = ( 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | }; 345 | E1962AC5000E4E3ACD9573C79DF28A35 /* Resources */ = { 346 | isa = PBXResourcesBuildPhase; 347 | buildActionMask = 2147483647; 348 | files = ( 349 | A74BD7A68E02AF14CCC0F3960B0F309F /* BebasNeueWhatever.ttf in Resources */, 350 | F203109F46A2A4746B7319A8E8497F31 /* Montserrat-SemiBold.ttf in Resources */, 351 | ); 352 | runOnlyForDeploymentPostprocessing = 0; 353 | }; 354 | /* End PBXResourcesBuildPhase section */ 355 | 356 | /* Begin PBXSourcesBuildPhase section */ 357 | 032CC34F6F575FD65D00E33A989A9E4D /* Sources */ = { 358 | isa = PBXSourcesBuildPhase; 359 | buildActionMask = 2147483647; 360 | files = ( 361 | ); 362 | runOnlyForDeploymentPostprocessing = 0; 363 | }; 364 | 8A9673372DC5F7FD01B190EB83AB1797 /* Sources */ = { 365 | isa = PBXSourcesBuildPhase; 366 | buildActionMask = 2147483647; 367 | files = ( 368 | 84C4A97F9D4B67EDE427AEB82192E982 /* Pods-ACSlider_Example-dummy.m in Sources */, 369 | ); 370 | runOnlyForDeploymentPostprocessing = 0; 371 | }; 372 | E8D91B5F0810A5E2A66509A7BFA0DF37 /* Sources */ = { 373 | isa = PBXSourcesBuildPhase; 374 | buildActionMask = 2147483647; 375 | files = ( 376 | 0392444A1F24F02AB4010760B5757E33 /* ACSlider-dummy.m in Sources */, 377 | 90280132F0A4785C722CDB07144A7957 /* ACSlider.swift in Sources */, 378 | CE7D7C5AFB548DB402CC781EF39E1EA2 /* CircleView.swift in Sources */, 379 | D1D74AE1B387BC3FBC840D11E24DDCB0 /* PodFontsHelper.swift in Sources */, 380 | B070B0409B40EA2FED1DA9B5E67C1790 /* ThumbView.swift in Sources */, 381 | B1A3B9F128B1081460476C988BB7BD4C /* UIViewHelpers.swift in Sources */, 382 | ); 383 | runOnlyForDeploymentPostprocessing = 0; 384 | }; 385 | /* End PBXSourcesBuildPhase section */ 386 | 387 | /* Begin PBXTargetDependency section */ 388 | 370A9FB2C9F1A695985B7ED0C8C4F4D8 /* PBXTargetDependency */ = { 389 | isa = PBXTargetDependency; 390 | name = "ACSlider-ACSlider"; 391 | target = F09B3A62D43B2562708734C7C07FA90F /* ACSlider-ACSlider */; 392 | targetProxy = B5D4F760184E815DCD207FD1D124C087 /* PBXContainerItemProxy */; 393 | }; 394 | 7A3A0CB8172325BF5020887B11FEB5AA /* PBXTargetDependency */ = { 395 | isa = PBXTargetDependency; 396 | name = ACSlider; 397 | target = BAE3372422B7491E10C8B132A777600E /* ACSlider */; 398 | targetProxy = A593AADC9BAB269F9293BC38AD81B80A /* PBXContainerItemProxy */; 399 | }; 400 | /* End PBXTargetDependency section */ 401 | 402 | /* Begin XCBuildConfiguration section */ 403 | 03F7926769C2C46A45ABB4B2FEE1EF5C /* Release */ = { 404 | isa = XCBuildConfiguration; 405 | baseConfigurationReference = 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */; 406 | buildSettings = { 407 | CLANG_ENABLE_OBJC_WEAK = NO; 408 | CODE_SIGN_IDENTITY = ""; 409 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 410 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 411 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 412 | CURRENT_PROJECT_VERSION = 1; 413 | DEFINES_MODULE = YES; 414 | DYLIB_COMPATIBILITY_VERSION = 1; 415 | DYLIB_CURRENT_VERSION = 1; 416 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 417 | GCC_PREFIX_HEADER = "Target Support Files/ACSlider/ACSlider-prefix.pch"; 418 | INFOPLIST_FILE = "Target Support Files/ACSlider/ACSlider-Info.plist"; 419 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 420 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 421 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 422 | MODULEMAP_FILE = "Target Support Files/ACSlider/ACSlider.modulemap"; 423 | PRODUCT_MODULE_NAME = ACSlider; 424 | PRODUCT_NAME = ACSlider; 425 | SDKROOT = iphoneos; 426 | SKIP_INSTALL = YES; 427 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 428 | SWIFT_VERSION = 4.2; 429 | TARGETED_DEVICE_FAMILY = "1,2"; 430 | VALIDATE_PRODUCT = YES; 431 | VERSIONING_SYSTEM = "apple-generic"; 432 | VERSION_INFO_PREFIX = ""; 433 | }; 434 | name = Release; 435 | }; 436 | 196DFA3E4A09A28224918543529A1885 /* Debug */ = { 437 | isa = XCBuildConfiguration; 438 | buildSettings = { 439 | ALWAYS_SEARCH_USER_PATHS = NO; 440 | CLANG_ANALYZER_NONNULL = YES; 441 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 442 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 443 | CLANG_CXX_LIBRARY = "libc++"; 444 | CLANG_ENABLE_MODULES = YES; 445 | CLANG_ENABLE_OBJC_ARC = YES; 446 | CLANG_ENABLE_OBJC_WEAK = YES; 447 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 448 | CLANG_WARN_BOOL_CONVERSION = YES; 449 | CLANG_WARN_COMMA = YES; 450 | CLANG_WARN_CONSTANT_CONVERSION = YES; 451 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 452 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 453 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 454 | CLANG_WARN_EMPTY_BODY = YES; 455 | CLANG_WARN_ENUM_CONVERSION = YES; 456 | CLANG_WARN_INFINITE_RECURSION = YES; 457 | CLANG_WARN_INT_CONVERSION = YES; 458 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 459 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 460 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 461 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 462 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 463 | CLANG_WARN_STRICT_PROTOTYPES = YES; 464 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 465 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 466 | CLANG_WARN_UNREACHABLE_CODE = YES; 467 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 468 | COPY_PHASE_STRIP = NO; 469 | DEBUG_INFORMATION_FORMAT = dwarf; 470 | ENABLE_STRICT_OBJC_MSGSEND = YES; 471 | ENABLE_TESTABILITY = YES; 472 | GCC_C_LANGUAGE_STANDARD = gnu11; 473 | GCC_DYNAMIC_NO_PIC = NO; 474 | GCC_NO_COMMON_BLOCKS = YES; 475 | GCC_OPTIMIZATION_LEVEL = 0; 476 | GCC_PREPROCESSOR_DEFINITIONS = ( 477 | "POD_CONFIGURATION_DEBUG=1", 478 | "DEBUG=1", 479 | "$(inherited)", 480 | ); 481 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 482 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 483 | GCC_WARN_UNDECLARED_SELECTOR = YES; 484 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 485 | GCC_WARN_UNUSED_FUNCTION = YES; 486 | GCC_WARN_UNUSED_VARIABLE = YES; 487 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 488 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 489 | MTL_FAST_MATH = YES; 490 | ONLY_ACTIVE_ARCH = YES; 491 | PRODUCT_NAME = "$(TARGET_NAME)"; 492 | STRIP_INSTALLED_PRODUCT = NO; 493 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 494 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 495 | SWIFT_VERSION = 5.0; 496 | SYMROOT = "${SRCROOT}/../build"; 497 | }; 498 | name = Debug; 499 | }; 500 | 1BC473EB3B62A49CB5A9B2E21F29E56E /* Release */ = { 501 | isa = XCBuildConfiguration; 502 | baseConfigurationReference = 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */; 503 | buildSettings = { 504 | CODE_SIGN_IDENTITY = "iPhone Developer"; 505 | CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ACSlider"; 506 | INFOPLIST_FILE = "Target Support Files/ACSlider/ResourceBundle-ACSlider-ACSlider-Info.plist"; 507 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 508 | PRODUCT_NAME = ACSlider; 509 | SDKROOT = iphoneos; 510 | SKIP_INSTALL = YES; 511 | TARGETED_DEVICE_FAMILY = "1,2"; 512 | WRAPPER_EXTENSION = bundle; 513 | }; 514 | name = Release; 515 | }; 516 | 3121BA7C4BFFBF4C9D0E5599E8307830 /* Debug */ = { 517 | isa = XCBuildConfiguration; 518 | baseConfigurationReference = 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */; 519 | buildSettings = { 520 | CLANG_ENABLE_OBJC_WEAK = NO; 521 | CODE_SIGN_IDENTITY = ""; 522 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 523 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 524 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 525 | CURRENT_PROJECT_VERSION = 1; 526 | DEFINES_MODULE = YES; 527 | DYLIB_COMPATIBILITY_VERSION = 1; 528 | DYLIB_CURRENT_VERSION = 1; 529 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 530 | GCC_PREFIX_HEADER = "Target Support Files/ACSlider/ACSlider-prefix.pch"; 531 | INFOPLIST_FILE = "Target Support Files/ACSlider/ACSlider-Info.plist"; 532 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 533 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 534 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 535 | MODULEMAP_FILE = "Target Support Files/ACSlider/ACSlider.modulemap"; 536 | PRODUCT_MODULE_NAME = ACSlider; 537 | PRODUCT_NAME = ACSlider; 538 | SDKROOT = iphoneos; 539 | SKIP_INSTALL = YES; 540 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 541 | SWIFT_VERSION = 4.2; 542 | TARGETED_DEVICE_FAMILY = "1,2"; 543 | VERSIONING_SYSTEM = "apple-generic"; 544 | VERSION_INFO_PREFIX = ""; 545 | }; 546 | name = Debug; 547 | }; 548 | 40E54A1951BEBA1B2DF6195710FD7BC8 /* Release */ = { 549 | isa = XCBuildConfiguration; 550 | baseConfigurationReference = A6F2C5019937456F86C36014E3FFDE18 /* Pods-ACSlider_Example.release.xcconfig */; 551 | buildSettings = { 552 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 553 | CLANG_ENABLE_OBJC_WEAK = NO; 554 | CODE_SIGN_IDENTITY = ""; 555 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 556 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 557 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 558 | CURRENT_PROJECT_VERSION = 1; 559 | DEFINES_MODULE = YES; 560 | DYLIB_COMPATIBILITY_VERSION = 1; 561 | DYLIB_CURRENT_VERSION = 1; 562 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 563 | INFOPLIST_FILE = "Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-Info.plist"; 564 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 565 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 566 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 567 | MACH_O_TYPE = staticlib; 568 | MODULEMAP_FILE = "Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.modulemap"; 569 | OTHER_LDFLAGS = ""; 570 | OTHER_LIBTOOLFLAGS = ""; 571 | PODS_ROOT = "$(SRCROOT)"; 572 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 573 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 574 | SDKROOT = iphoneos; 575 | SKIP_INSTALL = YES; 576 | TARGETED_DEVICE_FAMILY = "1,2"; 577 | VALIDATE_PRODUCT = YES; 578 | VERSIONING_SYSTEM = "apple-generic"; 579 | VERSION_INFO_PREFIX = ""; 580 | }; 581 | name = Release; 582 | }; 583 | A3F011CA2ECD16725D54D2B67A65A1D6 /* Debug */ = { 584 | isa = XCBuildConfiguration; 585 | baseConfigurationReference = 7ADDDE5A4C0F52B47D611D9186AA5592 /* ACSlider.xcconfig */; 586 | buildSettings = { 587 | CODE_SIGN_IDENTITY = "iPhone Developer"; 588 | CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/ACSlider"; 589 | INFOPLIST_FILE = "Target Support Files/ACSlider/ResourceBundle-ACSlider-ACSlider-Info.plist"; 590 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 591 | PRODUCT_NAME = ACSlider; 592 | SDKROOT = iphoneos; 593 | SKIP_INSTALL = YES; 594 | TARGETED_DEVICE_FAMILY = "1,2"; 595 | WRAPPER_EXTENSION = bundle; 596 | }; 597 | name = Debug; 598 | }; 599 | B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { 600 | isa = XCBuildConfiguration; 601 | buildSettings = { 602 | ALWAYS_SEARCH_USER_PATHS = NO; 603 | CLANG_ANALYZER_NONNULL = YES; 604 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 605 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 606 | CLANG_CXX_LIBRARY = "libc++"; 607 | CLANG_ENABLE_MODULES = YES; 608 | CLANG_ENABLE_OBJC_ARC = YES; 609 | CLANG_ENABLE_OBJC_WEAK = YES; 610 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 611 | CLANG_WARN_BOOL_CONVERSION = YES; 612 | CLANG_WARN_COMMA = YES; 613 | CLANG_WARN_CONSTANT_CONVERSION = YES; 614 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 615 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 616 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 617 | CLANG_WARN_EMPTY_BODY = YES; 618 | CLANG_WARN_ENUM_CONVERSION = YES; 619 | CLANG_WARN_INFINITE_RECURSION = YES; 620 | CLANG_WARN_INT_CONVERSION = YES; 621 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 622 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 623 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 624 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 625 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 626 | CLANG_WARN_STRICT_PROTOTYPES = YES; 627 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 628 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 629 | CLANG_WARN_UNREACHABLE_CODE = YES; 630 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 631 | COPY_PHASE_STRIP = NO; 632 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 633 | ENABLE_NS_ASSERTIONS = NO; 634 | ENABLE_STRICT_OBJC_MSGSEND = YES; 635 | GCC_C_LANGUAGE_STANDARD = gnu11; 636 | GCC_NO_COMMON_BLOCKS = YES; 637 | GCC_PREPROCESSOR_DEFINITIONS = ( 638 | "POD_CONFIGURATION_RELEASE=1", 639 | "$(inherited)", 640 | ); 641 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 642 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 643 | GCC_WARN_UNDECLARED_SELECTOR = YES; 644 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 645 | GCC_WARN_UNUSED_FUNCTION = YES; 646 | GCC_WARN_UNUSED_VARIABLE = YES; 647 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 648 | MTL_ENABLE_DEBUG_INFO = NO; 649 | MTL_FAST_MATH = YES; 650 | PRODUCT_NAME = "$(TARGET_NAME)"; 651 | STRIP_INSTALLED_PRODUCT = NO; 652 | SWIFT_COMPILATION_MODE = wholemodule; 653 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 654 | SWIFT_VERSION = 5.0; 655 | SYMROOT = "${SRCROOT}/../build"; 656 | }; 657 | name = Release; 658 | }; 659 | C505B3AC62FD56461F329F51248F4647 /* Debug */ = { 660 | isa = XCBuildConfiguration; 661 | baseConfigurationReference = 06869BB10E4F27B7E2976FDDCFB16775 /* Pods-ACSlider_Example.debug.xcconfig */; 662 | buildSettings = { 663 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 664 | CLANG_ENABLE_OBJC_WEAK = NO; 665 | CODE_SIGN_IDENTITY = ""; 666 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 667 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 668 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 669 | CURRENT_PROJECT_VERSION = 1; 670 | DEFINES_MODULE = YES; 671 | DYLIB_COMPATIBILITY_VERSION = 1; 672 | DYLIB_CURRENT_VERSION = 1; 673 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 674 | INFOPLIST_FILE = "Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-Info.plist"; 675 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 676 | IPHONEOS_DEPLOYMENT_TARGET = 10.0; 677 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 678 | MACH_O_TYPE = staticlib; 679 | MODULEMAP_FILE = "Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.modulemap"; 680 | OTHER_LDFLAGS = ""; 681 | OTHER_LIBTOOLFLAGS = ""; 682 | PODS_ROOT = "$(SRCROOT)"; 683 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 684 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 685 | SDKROOT = iphoneos; 686 | SKIP_INSTALL = YES; 687 | TARGETED_DEVICE_FAMILY = "1,2"; 688 | VERSIONING_SYSTEM = "apple-generic"; 689 | VERSION_INFO_PREFIX = ""; 690 | }; 691 | name = Debug; 692 | }; 693 | /* End XCBuildConfiguration section */ 694 | 695 | /* Begin XCConfigurationList section */ 696 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { 697 | isa = XCConfigurationList; 698 | buildConfigurations = ( 699 | 196DFA3E4A09A28224918543529A1885 /* Debug */, 700 | B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, 701 | ); 702 | defaultConfigurationIsVisible = 0; 703 | defaultConfigurationName = Release; 704 | }; 705 | 92BF108FE9BF68ECC66905D4AB9E9062 /* Build configuration list for PBXNativeTarget "Pods-ACSlider_Example" */ = { 706 | isa = XCConfigurationList; 707 | buildConfigurations = ( 708 | C505B3AC62FD56461F329F51248F4647 /* Debug */, 709 | 40E54A1951BEBA1B2DF6195710FD7BC8 /* Release */, 710 | ); 711 | defaultConfigurationIsVisible = 0; 712 | defaultConfigurationName = Release; 713 | }; 714 | BCCE8978DE38985DC3BECB11C8EA7120 /* Build configuration list for PBXNativeTarget "ACSlider-ACSlider" */ = { 715 | isa = XCConfigurationList; 716 | buildConfigurations = ( 717 | A3F011CA2ECD16725D54D2B67A65A1D6 /* Debug */, 718 | 1BC473EB3B62A49CB5A9B2E21F29E56E /* Release */, 719 | ); 720 | defaultConfigurationIsVisible = 0; 721 | defaultConfigurationName = Release; 722 | }; 723 | D8134CF639F9CBC3E7BFC8920114E05D /* Build configuration list for PBXNativeTarget "ACSlider" */ = { 724 | isa = XCConfigurationList; 725 | buildConfigurations = ( 726 | 3121BA7C4BFFBF4C9D0E5599E8307830 /* Debug */, 727 | 03F7926769C2C46A45ABB4B2FEE1EF5C /* Release */, 728 | ); 729 | defaultConfigurationIsVisible = 0; 730 | defaultConfigurationName = Release; 731 | }; 732 | /* End XCConfigurationList section */ 733 | }; 734 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; 735 | } 736 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_ACSlider : NSObject 3 | @end 4 | @implementation PodsDummy_ACSlider 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double ACSliderVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ACSliderVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider.modulemap: -------------------------------------------------------------------------------- 1 | framework module ACSlider { 2 | umbrella header "ACSlider-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ACSlider.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ACSlider 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ResourceBundle-ACSlider-ACSlider-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleIdentifier 8 | ${PRODUCT_BUNDLE_IDENTIFIER} 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundleName 12 | ${PRODUCT_NAME} 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.2 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/ACSlider/ResourceBundle-ACSlider-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleIdentifier 8 | ${PRODUCT_BUNDLE_IDENTIFIER} 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundleName 12 | ${PRODUCT_NAME} 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## ACSlider 5 | 6 | MIT License 7 | 8 | Copyright (c) 2019 Redmadrobot 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | Generated by CocoaPods - https://cocoapods.org 29 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | MIT License 18 | 19 | Copyright (c) 2019 Redmadrobot 20 | 21 | Permission is hereby granted, free of charge, to any person obtaining a copy 22 | of this software and associated documentation files (the "Software"), to deal 23 | in the Software without restriction, including without limitation the rights 24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 25 | copies of the Software, and to permit persons to whom the Software is 26 | furnished to do so, subject to the following conditions: 27 | 28 | The above copyright notice and this permission notice shall be included in all 29 | copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 37 | SOFTWARE. 38 | 39 | License 40 | MIT 41 | Title 42 | ACSlider 43 | Type 44 | PSGroupSpecifier 45 | 46 | 47 | FooterText 48 | Generated by CocoaPods - https://cocoapods.org 49 | Title 50 | 51 | Type 52 | PSGroupSpecifier 53 | 54 | 55 | StringsTable 56 | Acknowledgements 57 | Title 58 | Acknowledgements 59 | 60 | 61 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ACSlider_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ACSlider_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -u 4 | set -o pipefail 5 | 6 | function on_error { 7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" 8 | } 9 | trap 'on_error $LINENO' ERR 10 | 11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then 12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy 13 | # frameworks to, so exit 0 (signalling the script phase was successful). 14 | exit 0 15 | fi 16 | 17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 19 | 20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" 21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 22 | 23 | # Used as a return value for each invocation of `strip_invalid_archs` function. 24 | STRIP_BINARY_RETVAL=0 25 | 26 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 27 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 28 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 29 | 30 | # Copies and strips a vendored framework 31 | install_framework() 32 | { 33 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 34 | local source="${BUILT_PRODUCTS_DIR}/$1" 35 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 36 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 37 | elif [ -r "$1" ]; then 38 | local source="$1" 39 | fi 40 | 41 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 42 | 43 | if [ -L "${source}" ]; then 44 | echo "Symlinked..." 45 | source="$(readlink "${source}")" 46 | fi 47 | 48 | # Use filter instead of exclude so missing patterns don't throw errors. 49 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 50 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 51 | 52 | local basename 53 | basename="$(basename -s .framework "$1")" 54 | binary="${destination}/${basename}.framework/${basename}" 55 | 56 | if ! [ -r "$binary" ]; then 57 | binary="${destination}/${basename}" 58 | elif [ -L "${binary}" ]; then 59 | echo "Destination binary is symlinked..." 60 | dirname="$(dirname "${binary}")" 61 | binary="${dirname}/$(readlink "${binary}")" 62 | fi 63 | 64 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 65 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 66 | strip_invalid_archs "$binary" 67 | fi 68 | 69 | # Resign the code if required by the build settings to avoid unstable apps 70 | code_sign_if_enabled "${destination}/$(basename "$1")" 71 | 72 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 73 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 74 | local swift_runtime_libs 75 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) 76 | for lib in $swift_runtime_libs; do 77 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 78 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 79 | code_sign_if_enabled "${destination}/${lib}" 80 | done 81 | fi 82 | } 83 | 84 | # Copies and strips a vendored dSYM 85 | install_dsym() { 86 | local source="$1" 87 | if [ -r "$source" ]; then 88 | # Copy the dSYM into a the targets temp dir. 89 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" 90 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" 91 | 92 | local basename 93 | basename="$(basename -s .framework.dSYM "$source")" 94 | binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" 95 | 96 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 97 | if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then 98 | strip_invalid_archs "$binary" 99 | fi 100 | 101 | if [[ $STRIP_BINARY_RETVAL == 1 ]]; then 102 | # Move the stripped file into its final destination. 103 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" 104 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" 105 | else 106 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. 107 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" 108 | fi 109 | fi 110 | } 111 | 112 | # Copies the bcsymbolmap files of a vendored framework 113 | install_bcsymbolmap() { 114 | local bcsymbolmap_path="$1" 115 | local destination="${BUILT_PRODUCTS_DIR}" 116 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" 117 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" 118 | } 119 | 120 | # Signs a framework with the provided identity 121 | code_sign_if_enabled() { 122 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 123 | # Use the current code_sign_identity 124 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 125 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" 126 | 127 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 128 | code_sign_cmd="$code_sign_cmd &" 129 | fi 130 | echo "$code_sign_cmd" 131 | eval "$code_sign_cmd" 132 | fi 133 | } 134 | 135 | # Strip invalid architectures 136 | strip_invalid_archs() { 137 | binary="$1" 138 | # Get architectures for current target binary 139 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" 140 | # Intersect them with the architectures we are building for 141 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" 142 | # If there are no archs supported by this binary then warn the user 143 | if [[ -z "$intersected_archs" ]]; then 144 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." 145 | STRIP_BINARY_RETVAL=0 146 | return 147 | fi 148 | stripped="" 149 | for arch in $binary_archs; do 150 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then 151 | # Strip non-valid architectures in-place 152 | lipo -remove "$arch" -output "$binary" "$binary" 153 | stripped="$stripped $arch" 154 | fi 155 | done 156 | if [[ "$stripped" ]]; then 157 | echo "Stripped $binary of architectures:$stripped" 158 | fi 159 | STRIP_BINARY_RETVAL=1 160 | } 161 | 162 | 163 | if [[ "$CONFIGURATION" == "Debug" ]]; then 164 | install_framework "${BUILT_PRODUCTS_DIR}/ACSlider/ACSlider.framework" 165 | fi 166 | if [[ "$CONFIGURATION" == "Release" ]]; then 167 | install_framework "${BUILT_PRODUCTS_DIR}/ACSlider/ACSlider.framework" 168 | fi 169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 170 | wait 171 | fi 172 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -u 4 | set -o pipefail 5 | 6 | if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then 7 | # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy 8 | # resources to, so exit 0 (signalling the script phase was successful). 9 | exit 0 10 | fi 11 | 12 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 13 | 14 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 15 | > "$RESOURCES_TO_COPY" 16 | 17 | XCASSET_FILES=() 18 | 19 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 20 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 21 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 22 | 23 | case "${TARGETED_DEVICE_FAMILY:-}" in 24 | 1,2) 25 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 26 | ;; 27 | 1) 28 | TARGET_DEVICE_ARGS="--target-device iphone" 29 | ;; 30 | 2) 31 | TARGET_DEVICE_ARGS="--target-device ipad" 32 | ;; 33 | 3) 34 | TARGET_DEVICE_ARGS="--target-device tv" 35 | ;; 36 | 4) 37 | TARGET_DEVICE_ARGS="--target-device watch" 38 | ;; 39 | *) 40 | TARGET_DEVICE_ARGS="--target-device mac" 41 | ;; 42 | esac 43 | 44 | install_resource() 45 | { 46 | if [[ "$1" = /* ]] ; then 47 | RESOURCE_PATH="$1" 48 | else 49 | RESOURCE_PATH="${PODS_ROOT}/$1" 50 | fi 51 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 52 | cat << EOM 53 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 54 | EOM 55 | exit 1 56 | fi 57 | case $RESOURCE_PATH in 58 | *.storyboard) 59 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 60 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 61 | ;; 62 | *.xib) 63 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 64 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 65 | ;; 66 | *.framework) 67 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 68 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 69 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 70 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 71 | ;; 72 | *.xcdatamodel) 73 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true 74 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 75 | ;; 76 | *.xcdatamodeld) 77 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true 78 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 79 | ;; 80 | *.xcmappingmodel) 81 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true 82 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 83 | ;; 84 | *.xcassets) 85 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 86 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 87 | ;; 88 | *) 89 | echo "$RESOURCE_PATH" || true 90 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 91 | ;; 92 | esac 93 | } 94 | 95 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 96 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 97 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 98 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 99 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 100 | fi 101 | rm -f "$RESOURCES_TO_COPY" 102 | 103 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] 104 | then 105 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 106 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 107 | while read line; do 108 | if [[ $line != "${PODS_ROOT}*" ]]; then 109 | XCASSET_FILES+=("$line") 110 | fi 111 | done <<<"$OTHER_XCASSETS" 112 | 113 | if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then 114 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 115 | else 116 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" 117 | fi 118 | fi 119 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_ACSlider_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ACSlider_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ACSlider" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ACSlider/ACSlider.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "ACSlider" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ACSlider_Example { 2 | umbrella header "Pods-ACSlider_Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-ACSlider_Example/Pods-ACSlider_Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ACSlider" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ACSlider/ACSlider.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "ACSlider" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Redmadrobot 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Redmadrobot](https://github.com/Redmadrobot/ACSlider/blob/master/header.svg)](http://redmadrobot.com) 2 | 3 |
4 | 5 | # 🎚 ACSlider 6 | [![Redmadrobot](https://img.shields.io/badge/made%20by%20robots-for%20humans-EB5440.svg)](https://github.com/RedMadRobot) [![Version](https://img.shields.io/cocoapods/v/ACSlider.svg?style=flat)](https://cocoapods.org/pods/ACSlider) [![License](https://img.shields.io/cocoapods/l/ACSlider.svg?style=flat)](https://cocoapods.org/pods/ACSlider) [![Platform](https://img.shields.io/cocoapods/p/ACSlider.svg?style=flat)](https://cocoapods.org/pods/ACSlider) 7 | 8 |
9 | 10 | Slider which designed specially for our [Alarm Clock concept](https://dribbble.com/shots/5054031-Colored-Alarm-Clock-Interface). 11 | 12 | 13 | 14 | Implemented as a subclass of UIControl. You can set slider title and max value right in Attributes Inspector in Interface Builder, thanks to @IBInspectable. Also you can choose Slider color using Tint Color property. And there is no need to run simulator to see final result – it is fully rendered in storyboard by @IBDesignable. 15 | 16 |
17 | 18 | Feel free to use this code in your projects and [![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Firmach) me if you have any questions or suggestions. 19 | 20 |
21 | 22 | ## Example 23 | 24 | To run the example project, clone the repo, and run `pod install` from the Example directory first. 25 | 26 |
27 | 28 | ## Installation 29 | 30 | ACSlider is available through [CocoaPods](https://cocoapods.org). To install 31 | it, simply add the following line to your Podfile: 32 | 33 | ```ruby 34 | pod 'ACSlider' 35 | ``` 36 | 37 |
38 | 39 | ## License 40 | 41 | ACSlider is available under the MIT license. 42 | 43 |
44 | 45 | [![Redmadrobot](https://github.com/Redmadrobot/ACSlider/blob/master/robot.svg)](http://redmadrobot.com) 46 | -------------------------------------------------------------------------------- /_Pods.xcodeproj: -------------------------------------------------------------------------------- 1 | Example/Pods/Pods.xcodeproj -------------------------------------------------------------------------------- /header.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Group 14 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RedMadRobot/ACSlider/d72c9240de1fc8a900b15e570c1103c943156e8a/preview.gif -------------------------------------------------------------------------------- /robot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Group 15 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | --------------------------------------------------------------------------------