From c593180e27ce668c5db200059ea572cda01c1848 Mon Sep 17 00:00:00 2001 From: Kirill Serebriakov Date: Sun, 26 May 2019 17:24:52 +0300 Subject: [PATCH] updated example project --- .../EFCountingLabel.xcodeproj/project.pbxproj | 32 +- Example/EFCountingLabel/AppDelegate.swift | 24 +- .../Base.lproj/Main.storyboard | 346 +++++++++++-- .../ListTableViewController.swift | 99 ++++ Example/EFCountingLabel/ViewController.swift | 175 ------- .../CustomTableViewController.swift | 105 ++++ .../StoryboardButtonViewController.swift | 70 +++ .../StoryboardLabelViewController.swift | 75 +++ Example/Podfile.lock | 4 +- .../EFCountingLabel.podspec.json | 2 +- Example/Pods/Manifest.lock | 4 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 472 +++++++++--------- ...Pods-EFCountingLabel_Example-frameworks.sh | 8 + .../Pods-EFCountingLabel_Tests.debug.xcconfig | 1 - ...ods-EFCountingLabel_Tests.release.xcconfig | 1 - 15 files changed, 946 insertions(+), 472 deletions(-) create mode 100644 Example/EFCountingLabel/ListTableViewController.swift delete mode 100644 Example/EFCountingLabel/ViewController.swift create mode 100644 Example/EFCountingLabel/ViewControllers/CustomTableViewController.swift create mode 100644 Example/EFCountingLabel/ViewControllers/StoryboardButtonViewController.swift create mode 100644 Example/EFCountingLabel/ViewControllers/StoryboardLabelViewController.swift diff --git a/Example/EFCountingLabel.xcodeproj/project.pbxproj b/Example/EFCountingLabel.xcodeproj/project.pbxproj index 4ac9776..f33227a 100644 --- a/Example/EFCountingLabel.xcodeproj/project.pbxproj +++ b/Example/EFCountingLabel.xcodeproj/project.pbxproj @@ -9,11 +9,14 @@ /* Begin PBXBuildFile section */ 5EEE4459477CD89613CC9254 /* Pods_EFCountingLabel_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA8BF1F2807CCE416BEF5C0C /* Pods_EFCountingLabel_Tests.framework */; }; 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; }; 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; }; 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; }; 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; }; + 615470077217336459F28548 /* StoryboardButtonViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615478D55F97750BE62D6350 /* StoryboardButtonViewController.swift */; }; + 61547605835C3408C93468DF /* CustomTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615478D4657C10BDDB2930B2 /* CustomTableViewController.swift */; }; + 61547AB8DD5A704F70185C87 /* ListTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6154772B1F9DBE58D87528C6 /* ListTableViewController.swift */; }; + 61547FDE291FDA37914D8D74 /* StoryboardLabelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615477C97BA7D1BE03393744 /* StoryboardLabelViewController.swift */; }; 88B4CB65271A07819AE9D976 /* Pods_EFCountingLabel_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FF702AD45972585A86A336D5 /* Pods_EFCountingLabel_Example.framework */; }; /* End PBXBuildFile section */ @@ -36,13 +39,16 @@ 607FACD01AFB9204008FA782 /* EFCountingLabel_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EFCountingLabel_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 607FACE51AFB9204008FA782 /* EFCountingLabel_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EFCountingLabel_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; }; + 6154772B1F9DBE58D87528C6 /* ListTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListTableViewController.swift; sourceTree = ""; }; + 615477C97BA7D1BE03393744 /* StoryboardLabelViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardLabelViewController.swift; sourceTree = ""; }; + 615478D4657C10BDDB2930B2 /* CustomTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomTableViewController.swift; sourceTree = ""; }; + 615478D55F97750BE62D6350 /* StoryboardButtonViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardButtonViewController.swift; sourceTree = ""; }; 80B2BFCC105106F37CED9FA4 /* EFCountingLabel.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = EFCountingLabel.podspec; path = ../EFCountingLabel.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 8BCD51943A3A1640311342F6 /* Pods-EFCountingLabel_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-EFCountingLabel_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.debug.xcconfig"; sourceTree = ""; }; 8FF75F8CFAC9673D3C62BA08 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; @@ -96,11 +102,12 @@ isa = PBXGroup; children = ( 607FACD51AFB9204008FA782 /* AppDelegate.swift */, - 607FACD71AFB9204008FA782 /* ViewController.swift */, 607FACD91AFB9204008FA782 /* Main.storyboard */, 607FACDC1AFB9204008FA782 /* Images.xcassets */, 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */, 607FACD31AFB9204008FA782 /* Supporting Files */, + 6154772B1F9DBE58D87528C6 /* ListTableViewController.swift */, + 61547E8FF1E28878A7E86491 /* ViewControllers */, ); name = "Example for EFCountingLabel"; path = EFCountingLabel; @@ -143,6 +150,16 @@ name = "Podspec Metadata"; sourceTree = ""; }; + 61547E8FF1E28878A7E86491 /* ViewControllers */ = { + isa = PBXGroup; + children = ( + 615478D55F97750BE62D6350 /* StoryboardButtonViewController.swift */, + 615477C97BA7D1BE03393744 /* StoryboardLabelViewController.swift */, + 615478D4657C10BDDB2930B2 /* CustomTableViewController.swift */, + ); + path = ViewControllers; + sourceTree = ""; + }; A7CA133B4A0DCCD8F0D16197 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -326,8 +343,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */, 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, + 61547AB8DD5A704F70185C87 /* ListTableViewController.swift in Sources */, + 615470077217336459F28548 /* StoryboardButtonViewController.swift in Sources */, + 61547FDE291FDA37914D8D74 /* StoryboardLabelViewController.swift in Sources */, + 61547605835C3408C93468DF /* CustomTableViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -483,7 +503,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = EFCountingLabel/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; @@ -499,7 +519,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = EFCountingLabel/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; diff --git a/Example/EFCountingLabel/AppDelegate.swift b/Example/EFCountingLabel/AppDelegate.swift index df510be..d1a6b60 100644 --- a/Example/EFCountingLabel/AppDelegate.swift +++ b/Example/EFCountingLabel/AppDelegate.swift @@ -31,29 +31,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - + func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { UIApplication.shared.isStatusBarHidden = false return true } - - func applicationWillResignActive(_ application: UIApplication) { - - } - - func applicationDidEnterBackground(_ application: UIApplication) { - - } - - func applicationWillEnterForeground(_ application: UIApplication) { - - } - - func applicationDidBecomeActive(_ application: UIApplication) { - - } - - func applicationWillTerminate(_ application: UIApplication) { - - } } diff --git a/Example/EFCountingLabel/Base.lproj/Main.storyboard b/Example/EFCountingLabel/Base.lproj/Main.storyboard index 16aa22f..42bd8fe 100644 --- a/Example/EFCountingLabel/Base.lproj/Main.storyboard +++ b/Example/EFCountingLabel/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -9,53 +9,343 @@ - - + + - + - - + + - + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/Example/EFCountingLabel/ListTableViewController.swift b/Example/EFCountingLabel/ListTableViewController.swift new file mode 100644 index 0000000..efceb01 --- /dev/null +++ b/Example/EFCountingLabel/ListTableViewController.swift @@ -0,0 +1,99 @@ +// +// Created by Kirow on 2019-05-26. +// Copyright (c) 2019 CocoaPods. All rights reserved. +// + +import Foundation +import UIKit +import EFCountingLabel + +class ListTableViewController: UITableViewController { + + @IBOutlet weak var createButtonCell: UITableViewCell! + @IBOutlet weak var createLabelCell: UITableViewCell! + + var refreshLabelBlock: (() -> Void)? + + private func present(countingView: T) -> UIViewController where T: UIView { + countingView.translatesAutoresizingMaskIntoConstraints = false + + let controller = UIViewController() + controller.view.backgroundColor = .white + + controller.view.addSubview(countingView) + countingView.centerXAnchor.constraint(equalTo: controller.view.centerXAnchor).isActive = true + countingView.centerYAnchor.constraint(equalTo: controller.view.centerYAnchor).isActive = true + + navigationController?.pushViewController(controller, animated: true) + + return controller + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + guard let cell = tableView.cellForRow(at: indexPath) else { + return + } + + switch cell { + case createButtonCell: showControllerWithButton() + case createLabelCell: showControllerWithLabel() + default: return + } + } + + func showControllerWithLabel() { + let label = EFCountingLabel() + label.counter.timingFunction = EFTimingFunction.easeOut(easingRate: 4) + label.setUpdateBlock { value, label in + label.text = String(format: "%.2f%%", value) + } + + //do not retain to release label immediately after pop viewController + refreshLabelBlock = { [unowned label] in + label.countFromZeroTo(100, withDuration: 10) + } + + let controller = present(countingView: label) + + refreshLabelBlock?() + + controller.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .refresh, target: self, + action: #selector(didClickRefreshLabel(_:))) + } + + @objc func didClickRefreshLabel(_ sender: UIBarButtonItem) { + refreshLabelBlock?() + } + + func showControllerWithButton() { + let button = EFCountingButton(type: .custom) + button.counter.timingFunction = EFTimingFunction.easeInOut(easingRate: 2) + button.setTitleColor(.black, for: .normal) + button.backgroundColor = .orange + button.layer.cornerRadius = 10 + + button.widthAnchor.constraint(equalToConstant: 120).isActive = true + + button.setTitle("Start Counter", for: .normal) + button.setUpdateBlock { value, button in + button.setTitle(String(format: "%.2f%%", value), for: .normal) + } + button.setCompletionBlock { button in + button.setTitle("Restart Counter", for: .normal) + } + + button.addTarget(self, action: #selector(didClickCountingButton(_:)), for: .touchUpInside) + + _ = present(countingView: button) + } + + @objc func didClickCountingButton(_ sender: EFCountingButton) { + if sender.counter.isCounting { + sender.stopCountAtCurrentValue() + } else { + sender.countFromZeroTo(100, withDuration: 10) + } + } + + +} \ No newline at end of file diff --git a/Example/EFCountingLabel/ViewController.swift b/Example/EFCountingLabel/ViewController.swift deleted file mode 100644 index cb89670..0000000 --- a/Example/EFCountingLabel/ViewController.swift +++ /dev/null @@ -1,175 +0,0 @@ -// -// ViewController.swift -// EFCountingLabel -// -// Created by EyreFree on 2016/12/11. -// -// Copyright (c) 2017 EyreFree -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import UIKit -import EFCountingLabel - -class ViewController: UIViewController { - - @IBOutlet weak var storyboardLabel: EFCountingLabel! - - var myLabel: EFCountingLabel! - var countPercentageLabel: EFCountingLabel! - var scoreLabel: EFCountingLabel! - var attributedLabel: EFCountingLabel! - var countingButton: EFCountingButton! - @IBOutlet weak var stopCountButton: EFCountingButton! - - override func viewDidLoad() { - super.viewDidLoad() - - setupLabels() - setupButton() - - startCount() - } - - func setupLabels() { - stopCountButton.setUpdateBlock { value, button in - button.setTitle("\(value)", for: .normal) - } - // make one that counts up - let myLabel = EFCountingLabel(frame: CGRect(x: 10, y: 10, width: 200, height: 40)) - myLabel.setUpdateBlock { value, label in - label.text = String(format: "%d", Int(value)) - } - - self.view.addSubview(myLabel) - self.myLabel = myLabel - - // make one that counts up from 5% to 10%, using ease in out (the default) - let countPercentageLabel = EFCountingLabel(frame: CGRect(x: 10, y: 50, width: 200, height: 40)) - countPercentageLabel.setUpdateBlock { value, label in - label.text = String(format: "%.1f%%", value) - } - self.view.addSubview(countPercentageLabel) - self.countPercentageLabel = countPercentageLabel - - // count up using a string that uses a number formatter - let scoreLabel = EFCountingLabel(frame: CGRect(x: 10, y: 90, width: 200, height: 40)) - let formatter = NumberFormatter() - formatter.numberStyle = .decimal - scoreLabel.setUpdateBlock { value, label in - label.text = "Score: " + (formatter.string(from: NSNumber(value: Int(value))) ?? "") - } - scoreLabel.counter.timingMethod = EFTimingMethod.easeOut(easingRate: 3) - - self.view.addSubview(scoreLabel) - self.scoreLabel = scoreLabel - - // count up with attributed string - let attributedLabel = EFCountingLabel(frame: CGRect(x: 10, y: 130, width: 200, height: 40)) - - attributedLabel.setUpdateBlock { value, label in - let highlight = [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue", size: 20) ?? UIFont.systemFont(ofSize: 20)] - let normal = [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-UltraLight", size: 20) ?? UIFont.systemFont(ofSize: 20)] - - let prefix = String(format: "%d", Int(value)) - let postfix = String(format: "/%d", 100) - - let prefixAttr = NSMutableAttributedString(string: prefix, attributes: highlight) - let postfixAttr = NSAttributedString(string: postfix, attributes: normal) - - prefixAttr.append(postfixAttr) - - label.attributedText = prefixAttr - } - - self.view.addSubview(attributedLabel) - self.attributedLabel = attributedLabel - - // storyboard - self.storyboardLabel.counter.timingMethod = EFTimingMethod.easeInOut(easingRate: 3) - self.storyboardLabel.setUpdateBlock { value, label in - label.text = String(format: "%i%%", Int(value)) - } - - self.storyboardLabel.setCompletionBlock { [weak self] in - self?.storyboardLabel.textColor = UIColor(red: 0, green: 0.5, blue: 0, alpha: 1) - } - - // button: a simple countdown button - self.countingButton = EFCountingButton(frame: CGRect(x: 10, y: 170, width: 200, height: 40)) - self.countingButton.setTitle("CountDown", for: .normal) - let attrs = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 12), NSAttributedString.Key.foregroundColor: UIColor.blue] - let attributedString = NSAttributedString(string: countingButton.title(for: UIControl.State.normal) ?? "", attributes: attrs) - self.countingButton.setAttributedTitle(attributedString, for: UIControl.State.normal) - self.countingButton.contentHorizontalAlignment = .left - self.countingButton.setUpdateBlock { value, button in - button.setAttributedTitle(NSAttributedString(string: String(format: "%.0lf", value), attributes: attrs), for: .normal) - } - - self.countingButton.setTitleColor(UIColor.blue, for: UIControl.State.normal) - self.countingButton.addTarget(self, action: #selector(buttonClicked), for: UIControl.Event.touchUpInside) - self.countingButton.counter.timingMethod = EFTimingMethod.linear - self.view.addSubview(countingButton) - } - - func setupButton() { - let screenWidth = UIScreen.main.bounds.size.width - let screenHeight = UIScreen.main.bounds.size.height - - let button = UIButton( - frame: CGRect(x: (screenWidth - 72) / 2, y: (screenHeight - 24 - 100), width: 72, height: 24) - ) - button.layer.borderWidth = 0.5 - button.layer.borderColor = UIColor(red: 0, green: 122.0 / 255.0, blue: 1, alpha: 1).cgColor - button.layer.cornerRadius = 4.0 - button.setTitleColor(UIColor(red: 0, green: 122.0 / 255.0, blue: 1, alpha: 1), for: .normal) - button.setTitle("Repeat", for: .normal) - button.addTarget(self, action: #selector(ViewController.startCount), for: .touchUpInside) - self.view.addSubview(button) - } - - @objc func startCount() { - myLabel.countFrom(1, to: 10, withDuration: 3.0) - countPercentageLabel.countFrom(5, to: 10, withDuration: 2.5) - scoreLabel.countFrom(0, to: 10000, withDuration: 2.5) - attributedLabel.countFrom(0, to: 100, withDuration: 2.5) - self.storyboardLabel.countFrom(0, to: 100, withDuration: 3.0) - } - - @objc func buttonClicked(button: EFCountingButton) { - let titleBackup: NSAttributedString? = button.attributedTitle(for: .normal) - self.countingButton.setCompletionBlock { [weak self] in - guard let _ = self else { return } - button.setAttributedTitle(titleBackup, for: .normal) - } - DispatchQueue.main.async { [weak self] in - guard let strongSelf = self else { return } - strongSelf.countingButton.countFrom(10, to: 0, withDuration: 10) - } - } - - @IBAction func stopButtonClicked(_ sender: EFCountingButton) { - if sender.counter.isCounting { - sender.stopCountAtCurrentValue() - } else { - sender.countFromCurrentValueTo(1000000, withDuration: 20) - } - - } -} diff --git a/Example/EFCountingLabel/ViewControllers/CustomTableViewController.swift b/Example/EFCountingLabel/ViewControllers/CustomTableViewController.swift new file mode 100644 index 0000000..b651872 --- /dev/null +++ b/Example/EFCountingLabel/ViewControllers/CustomTableViewController.swift @@ -0,0 +1,105 @@ +// +// Created by Kirow on 2019-05-26. +// Copyright (c) 2019 CocoaPods. All rights reserved. +// + +import Foundation +import UIKit +import EFCountingLabel + +struct CounterCellModel { + let counter: EFCounter + + init(from: CGFloat, to: CGFloat, duration: TimeInterval, function: EFTiming = EFTimingFunction.linear) { + self.counter = EFCounter() + self.counter.timingFunction = function + self.counter.countFrom(from, to: to, withDuration: duration) + } +} + +class CountingTableViewCell: UITableViewCell { + + weak var counter: EFCounter? + + func setCounter(_ model: CounterCellModel, formatter: NumberFormatter) { + //unbind counter from cell + if let current = self.counter { + current.updateBlock = nil + } + + if let from = formatter.string(from: NSNumber(value: Int(model.counter.fromValue))), + let to = formatter.string(from: NSNumber(value: Int(model.counter.toValue))) { + textLabel?.text = "Count from \(from) to \(to)" + } + + //bind new counter + model.counter.updateBlock = { [unowned self] value in + self.detailTextLabel?.text = formatter.string(from: NSNumber(value: Int(value))) + } + + counter = model.counter + } + +} + +class CustomTableViewController: UIViewController { + @IBOutlet weak var tableView: UITableView! + + lazy var formatter: NumberFormatter = { + let formatter = NumberFormatter() + formatter.groupingSeparator = "." + + formatter.usesGroupingSeparator = true + formatter.groupingSize = 3 + return formatter + }() + + var dataSource: [CounterCellModel] = [] + + override func viewDidLoad() { + super.viewDidLoad() + remakeDataSource() + tableView.reloadData() + } + + @IBAction func didClickRefresh(_ sender: UIBarButtonItem) { + remakeDataSource() + tableView.reloadData() + } + + private func remakeDataSource() { + dataSource.forEach({ $0.counter.invalidate() }) + dataSource.removeAll() + + var prevValue: CGFloat = 0 + for i in 1...12 { + let from = prevValue + let to = pow(10, CGFloat(i)) + let model = CounterCellModel(from: from, to: to, duration: 60) + dataSource.append(model) + prevValue = to + } + } + + deinit { + dataSource.forEach({ $0.counter.invalidate() }) + } +} + + +extension CustomTableViewController: UITableViewDelegate, UITableViewDataSource { + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return dataSource.count + } + + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + guard let cell = tableView.dequeueReusableCell(withIdentifier: "CountingTableViewCell") as? CountingTableViewCell else { + fatalError() + } + + let model = dataSource[indexPath.row] + cell.setCounter(model, formatter: formatter) + + return cell + } +} diff --git a/Example/EFCountingLabel/ViewControllers/StoryboardButtonViewController.swift b/Example/EFCountingLabel/ViewControllers/StoryboardButtonViewController.swift new file mode 100644 index 0000000..c4e8ce6 --- /dev/null +++ b/Example/EFCountingLabel/ViewControllers/StoryboardButtonViewController.swift @@ -0,0 +1,70 @@ +// +// Created by Kirow on 2019-05-26. +// Copyright (c) 2019 CocoaPods. All rights reserved. +// + +import Foundation +import UIKit +import EFCountingLabel + + +class StoryboardButtonViewController: UIViewController { + @IBOutlet weak var countDownButton: EFCountingButton! + @IBOutlet weak var stoppableButton: EFCountingButton! + + override func viewDidLoad() { + super.viewDidLoad() + + let textAttributes: [NSAttributedString.Key: Any] = [ + .font: UIFont.systemFont(ofSize: 14, weight: .bold), + .foregroundColor: UIColor.darkText + ] + + let valueAttributes: [NSAttributedString.Key: Any] = [ + .font: UIFont.systemFont(ofSize: 18, weight: .ultraLight), + .foregroundColor: UIColor.red + ] + + stoppableButton.setUpdateBlock { value, button in + button.setTitle("\(value)", for: .normal) + let attributed = NSMutableAttributedString() + attributed.append(NSAttributedString(string: "Current Value:\t", attributes: textAttributes)) + attributed.append(NSAttributedString(string: String(format: "%.04f", value), attributes: valueAttributes)) + button.setAttributedTitle(attributed, for: .normal) + } + + stoppableButton.setCompletionBlock { button in + button.counter.reset() + button.setTitle("Press to Start", for: .normal) + } + + countDownButton.setUpdateBlock { value, button in + button.setTitle("\(Int(value))", for: .normal) + } + + countDownButton.setCompletionBlock { button in + button.setTitle("Count Down", for: .normal) + } + + } + + @IBAction func didClickCountDownButton(_ sender: EFCountingButton) { + if !sender.counter.isCounting { + sender.countFrom(10, to: 0, withDuration: 10) + } + } + + @IBAction func didClickStopButton(_ sender: EFCountingButton) { + if sender.counter.isCounting { + sender.stopCountAtCurrentValue() + sender.setAttributedTitle(nil, for: .normal) + sender.contentHorizontalAlignment = .center + sender.setTitle("Press to Resume", for: .normal) + } else { + sender.contentHorizontalAlignment = .left + sender.countFromCurrentValueTo(1000000, withDuration: 20) + + } + + } +} diff --git a/Example/EFCountingLabel/ViewControllers/StoryboardLabelViewController.swift b/Example/EFCountingLabel/ViewControllers/StoryboardLabelViewController.swift new file mode 100644 index 0000000..1e330f5 --- /dev/null +++ b/Example/EFCountingLabel/ViewControllers/StoryboardLabelViewController.swift @@ -0,0 +1,75 @@ +// +// Created by Kirow on 2019-05-26. +// Copyright (c) 2019 CocoaPods. All rights reserved. +// + +import Foundation +import UIKit +import EFCountingLabel + +class StoryboardLabelViewController: UIViewController { + + @IBOutlet weak var simpleCounterLabel: EFCountingLabel! + @IBOutlet weak var attributedCountLabel: EFCountingLabel! + @IBOutlet weak var timingCounterLabel: EFCountingLabel! + @IBOutlet weak var completionCounterLabel: EFCountingLabel! + + override func viewDidLoad() { + super.viewDidLoad() + + //simple label setup + simpleCounterLabel.setUpdateBlock { value, label in + label.text = String(format: "%d", Int(value)) + } + + //attributed label setup + let highlightAttributes: [NSAttributedString.Key: Any] = [ + .font: UIFont(name: "HelveticaNeue", size: 20) ?? UIFont.systemFont(ofSize: 20) + ] + + let normalAttributes: [NSAttributedString.Key: Any] = [ + .font: UIFont(name: "HelveticaNeue-UltraLight", size: 20) ?? UIFont.systemFont(ofSize: 20) + ] + + attributedCountLabel.setUpdateBlock { value, label in + let prefix = String(format: "%d", Int(value)) + let postfix = String(format: "/%d", 100) + + let prefixAttr = NSMutableAttributedString(string: prefix, attributes: highlightAttributes) + let postfixAttr = NSAttributedString(string: postfix, attributes: normalAttributes) + prefixAttr.append(postfixAttr) + + label.attributedText = prefixAttr + } + + //timing label setup + let formatter = NumberFormatter() + formatter.numberStyle = .decimal + timingCounterLabel.setUpdateBlock { value, label in + label.text = "Score: " + (formatter.string(from: NSNumber(value: Int(value))) ?? "") + } + timingCounterLabel.counter.timingFunction = EFTimingFunction.easeOut(easingRate: 3) + + + //completion label setup + completionCounterLabel.setUpdateBlock { value, label in + label.text = String(format: "%i%%", Int(value)) + } + + completionCounterLabel.setCompletionBlock { label in + label.textColor = UIColor(red: 0, green: 0.5, blue: 0, alpha: 1) + } + + + startCount() + } + + @IBAction func startCount() { + simpleCounterLabel.countFrom(1, to: 10, withDuration: 3.0) + timingCounterLabel.countFrom(0, to: 10000, withDuration: 2.5) + attributedCountLabel.countFrom(0, to: 100, withDuration: 2.5) + + completionCounterLabel.textColor = .darkText + completionCounterLabel.countFrom(0, to: 100, withDuration: 4) + } +} \ No newline at end of file diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 0e36d7d..50e94a9 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - EFCountingLabel: c25faa62a975f8ef9b2cb0928e8675520e8e2739 + EFCountingLabel: 3f37b11985aa047605ff33274e0ccb4a500d358e PODFILE CHECKSUM: 18006cf8308f1ddc4db21317a6cf556416d587b1 -COCOAPODS: 1.6.1 +COCOAPODS: 1.7.0.rc.1 diff --git a/Example/Pods/Local Podspecs/EFCountingLabel.podspec.json b/Example/Pods/Local Podspecs/EFCountingLabel.podspec.json index fdba081..f85438f 100644 --- a/Example/Pods/Local Podspecs/EFCountingLabel.podspec.json +++ b/Example/Pods/Local Podspecs/EFCountingLabel.podspec.json @@ -4,7 +4,7 @@ "summary": "A label which can show number change animated.", "description": "A label which can show number change animated, in Swift.", "homepage": "https://github.com/EFPrefix/EFCountingLabel", - "screenshots": "https://raw.githubusercontent.com/EFPrefix/EFCountingLabel/master/Assets/example.gif", + "screenshots": "https://raw.githubusercontent.com/EFPrefix/EFCountingLabel/master/Assets/EFCountingLabel.png", "license": { "type": "MIT", "file": "LICENSE" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 0e36d7d..50e94a9 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - EFCountingLabel: c25faa62a975f8ef9b2cb0928e8675520e8e2739 + EFCountingLabel: 3f37b11985aa047605ff33274e0ccb4a500d358e PODFILE CHECKSUM: 18006cf8308f1ddc4db21317a6cf556416d587b1 -COCOAPODS: 1.6.1 +COCOAPODS: 1.7.0.rc.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 4039ce2..9050562 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,17 +7,18 @@ objects = { /* Begin PBXBuildFile section */ - 302662D683BA82BF12163439EEB2F820 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; - 4D0DFFE4F99614112C32D2EA5B14C214 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; - 796042A8368D0BCD22F5067CAFBC9AAA /* Pods-EFCountingLabel_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 39EE35DC2153DED63F2B04868706DFBD /* Pods-EFCountingLabel_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 845BC162B9AC2D9E5C6ACA62CF75EE5E /* EFCountingButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9697CA64529DBF7F9B25A9006C8A726 /* EFCountingButton.swift */; }; - B6F120A3E3709F329A8B496489BAED25 /* Pods-EFCountingLabel_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A6EADEF1623CECA3AF64C5F1D4E9530 /* Pods-EFCountingLabel_Example-dummy.m */; }; - C18DA5B5D47BF74CF7791F0864DC7D53 /* EFCountingLabel-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5061D5F287484F1F9C5390AFFB0ED551 /* EFCountingLabel-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4E3E9AFE3F78473E52C5805D91BC484 /* Pods-EFCountingLabel_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CF624AF3F36E95C33E19E46B1B1C7471 /* Pods-EFCountingLabel_Tests-dummy.m */; }; - CFA94A7FE38ECAB1D55BA635D2C96B7B /* EFCountingLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 889565AD0FD491AEB677030FF801F9CA /* EFCountingLabel-dummy.m */; }; - DF04B53846CEB0A6284F957C00198C99 /* EFCountingLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EB4A7AD4018B72EA7321B469E5BE9F /* EFCountingLabel.swift */; }; - DF8794213EEFAD6B2E1D39C87076CD2A /* Pods-EFCountingLabel_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A180F686C7B53355911FA314F213E28 /* Pods-EFCountingLabel_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E92A9CB7AA5DA1F05F96825F2108E202 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */; }; + 1070573C1E1B8CA300A20F5281858AF2 /* EFTimingMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1472D3235BDBC3BF3188A31F0DEEDBD6 /* EFTimingMethod.swift */; }; + 55DE45DFC78EE4DFFB469AE7E8F5BE80 /* EFCountAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5DF3BCAAE7A3F89BF3A894393FF77FD /* EFCountAdapter.swift */; }; + 796042A8368D0BCD22F5067CAFBC9AAA /* Pods-EFCountingLabel_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CFB60A8A0636D3156E365D8E97630977 /* Pods-EFCountingLabel_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99BD2673543CE37CDBB8BD77F3E2A7BE /* EFCountingLabel-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CD6344AA5AB8530F79D6D6764111030 /* EFCountingLabel-dummy.m */; }; + A7668615A02C8C0AB40535A43E15EF2E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; + B6F120A3E3709F329A8B496489BAED25 /* Pods-EFCountingLabel_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 03AD160971F8E453D87B755BE0C3C73F /* Pods-EFCountingLabel_Example-dummy.m */; }; + BE467AE21FB5AB3CCC73836103FF166A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; + C4E3E9AFE3F78473E52C5805D91BC484 /* Pods-EFCountingLabel_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B87957D051F840B09E442BD2872E46A8 /* Pods-EFCountingLabel_Tests-dummy.m */; }; + C51BD10C806D78E1F24D3538B3F84D78 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; + CA6C4B7F9DA47D5B8747791EE4ABA338 /* EFCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C3BA4587F159B32F6842390E030C25F /* EFCount.swift */; }; + DF8794213EEFAD6B2E1D39C87076CD2A /* Pods-EFCountingLabel_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1653CDC9D6E3900BEBD4B6FE574D6FC6 /* Pods-EFCountingLabel_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E5FBFEF301E81B265F543C46C0844477 /* EFCountingLabel-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAE910C2B97E4852C942B947FAC1F4A /* EFCountingLabel-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -25,52 +26,53 @@ isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F3D1059125DAFCC0F05DE3E8EA5686F8; + remoteGlobalIDString = 8C4582010343B9B88E6D43FB890130C9; remoteInfo = "Pods-EFCountingLabel_Example"; }; 92D50A755015C935850BBE0B8F53FCCF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C2FAF291164D0212387BB5A155845F80; + remoteGlobalIDString = 8D87E5A9FC1F8F56498963BEA9EDFE7A; remoteInfo = EFCountingLabel; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 121DB7CA109604B296F31A2D986092B1 /* Pods-EFCountingLabel_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Tests-Info.plist"; sourceTree = ""; }; - 240A733DE798750949C670C88309A8DF /* Pods-EFCountingLabel_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Example.release.xcconfig"; sourceTree = ""; }; - 39EE35DC2153DED63F2B04868706DFBD /* Pods-EFCountingLabel_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EFCountingLabel_Example-umbrella.h"; sourceTree = ""; }; - 3E4264670CB64E8EA7562602D0C8B889 /* EFCountingLabel.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = EFCountingLabel.modulemap; sourceTree = ""; }; - 49B3A4B3044487EC8520FBAF5D77B89B /* Pods-EFCountingLabel_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Example.debug.xcconfig"; sourceTree = ""; }; - 5061D5F287484F1F9C5390AFFB0ED551 /* EFCountingLabel-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EFCountingLabel-umbrella.h"; sourceTree = ""; }; - 549FCCC683C98736B3D29196912DD2F1 /* EFCountingLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EFCountingLabel.xcconfig; sourceTree = ""; }; - 5A180F686C7B53355911FA314F213E28 /* Pods-EFCountingLabel_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EFCountingLabel_Tests-umbrella.h"; sourceTree = ""; }; - 5FBF08B1D2E7B5A54D24FBA7C51E16BF /* Pods-EFCountingLabel_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Example-acknowledgements.plist"; sourceTree = ""; }; - 6627F758769387CCA8F178295B42B36A /* Pods-EFCountingLabel_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Tests.release.xcconfig"; sourceTree = ""; }; + 035B5B24E4B4BDAC986E778349A49F1D /* EFCountingLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EFCountingLabel-prefix.pch"; sourceTree = ""; }; + 03AD160971F8E453D87B755BE0C3C73F /* Pods-EFCountingLabel_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EFCountingLabel_Example-dummy.m"; sourceTree = ""; }; + 142068632B15BAAE714CA329C7635DB3 /* Pods-EFCountingLabel_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Example-acknowledgements.plist"; sourceTree = ""; }; + 1472D3235BDBC3BF3188A31F0DEEDBD6 /* EFTimingMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EFTimingMethod.swift; path = EFCountingLabel/Classes/EFTimingMethod.swift; sourceTree = ""; }; + 1653CDC9D6E3900BEBD4B6FE574D6FC6 /* Pods-EFCountingLabel_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EFCountingLabel_Tests-umbrella.h"; sourceTree = ""; }; + 16859F231D652A22FD63E01AED630A4E /* EFCountingLabel.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = EFCountingLabel.modulemap; sourceTree = ""; }; + 1AAE910C2B97E4852C942B947FAC1F4A /* EFCountingLabel-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EFCountingLabel-umbrella.h"; sourceTree = ""; }; + 1EFBE3A78B27DC1330FC7FF43C8F2BC0 /* Pods-EFCountingLabel_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Tests.debug.xcconfig"; sourceTree = ""; }; + 1F0411083E85C71D5D998AC56976420E /* Pods-EFCountingLabel_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Tests-acknowledgements.plist"; sourceTree = ""; }; + 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; }; + 38147FE581C08350930DCDC6884202DA /* Pods-EFCountingLabel_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-EFCountingLabel_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 4AA26DDA8FF36EE3034003B8A38591F5 /* EFCountingLabel.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EFCountingLabel.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 5FCB0AD06832AF841C3D5A06093D29D3 /* Pods-EFCountingLabel_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-EFCountingLabel_Example.modulemap"; sourceTree = ""; }; 68BD45FDCADBE44BB1A1DD892EADD13D /* Pods_EFCountingLabel_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_EFCountingLabel_Tests.framework; path = "Pods-EFCountingLabel_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6EF48002D2150BA0077A8A24EEE8C8B0 /* EFCountingLabel-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EFCountingLabel-prefix.pch"; sourceTree = ""; }; - 741D4140F7E1291CEA28984ADB96CBF9 /* EFCountingLabel.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EFCountingLabel.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 7723A8EBBD401354B1FE7954CE5D5E1F /* Pods-EFCountingLabel_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Tests.debug.xcconfig"; sourceTree = ""; }; - 7F338FA814A05A970ECB771B8E488181 /* Pods-EFCountingLabel_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Example-Info.plist"; sourceTree = ""; }; - 889565AD0FD491AEB677030FF801F9CA /* EFCountingLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EFCountingLabel-dummy.m"; sourceTree = ""; }; + 7656696EF20F921F44EAA42B0E19A86E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 7C3BA4587F159B32F6842390E030C25F /* EFCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EFCount.swift; path = EFCountingLabel/Classes/EFCount.swift; sourceTree = ""; }; + 7C5CC72CC53F6EDCEB7844FB8B8C0085 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 7CD6344AA5AB8530F79D6D6764111030 /* EFCountingLabel-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EFCountingLabel-dummy.m"; sourceTree = ""; }; 891D0BF5D243CB4AF7DD531AF078ED6A /* Pods_EFCountingLabel_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_EFCountingLabel_Example.framework; path = "Pods-EFCountingLabel_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9A6EADEF1623CECA3AF64C5F1D4E9530 /* Pods-EFCountingLabel_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EFCountingLabel_Example-dummy.m"; sourceTree = ""; }; 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; }; A05C17F2FC14F4EF84EACA5043DF897A /* EFCountingLabel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = EFCountingLabel.framework; path = EFCountingLabel.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A16053851D7967D09C0FDDABA4807C5C /* Pods-EFCountingLabel_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-EFCountingLabel_Example-frameworks.sh"; sourceTree = ""; }; - A1EB4A7AD4018B72EA7321B469E5BE9F /* EFCountingLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EFCountingLabel.swift; path = EFCountingLabel/Classes/EFCountingLabel.swift; sourceTree = ""; }; - A9697CA64529DBF7F9B25A9006C8A726 /* EFCountingButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EFCountingButton.swift; path = EFCountingLabel/Classes/EFCountingButton.swift; sourceTree = ""; }; - ADDDECF79F6FCFEEC67875364B43AA96 /* Pods-EFCountingLabel_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Tests-acknowledgements.plist"; sourceTree = ""; }; - AE039DD3501B1ED71286C20DC97D882B /* Pods-EFCountingLabel_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-EFCountingLabel_Example.modulemap"; sourceTree = ""; }; - BEDC61D8E61FDF3BE55304601B0F84D8 /* Pods-EFCountingLabel_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-EFCountingLabel_Example-acknowledgements.markdown"; sourceTree = ""; }; - C276D58CAD1D1CAC498FFBAF9FA0A473 /* Pods-EFCountingLabel_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-EFCountingLabel_Tests.modulemap"; sourceTree = ""; }; - C74891F8328D974867F1895600EF9D5C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - CF254290A2C98B442870B799EA76F488 /* EFCountingLabel-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "EFCountingLabel-Info.plist"; sourceTree = ""; }; - CF624AF3F36E95C33E19E46B1B1C7471 /* Pods-EFCountingLabel_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EFCountingLabel_Tests-dummy.m"; sourceTree = ""; }; - E674DEF8F969648EDE9C377D327B337A /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - FF1D94E4092265D8BC81912B87243CBB /* Pods-EFCountingLabel_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-EFCountingLabel_Tests-acknowledgements.markdown"; sourceTree = ""; }; + B72AE3A853FF2ABD2F3FF343E8BCD815 /* Pods-EFCountingLabel_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-EFCountingLabel_Tests.modulemap"; sourceTree = ""; }; + B87957D051F840B09E442BD2872E46A8 /* Pods-EFCountingLabel_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EFCountingLabel_Tests-dummy.m"; sourceTree = ""; }; + C7873A1764BC773CAABCE0CBD1CE77B0 /* EFCountingLabel.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EFCountingLabel.xcconfig; sourceTree = ""; }; + C81588BB56B75D425E8D9A36FF3EC746 /* Pods-EFCountingLabel_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Tests.release.xcconfig"; sourceTree = ""; }; + CFB60A8A0636D3156E365D8E97630977 /* Pods-EFCountingLabel_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EFCountingLabel_Example-umbrella.h"; sourceTree = ""; }; + D46920A2A233186B849F4501385856F4 /* Pods-EFCountingLabel_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Example-Info.plist"; sourceTree = ""; }; + D4C904E22C241ABEA5B95A1C4F23E579 /* Pods-EFCountingLabel_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-EFCountingLabel_Example-frameworks.sh"; sourceTree = ""; }; + D5DF3BCAAE7A3F89BF3A894393FF77FD /* EFCountAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EFCountAdapter.swift; path = EFCountingLabel/Classes/EFCountAdapter.swift; sourceTree = ""; }; + D6A7650342CE2560923B86209AA719A6 /* EFCountingLabel-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "EFCountingLabel-Info.plist"; sourceTree = ""; }; + D8CDAA9A313CCF8FBB622265D33E9F24 /* Pods-EFCountingLabel_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Example.debug.xcconfig"; sourceTree = ""; }; + DF2074EE70CB95C393990BEEC4DCA8C9 /* Pods-EFCountingLabel_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EFCountingLabel_Tests-Info.plist"; sourceTree = ""; }; + E32EAA07EF62BE689744A554DA909CB1 /* Pods-EFCountingLabel_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-EFCountingLabel_Example-acknowledgements.markdown"; sourceTree = ""; }; + FF5C152FC56C4D532DFA882CD1ED0E99 /* Pods-EFCountingLabel_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EFCountingLabel_Example.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -78,15 +80,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4D0DFFE4F99614112C32D2EA5B14C214 /* Foundation.framework in Frameworks */, + BE467AE21FB5AB3CCC73836103FF166A /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5B03086DBCF9A9C4C8929D392F799FC3 /* Frameworks */ = { + 5D445095A6471536D4555D95F44957A4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E92A9CB7AA5DA1F05F96825F2108E202 /* Foundation.framework in Frameworks */, + C51BD10C806D78E1F24D3538B3F84D78 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -94,80 +96,65 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 302662D683BA82BF12163439EEB2F820 /* Foundation.framework in Frameworks */, + A7668615A02C8C0AB40535A43E15EF2E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0072F64B5328AF3CA3AE5E154BADF1CE /* Support Files */ = { + 04168E15C87C7561421AC5158BC64E24 /* EFCountingLabel */ = { isa = PBXGroup; children = ( - 3E4264670CB64E8EA7562602D0C8B889 /* EFCountingLabel.modulemap */, - 549FCCC683C98736B3D29196912DD2F1 /* EFCountingLabel.xcconfig */, - 889565AD0FD491AEB677030FF801F9CA /* EFCountingLabel-dummy.m */, - CF254290A2C98B442870B799EA76F488 /* EFCountingLabel-Info.plist */, - 6EF48002D2150BA0077A8A24EEE8C8B0 /* EFCountingLabel-prefix.pch */, - 5061D5F287484F1F9C5390AFFB0ED551 /* EFCountingLabel-umbrella.h */, + 7C3BA4587F159B32F6842390E030C25F /* EFCount.swift */, + D5DF3BCAAE7A3F89BF3A894393FF77FD /* EFCountAdapter.swift */, + 1472D3235BDBC3BF3188A31F0DEEDBD6 /* EFTimingMethod.swift */, + B7C1AD7E057198786242AE0D47621C2B /* Pod */, + 9CE91D4C99064084005CFCE49B0BA2C4 /* Support Files */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/EFCountingLabel"; - sourceTree = ""; - }; - 0154FA850DFAED4AF70FD830AD68134B /* Pods-EFCountingLabel_Tests */ = { - isa = PBXGroup; - children = ( - C276D58CAD1D1CAC498FFBAF9FA0A473 /* Pods-EFCountingLabel_Tests.modulemap */, - FF1D94E4092265D8BC81912B87243CBB /* Pods-EFCountingLabel_Tests-acknowledgements.markdown */, - ADDDECF79F6FCFEEC67875364B43AA96 /* Pods-EFCountingLabel_Tests-acknowledgements.plist */, - CF624AF3F36E95C33E19E46B1B1C7471 /* Pods-EFCountingLabel_Tests-dummy.m */, - 121DB7CA109604B296F31A2D986092B1 /* Pods-EFCountingLabel_Tests-Info.plist */, - 5A180F686C7B53355911FA314F213E28 /* Pods-EFCountingLabel_Tests-umbrella.h */, - 7723A8EBBD401354B1FE7954CE5D5E1F /* Pods-EFCountingLabel_Tests.debug.xcconfig */, - 6627F758769387CCA8F178295B42B36A /* Pods-EFCountingLabel_Tests.release.xcconfig */, - ); - name = "Pods-EFCountingLabel_Tests"; - path = "Target Support Files/Pods-EFCountingLabel_Tests"; + name = EFCountingLabel; + path = ../..; sourceTree = ""; }; - 0F352B1FEA10EF2E67AA83FE946E7B1C /* EFCountingLabel */ = { + 156973888CE476B70F71711E9CD3A1E4 /* Pods-EFCountingLabel_Example */ = { isa = PBXGroup; children = ( - A9697CA64529DBF7F9B25A9006C8A726 /* EFCountingButton.swift */, - A1EB4A7AD4018B72EA7321B469E5BE9F /* EFCountingLabel.swift */, - 39E11C3426B88862F6F201D70204D782 /* Pod */, - 0072F64B5328AF3CA3AE5E154BADF1CE /* Support Files */, + 5FCB0AD06832AF841C3D5A06093D29D3 /* Pods-EFCountingLabel_Example.modulemap */, + E32EAA07EF62BE689744A554DA909CB1 /* Pods-EFCountingLabel_Example-acknowledgements.markdown */, + 142068632B15BAAE714CA329C7635DB3 /* Pods-EFCountingLabel_Example-acknowledgements.plist */, + 03AD160971F8E453D87B755BE0C3C73F /* Pods-EFCountingLabel_Example-dummy.m */, + D4C904E22C241ABEA5B95A1C4F23E579 /* Pods-EFCountingLabel_Example-frameworks.sh */, + D46920A2A233186B849F4501385856F4 /* Pods-EFCountingLabel_Example-Info.plist */, + CFB60A8A0636D3156E365D8E97630977 /* Pods-EFCountingLabel_Example-umbrella.h */, + D8CDAA9A313CCF8FBB622265D33E9F24 /* Pods-EFCountingLabel_Example.debug.xcconfig */, + FF5C152FC56C4D532DFA882CD1ED0E99 /* Pods-EFCountingLabel_Example.release.xcconfig */, ); - name = EFCountingLabel; - path = ../..; + name = "Pods-EFCountingLabel_Example"; + path = "Target Support Files/Pods-EFCountingLabel_Example"; sourceTree = ""; }; - 38AD00A3ED78D82C10C4818FD75F3798 /* Pods-EFCountingLabel_Example */ = { + 4B1AFBF1EB13FFDE6943C3F43039906C /* Pods-EFCountingLabel_Tests */ = { isa = PBXGroup; children = ( - AE039DD3501B1ED71286C20DC97D882B /* Pods-EFCountingLabel_Example.modulemap */, - BEDC61D8E61FDF3BE55304601B0F84D8 /* Pods-EFCountingLabel_Example-acknowledgements.markdown */, - 5FBF08B1D2E7B5A54D24FBA7C51E16BF /* Pods-EFCountingLabel_Example-acknowledgements.plist */, - 9A6EADEF1623CECA3AF64C5F1D4E9530 /* Pods-EFCountingLabel_Example-dummy.m */, - A16053851D7967D09C0FDDABA4807C5C /* Pods-EFCountingLabel_Example-frameworks.sh */, - 7F338FA814A05A970ECB771B8E488181 /* Pods-EFCountingLabel_Example-Info.plist */, - 39EE35DC2153DED63F2B04868706DFBD /* Pods-EFCountingLabel_Example-umbrella.h */, - 49B3A4B3044487EC8520FBAF5D77B89B /* Pods-EFCountingLabel_Example.debug.xcconfig */, - 240A733DE798750949C670C88309A8DF /* Pods-EFCountingLabel_Example.release.xcconfig */, + B72AE3A853FF2ABD2F3FF343E8BCD815 /* Pods-EFCountingLabel_Tests.modulemap */, + 38147FE581C08350930DCDC6884202DA /* Pods-EFCountingLabel_Tests-acknowledgements.markdown */, + 1F0411083E85C71D5D998AC56976420E /* Pods-EFCountingLabel_Tests-acknowledgements.plist */, + B87957D051F840B09E442BD2872E46A8 /* Pods-EFCountingLabel_Tests-dummy.m */, + DF2074EE70CB95C393990BEEC4DCA8C9 /* Pods-EFCountingLabel_Tests-Info.plist */, + 1653CDC9D6E3900BEBD4B6FE574D6FC6 /* Pods-EFCountingLabel_Tests-umbrella.h */, + 1EFBE3A78B27DC1330FC7FF43C8F2BC0 /* Pods-EFCountingLabel_Tests.debug.xcconfig */, + C81588BB56B75D425E8D9A36FF3EC746 /* Pods-EFCountingLabel_Tests.release.xcconfig */, ); - name = "Pods-EFCountingLabel_Example"; - path = "Target Support Files/Pods-EFCountingLabel_Example"; + name = "Pods-EFCountingLabel_Tests"; + path = "Target Support Files/Pods-EFCountingLabel_Tests"; sourceTree = ""; }; - 39E11C3426B88862F6F201D70204D782 /* Pod */ = { + 5832B98A0A7D272F3B6413F124921C79 /* Development Pods */ = { isa = PBXGroup; children = ( - 741D4140F7E1291CEA28984ADB96CBF9 /* EFCountingLabel.podspec */, - C74891F8328D974867F1895600EF9D5C /* LICENSE */, - E674DEF8F969648EDE9C377D327B337A /* README.md */, + 04168E15C87C7561421AC5158BC64E24 /* EFCountingLabel */, ); - name = Pod; + name = "Development Pods"; sourceTree = ""; }; 5F48950C6E5D66C419CF07FC3D07B2CE /* Products */ = { @@ -180,18 +167,34 @@ name = Products; sourceTree = ""; }; - 955702BE0BC7B09966CEF95A335B81D0 /* Development Pods */ = { + 9CE91D4C99064084005CFCE49B0BA2C4 /* Support Files */ = { isa = PBXGroup; children = ( - 0F352B1FEA10EF2E67AA83FE946E7B1C /* EFCountingLabel */, + 16859F231D652A22FD63E01AED630A4E /* EFCountingLabel.modulemap */, + C7873A1764BC773CAABCE0CBD1CE77B0 /* EFCountingLabel.xcconfig */, + 7CD6344AA5AB8530F79D6D6764111030 /* EFCountingLabel-dummy.m */, + D6A7650342CE2560923B86209AA719A6 /* EFCountingLabel-Info.plist */, + 035B5B24E4B4BDAC986E778349A49F1D /* EFCountingLabel-prefix.pch */, + 1AAE910C2B97E4852C942B947FAC1F4A /* EFCountingLabel-umbrella.h */, ); - name = "Development Pods"; + name = "Support Files"; + path = "Example/Pods/Target Support Files/EFCountingLabel"; sourceTree = ""; }; - 9B055D0CFEA43187E72B03DED11F5662 /* iOS */ = { + B7C1AD7E057198786242AE0D47621C2B /* Pod */ = { isa = PBXGroup; children = ( - CB4607EFCA7C5F75397649E792E2AFCB /* Foundation.framework */, + 4AA26DDA8FF36EE3034003B8A38591F5 /* EFCountingLabel.podspec */, + 7C5CC72CC53F6EDCEB7844FB8B8C0085 /* LICENSE */, + 7656696EF20F921F44EAA42B0E19A86E /* README.md */, + ); + name = Pod; + sourceTree = ""; + }; + C0834CEBB1379A84116EF29F93051C60 /* iOS */ = { + isa = PBXGroup; + children = ( + 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */, ); name = iOS; sourceTree = ""; @@ -200,7 +203,7 @@ isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 955702BE0BC7B09966CEF95A335B81D0 /* Development Pods */, + 5832B98A0A7D272F3B6413F124921C79 /* Development Pods */, D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, 5F48950C6E5D66C419CF07FC3D07B2CE /* Products */, E703129639FE169B330B18BCB1BD5E38 /* Targets Support Files */, @@ -210,7 +213,7 @@ D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { isa = PBXGroup; children = ( - 9B055D0CFEA43187E72B03DED11F5662 /* iOS */, + C0834CEBB1379A84116EF29F93051C60 /* iOS */, ); name = Frameworks; sourceTree = ""; @@ -218,8 +221,8 @@ E703129639FE169B330B18BCB1BD5E38 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 38AD00A3ED78D82C10C4818FD75F3798 /* Pods-EFCountingLabel_Example */, - 0154FA850DFAED4AF70FD830AD68134B /* Pods-EFCountingLabel_Tests */, + 156973888CE476B70F71711E9CD3A1E4 /* Pods-EFCountingLabel_Example */, + 4B1AFBF1EB13FFDE6943C3F43039906C /* Pods-EFCountingLabel_Tests */, ); name = "Targets Support Files"; sourceTree = ""; @@ -227,19 +230,19 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 7ECD7F17A471C6E8F7706848DA7C2059 /* Headers */ = { + 56E14661D61F5450E024D88F7DCC98DE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 796042A8368D0BCD22F5067CAFBC9AAA /* Pods-EFCountingLabel_Example-umbrella.h in Headers */, + E5FBFEF301E81B265F543C46C0844477 /* EFCountingLabel-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - ADE4CA7DB720EF6DD92B6C8B1BF98C1B /* Headers */ = { + 7ECD7F17A471C6E8F7706848DA7C2059 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C18DA5B5D47BF74CF7791F0864DC7D53 /* EFCountingLabel-umbrella.h in Headers */, + 796042A8368D0BCD22F5067CAFBC9AAA /* Pods-EFCountingLabel_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -254,14 +257,33 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - C2FAF291164D0212387BB5A155845F80 /* EFCountingLabel */ = { + 8C4582010343B9B88E6D43FB890130C9 /* Pods-EFCountingLabel_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9B5EAF5B37CFD9C1477DCE779E67300D /* Build configuration list for PBXNativeTarget "Pods-EFCountingLabel_Example" */; + buildPhases = ( + 7ECD7F17A471C6E8F7706848DA7C2059 /* Headers */, + 39D3B6519B41472602E24DBDC4AB41B2 /* Sources */, + 03C80E20B5D93E3B8747E286CBC06199 /* Frameworks */, + D4D84E29808C4E59E50C74C2C30DF125 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 0C8980F3E0A17FEA5839440152A3DDF5 /* PBXTargetDependency */, + ); + name = "Pods-EFCountingLabel_Example"; + productName = "Pods-EFCountingLabel_Example"; + productReference = 891D0BF5D243CB4AF7DD531AF078ED6A /* Pods_EFCountingLabel_Example.framework */; + productType = "com.apple.product-type.framework"; + }; + 8D87E5A9FC1F8F56498963BEA9EDFE7A /* EFCountingLabel */ = { isa = PBXNativeTarget; - buildConfigurationList = 7CA77B9587565C9B61EAF351B57BEB37 /* Build configuration list for PBXNativeTarget "EFCountingLabel" */; + buildConfigurationList = 4292598DB4E727168C30EDCEE710E63C /* Build configuration list for PBXNativeTarget "EFCountingLabel" */; buildPhases = ( - ADE4CA7DB720EF6DD92B6C8B1BF98C1B /* Headers */, - 1CADA67C312C346D1C0CECAF416C1856 /* Sources */, - 5B03086DBCF9A9C4C8929D392F799FC3 /* Frameworks */, - CC41D0B104DD148377DDEAE6C78EE40C /* Resources */, + 56E14661D61F5450E024D88F7DCC98DE /* Headers */, + FAAD5C2007B70D95691FAE31CCE81D15 /* Sources */, + 5D445095A6471536D4555D95F44957A4 /* Frameworks */, + EE5FE66F40113B3B9746FF81AF21FA36 /* Resources */, ); buildRules = ( ); @@ -272,7 +294,7 @@ productReference = A05C17F2FC14F4EF84EACA5043DF897A /* EFCountingLabel.framework */; productType = "com.apple.product-type.framework"; }; - DC137D3AA21FBCB5F58A4CEF8A1F9B24 /* Pods-EFCountingLabel_Tests */ = { + B0F85C85FC1A7A5C9193CC47492B429F /* Pods-EFCountingLabel_Tests */ = { isa = PBXNativeTarget; buildConfigurationList = 3A307B924BEE0348F4E4FCB86EFAAC77 /* Build configuration list for PBXNativeTarget "Pods-EFCountingLabel_Tests" */; buildPhases = ( @@ -291,37 +313,18 @@ productReference = 68BD45FDCADBE44BB1A1DD892EADD13D /* Pods_EFCountingLabel_Tests.framework */; productType = "com.apple.product-type.framework"; }; - F3D1059125DAFCC0F05DE3E8EA5686F8 /* Pods-EFCountingLabel_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9B5EAF5B37CFD9C1477DCE779E67300D /* Build configuration list for PBXNativeTarget "Pods-EFCountingLabel_Example" */; - buildPhases = ( - 7ECD7F17A471C6E8F7706848DA7C2059 /* Headers */, - 39D3B6519B41472602E24DBDC4AB41B2 /* Sources */, - 03C80E20B5D93E3B8747E286CBC06199 /* Frameworks */, - D4D84E29808C4E59E50C74C2C30DF125 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 0C8980F3E0A17FEA5839440152A3DDF5 /* PBXTargetDependency */, - ); - name = "Pods-EFCountingLabel_Example"; - productName = "Pods-EFCountingLabel_Example"; - productReference = 891D0BF5D243CB4AF7DD531AF078ED6A /* Pods_EFCountingLabel_Example.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 0930; + LastSwiftUpdateCheck = 1020; + LastUpgradeCheck = 1020; }; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -331,29 +334,29 @@ projectDirPath = ""; projectRoot = ""; targets = ( - C2FAF291164D0212387BB5A155845F80 /* EFCountingLabel */, - F3D1059125DAFCC0F05DE3E8EA5686F8 /* Pods-EFCountingLabel_Example */, - DC137D3AA21FBCB5F58A4CEF8A1F9B24 /* Pods-EFCountingLabel_Tests */, + 8D87E5A9FC1F8F56498963BEA9EDFE7A /* EFCountingLabel */, + 8C4582010343B9B88E6D43FB890130C9 /* Pods-EFCountingLabel_Example */, + B0F85C85FC1A7A5C9193CC47492B429F /* Pods-EFCountingLabel_Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - CC41D0B104DD148377DDEAE6C78EE40C /* Resources */ = { + D063ECA84BDF88A43703882F7CC5502E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D063ECA84BDF88A43703882F7CC5502E /* Resources */ = { + D4D84E29808C4E59E50C74C2C30DF125 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D4D84E29808C4E59E50C74C2C30DF125 /* Resources */ = { + EE5FE66F40113B3B9746FF81AF21FA36 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -363,29 +366,30 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 1CADA67C312C346D1C0CECAF416C1856 /* Sources */ = { + 39D3B6519B41472602E24DBDC4AB41B2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 845BC162B9AC2D9E5C6ACA62CF75EE5E /* EFCountingButton.swift in Sources */, - CFA94A7FE38ECAB1D55BA635D2C96B7B /* EFCountingLabel-dummy.m in Sources */, - DF04B53846CEB0A6284F957C00198C99 /* EFCountingLabel.swift in Sources */, + B6F120A3E3709F329A8B496489BAED25 /* Pods-EFCountingLabel_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 39D3B6519B41472602E24DBDC4AB41B2 /* Sources */ = { + A2023ABC758724D4BC539A0FB3566157 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B6F120A3E3709F329A8B496489BAED25 /* Pods-EFCountingLabel_Example-dummy.m in Sources */, + C4E3E9AFE3F78473E52C5805D91BC484 /* Pods-EFCountingLabel_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A2023ABC758724D4BC539A0FB3566157 /* Sources */ = { + FAAD5C2007B70D95691FAE31CCE81D15 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C4E3E9AFE3F78473E52C5805D91BC484 /* Pods-EFCountingLabel_Tests-dummy.m in Sources */, + CA6C4B7F9DA47D5B8747791EE4ABA338 /* EFCount.swift in Sources */, + 55DE45DFC78EE4DFFB469AE7E8F5BE80 /* EFCountAdapter.swift in Sources */, + 99BD2673543CE37CDBB8BD77F3E2A7BE /* EFCountingLabel-dummy.m in Sources */, + 1070573C1E1B8CA300A20F5281858AF2 /* EFTimingMethod.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -395,19 +399,53 @@ 0C8980F3E0A17FEA5839440152A3DDF5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = EFCountingLabel; - target = C2FAF291164D0212387BB5A155845F80 /* EFCountingLabel */; + target = 8D87E5A9FC1F8F56498963BEA9EDFE7A /* EFCountingLabel */; targetProxy = 92D50A755015C935850BBE0B8F53FCCF /* PBXContainerItemProxy */; }; 28A430DB2F8493A60C8B72E4194A341B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Pods-EFCountingLabel_Example"; - target = F3D1059125DAFCC0F05DE3E8EA5686F8 /* Pods-EFCountingLabel_Example */; + target = 8C4582010343B9B88E6D43FB890130C9 /* Pods-EFCountingLabel_Example */; targetProxy = 7528D4093B510B2016E8D24530EBB7A0 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 05DF210AC65EBB0E593AAF976B2C2177 /* Release */ = { + 2236389BB76DBC3C99877BD344A40B8E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C81588BB56B75D425E8D9A36FF3EC746 /* Pods-EFCountingLabel_Tests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -462,78 +500,12 @@ STRIP_INSTALLED_PRODUCT = NO; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 2236389BB76DBC3C99877BD344A40B8E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6627F758769387CCA8F178295B42B36A /* Pods-EFCountingLabel_Tests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 2C246C4AA4313249B048C43CFB7C8051 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 549FCCC683C98736B3D29196912DD2F1 /* EFCountingLabel.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/EFCountingLabel/EFCountingLabel-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/EFCountingLabel/EFCountingLabel-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/EFCountingLabel/EFCountingLabel.modulemap"; - PRODUCT_MODULE_NAME = EFCountingLabel; - PRODUCT_NAME = EFCountingLabel; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - 421ECB1396280A8D83853C3DDBED1700 /* Debug */ = { + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -592,14 +564,14 @@ STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; ACAC07C68B3CF0F869B10080669F110A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 240A733DE798750949C670C88309A8DF /* Pods-EFCountingLabel_Example.release.xcconfig */; + baseConfigurationReference = FF5C152FC56C4D532DFA882CD1ED0E99 /* Pods-EFCountingLabel_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; @@ -633,7 +605,7 @@ }; B919EB876FC6A16D808C709A0088CA27 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7723A8EBBD401354B1FE7954CE5D5E1F /* Pods-EFCountingLabel_Tests.debug.xcconfig */; + baseConfigurationReference = 1EFBE3A78B27DC1330FC7FF43C8F2BC0 /* Pods-EFCountingLabel_Tests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; @@ -664,9 +636,41 @@ }; name = Debug; }; - C6C315985222FFAB74E04141815D711F /* Debug */ = { + C4B6D09F00E180E2FAF1B5A41F158CD3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 549FCCC683C98736B3D29196912DD2F1 /* EFCountingLabel.xcconfig */; + baseConfigurationReference = C7873A1764BC773CAABCE0CBD1CE77B0 /* EFCountingLabel.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/EFCountingLabel/EFCountingLabel-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/EFCountingLabel/EFCountingLabel-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/EFCountingLabel/EFCountingLabel.modulemap"; + PRODUCT_MODULE_NAME = EFCountingLabel; + PRODUCT_NAME = EFCountingLabel; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C56260C5DCCC8737D0C539594AE773BF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C7873A1764BC773CAABCE0CBD1CE77B0 /* EFCountingLabel.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -697,7 +701,7 @@ }; C8B4C19AC31EF19A04BAA8D78E7DC1E4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 49B3A4B3044487EC8520FBAF5D77B89B /* Pods-EFCountingLabel_Example.debug.xcconfig */; + baseConfigurationReference = D8CDAA9A313CCF8FBB622265D33E9F24 /* Pods-EFCountingLabel_Example.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; @@ -740,20 +744,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 4292598DB4E727168C30EDCEE710E63C /* Build configuration list for PBXNativeTarget "EFCountingLabel" */ = { isa = XCConfigurationList; buildConfigurations = ( - 421ECB1396280A8D83853C3DDBED1700 /* Debug */, - 05DF210AC65EBB0E593AAF976B2C2177 /* Release */, + C56260C5DCCC8737D0C539594AE773BF /* Debug */, + C4B6D09F00E180E2FAF1B5A41F158CD3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7CA77B9587565C9B61EAF351B57BEB37 /* Build configuration list for PBXNativeTarget "EFCountingLabel" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - C6C315985222FFAB74E04141815D711F /* Debug */, - 2C246C4AA4313249B048C43CFB7C8051 /* Release */, + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */, + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Example/Pods-EFCountingLabel_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Example/Pods-EFCountingLabel_Example-frameworks.sh index 3c2b37f..777ef1a 100755 --- a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Example/Pods-EFCountingLabel_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Example/Pods-EFCountingLabel_Example-frameworks.sh @@ -109,6 +109,14 @@ install_dsym() { fi } +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + 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}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + # Signs a framework with the provided identity code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then diff --git a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.debug.xcconfig index e1ff58d..0c77e0e 100644 --- a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.debug.xcconfig @@ -1,7 +1,6 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EFCountingLabel" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EFCountingLabel/EFCountingLabel.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "EFCountingLabel" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.release.xcconfig index e1ff58d..0c77e0e 100644 --- a/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-EFCountingLabel_Tests/Pods-EFCountingLabel_Tests.release.xcconfig @@ -1,7 +1,6 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EFCountingLabel" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/EFCountingLabel/EFCountingLabel.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "EFCountingLabel" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)