├── SlidingText
├── Assets
│ └── .gitkeep
└── Classes
│ ├── .gitkeep
│ └── SlidingText.swift
├── _Pods.xcodeproj
├── Example
├── Podfile
├── Pods
│ ├── Pods.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── project.pbxproj
│ ├── Target Support Files
│ │ ├── SlidingText
│ │ │ ├── SlidingText.modulemap
│ │ │ ├── SlidingText-dummy.m
│ │ │ ├── SlidingText-prefix.pch
│ │ │ ├── SlidingText-umbrella.h
│ │ │ ├── SlidingText.xcconfig
│ │ │ └── Info.plist
│ │ └── Pods-SlidingText_Tests
│ │ │ ├── Pods-SlidingText_Tests.modulemap
│ │ │ ├── Pods-SlidingText_Tests-dummy.m
│ │ │ ├── Pods-SlidingText_Tests-umbrella.h
│ │ │ ├── Pods-SlidingText_Tests.debug.xcconfig
│ │ │ ├── Pods-SlidingText_Tests.release.xcconfig
│ │ │ ├── Info.plist
│ │ │ ├── Pods-SlidingText_Tests-acknowledgements.markdown
│ │ │ ├── Pods-SlidingText_Tests-acknowledgements.plist
│ │ │ ├── Pods-SlidingText_Tests-resources.sh
│ │ │ └── Pods-SlidingText_Tests-frameworks.sh
│ ├── Manifest.lock
│ └── Local Podspecs
│ │ └── SlidingText.podspec.json
├── SlidingText.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── SlidingText-Example.xcscheme
│ └── project.pbxproj
├── SlidingText.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Podfile.lock
└── Tests
│ ├── Info.plist
│ └── Tests.swift
├── .travis.yml
├── .gitignore
├── SlidingText.podspec
├── README.md
└── LICENSE
/SlidingText/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SlidingText/Classes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 | target 'SlidingText_Tests' do
3 | pod 'SlidingText', :path => '../'
4 |
5 |
6 | end
7 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/SlidingText.modulemap:
--------------------------------------------------------------------------------
1 | framework module SlidingText {
2 | umbrella header "SlidingText-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/SlidingText-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SlidingText : NSObject
3 | @end
4 | @implementation PodsDummy_SlidingText
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_SlidingText_Tests {
2 | umbrella header "Pods-SlidingText_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_SlidingText_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_SlidingText_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/SlidingText.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/SlidingText-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/SlidingText.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/SlidingText.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - SlidingText (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - SlidingText (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | SlidingText:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | SlidingText: a38513b9170fe2cad18e2a7e66055cde2520d154
13 |
14 | PODFILE CHECKSUM: 78a23bad5f11fb283d5266d31e6d4f850892e5e7
15 |
16 | COCOAPODS: 1.5.3
17 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - SlidingText (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - SlidingText (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | SlidingText:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | SlidingText: a38513b9170fe2cad18e2a7e66055cde2520d154
13 |
14 | PODFILE CHECKSUM: 78a23bad5f11fb283d5266d31e6d4f850892e5e7
15 |
16 | COCOAPODS: 1.5.3
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/SlidingText-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 SlidingTextVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SlidingTextVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-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_SlidingText_TestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_SlidingText_TestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/SlidingText.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SlidingText
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 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/SlidingText.xcworkspace -scheme SlidingText-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/SlidingText.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SlidingText",
3 | "version": "0.1.0",
4 | "summary": "A short description of SlidingText.",
5 | "description": "TODO: Add long description of the pod here.",
6 | "homepage": "https://github.com/Dionysis Karatzas/SlidingText",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "Dionysis Karatzas": "dnkaratzas@gmail.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/Dionysis Karatzas/SlidingText.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "8.0"
20 | },
21 | "source_files": "SlidingText/Classes/**/*"
22 | }
23 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SlidingText"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SlidingText/SlidingText.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "SlidingText"
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-SlidingText_Tests/Pods-SlidingText_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SlidingText"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SlidingText/SlidingText.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "SlidingText"
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/Tests/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 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | import SlidingText
3 |
4 | class Tests: XCTestCase {
5 |
6 | override func setUp() {
7 | super.setUp()
8 | // Put setup code here. This method is called before the invocation of each test method in the class.
9 | }
10 |
11 | override func tearDown() {
12 | // Put teardown code here. This method is called after the invocation of each test method in the class.
13 | super.tearDown()
14 | }
15 |
16 | func testExample() {
17 | // This is an example of a functional test case.
18 | XCTAssert(true, "Pass")
19 | }
20 |
21 | func testPerformanceExample() {
22 | // This is an example of a performance test case.
23 | self.measure() {
24 | // Put the code you want to measure the time of here.
25 | }
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
26 | # Carthage/Checkouts
27 |
28 | Carthage/Build
29 |
30 | # We recommend against adding the Pods directory to your .gitignore. However
31 | # you should judge for yourself, the pros and cons are mentioned at:
32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
33 | #
34 | # Note: if you ignore the Pods directory, make sure to uncomment
35 | # `pod install` in .travis.yml
36 | #
37 | # Pods/
38 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SlidingText/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 | 0.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/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-SlidingText_Tests/Pods-SlidingText_Tests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## SlidingText
5 |
6 | Copyright (c) 2018 Dionysis Karatzas
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/SlidingText.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint SlidingText.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = 'SlidingText'
11 | s.version = '1.0.3'
12 | s.summary = 'Swift UIView for sliding text with page indicator.'
13 |
14 | # This description is used to generate tags and improve search results.
15 | # * Think: What does it do? Why did you write it? What is the focus?
16 | # * Try to keep it short, snappy and to the point.
17 | # * Write the description between the DESC delimiters below.
18 | # * Finally, don't worry about the indent, CocoaPods strips it!
19 |
20 | s.description = <<-DESC
21 | An UIVIew control for sliding text with page indicator built upon UIKitDynamic using Swift. Simple and effecient. \n
22 | DESC
23 |
24 | s.homepage = 'https://github.com/dnKaratzas/SlidingText'
25 | #s.screenshots = 'https://image.ibb.co/ixmtJv/Sliding_Text.gif', 'https://image.ibb.co/dJ8Jka/Sliding_Text.png', 'https://image.ibb.co/iDy7dv/Sliding_Text2.png'
26 | s.license = { :type => 'Apache', :file => 'LICENSE' }
27 | s.author = { 'Dionysis Karatzas' => 'dkaratzas@hotmail.com' }
28 | s.source = { :git => 'https://github.com/dnKaratzas/SlidingText.git', :tag => s.version.to_s }
29 | # s.social_media_url = 'https://twitter.com/'
30 |
31 | s.ios.deployment_target = '8.0'
32 |
33 | s.source_files = 'SlidingText/Classes/*'
34 | s.swift_version = '4.2'
35 | # s.resource_bundles = {
36 | # 'SlidingText' => ['SlidingText/Assets/*.png']
37 | # }
38 |
39 | # s.public_header_files = 'Pod/Classes/**/*.h'
40 | # s.frameworks = 'UIKit', 'MapKit'
41 | # s.dependency 'AFNetworking', '~> 2.3'
42 | end
43 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SlidingText for Swift
2 |
3 | [](https://cocoapods.org/pods/SlidingText)
4 | [](https://cocoapods.org/pods/SlidingText)
5 | [](https://cocoapods.org/pods/SlidingText)
6 |
7 |
8 |
9 |
10 |
11 | ## Requirements
12 | __Requires iOS 8 or later and Xcode 6.1+__
13 |
14 | ## Installation
15 |
16 | SlidingText is available through [CocoaPods](https://cocoapods.org). To install
17 | it, simply add the following line to your Podfile:
18 |
19 | ```ruby
20 | pod 'SlidingText'
21 | ```
22 |
23 | ## Usage with Storyboard
24 | In Identity Inspector, connect the UIView to SlidingText Class and set the properties in Attribute Inspector.
25 |
26 |
27 |
28 | ```
29 | Text is separated by the '|n' delimiter
30 | ```
31 |
32 |
33 |
34 | ## Usage with Code
35 | ```swift
36 | let slidingText = SlidingText(frame: CGRect(x: 0, y: 30, width: self.view.frame.width, height: 120))
37 |
38 | myAwesomeViewController.view.addSubView = slidingText
39 |
40 | ...
41 |
42 | ```
43 |
44 | ## Functions
45 | start()
46 | pause()
47 |
48 | ## Properties
49 | labelColor
50 | labelFont
51 | labelSize
52 | slidingTexts
53 | pagerTintColor
54 | pagerCurrentColor
55 | timeToSlide
56 | enableGestures
57 | isPaused (Get)
58 | currentIndex (Get)
59 |
60 | ## Author
61 |
62 | Dionysis Karatzas, dkaratzas@hotmail.com
63 |
64 | ## License
65 |
66 | Copyright 2018 Dionysios Karatzas
67 |
68 | Licensed under the Apache License, Version 2.0 (the "License");
69 | you may not use this file except in compliance with the License.
70 | You may obtain a copy of the License at
71 |
72 | http://www.apache.org/licenses/LICENSE-2.0
73 |
74 | Unless required by applicable law or agreed to in writing, software
75 | distributed under the License is distributed on an "AS IS" BASIS,
76 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
77 | See the License for the specific language governing permissions and
78 | limitations under the License.
79 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-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 | Copyright (c) 2018 Dionysis Karatzas <dnkaratzas@gmail.com>
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | SlidingText
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Example/SlidingText.xcodeproj/xcshareddata/xcschemes/SlidingText-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
45 |
46 |
48 |
54 |
55 |
56 |
57 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
80 |
82 |
88 |
89 |
90 |
91 |
92 |
93 |
99 |
101 |
107 |
108 |
109 |
110 |
112 |
113 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-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-SlidingText_Tests/Pods-SlidingText_Tests-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
7 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
8 | # frameworks to, so exit 0 (signalling the script phase was successful).
9 | exit 0
10 | fi
11 |
12 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
13 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
14 |
15 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
16 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
17 |
18 | # Used as a return value for each invocation of `strip_invalid_archs` function.
19 | STRIP_BINARY_RETVAL=0
20 |
21 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
22 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
23 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
24 |
25 | # Copies and strips a vendored framework
26 | install_framework()
27 | {
28 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
29 | local source="${BUILT_PRODUCTS_DIR}/$1"
30 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
31 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
32 | elif [ -r "$1" ]; then
33 | local source="$1"
34 | fi
35 |
36 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
37 |
38 | if [ -L "${source}" ]; then
39 | echo "Symlinked..."
40 | source="$(readlink "${source}")"
41 | fi
42 |
43 | # Use filter instead of exclude so missing patterns don't throw errors.
44 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
45 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
46 |
47 | local basename
48 | basename="$(basename -s .framework "$1")"
49 | binary="${destination}/${basename}.framework/${basename}"
50 | if ! [ -r "$binary" ]; then
51 | binary="${destination}/${basename}"
52 | fi
53 |
54 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
55 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
56 | strip_invalid_archs "$binary"
57 | fi
58 |
59 | # Resign the code if required by the build settings to avoid unstable apps
60 | code_sign_if_enabled "${destination}/$(basename "$1")"
61 |
62 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
63 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
64 | local swift_runtime_libs
65 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
66 | for lib in $swift_runtime_libs; do
67 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
68 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
69 | code_sign_if_enabled "${destination}/${lib}"
70 | done
71 | fi
72 | }
73 |
74 | # Copies and strips a vendored dSYM
75 | install_dsym() {
76 | local source="$1"
77 | if [ -r "$source" ]; then
78 | # Copy the dSYM into a the targets temp dir.
79 | 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}\""
80 | 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}"
81 |
82 | local basename
83 | basename="$(basename -s .framework.dSYM "$source")"
84 | binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
85 |
86 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
87 | if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then
88 | strip_invalid_archs "$binary"
89 | fi
90 |
91 | if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
92 | # Move the stripped file into its final destination.
93 | 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}\""
94 | 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}"
95 | else
96 | # 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.
97 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
98 | fi
99 | fi
100 | }
101 |
102 | # Signs a framework with the provided identity
103 | code_sign_if_enabled() {
104 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
105 | # Use the current code_sign_identitiy
106 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
107 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
108 |
109 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
110 | code_sign_cmd="$code_sign_cmd &"
111 | fi
112 | echo "$code_sign_cmd"
113 | eval "$code_sign_cmd"
114 | fi
115 | }
116 |
117 | # Strip invalid architectures
118 | strip_invalid_archs() {
119 | binary="$1"
120 | # Get architectures for current target binary
121 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
122 | # Intersect them with the architectures we are building for
123 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
124 | # If there are no archs supported by this binary then warn the user
125 | if [[ -z "$intersected_archs" ]]; then
126 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
127 | STRIP_BINARY_RETVAL=0
128 | return
129 | fi
130 | stripped=""
131 | for arch in $binary_archs; do
132 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
133 | # Strip non-valid architectures in-place
134 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1
135 | stripped="$stripped $arch"
136 | fi
137 | done
138 | if [[ "$stripped" ]]; then
139 | echo "Stripped $binary of architectures:$stripped"
140 | fi
141 | STRIP_BINARY_RETVAL=1
142 | }
143 |
144 |
145 | if [[ "$CONFIGURATION" == "Debug" ]]; then
146 | install_framework "${BUILT_PRODUCTS_DIR}/SlidingText/SlidingText.framework"
147 | fi
148 | if [[ "$CONFIGURATION" == "Release" ]]; then
149 | install_framework "${BUILT_PRODUCTS_DIR}/SlidingText/SlidingText.framework"
150 | fi
151 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
152 | wait
153 | fi
154 |
--------------------------------------------------------------------------------
/SlidingText/Classes/SlidingText.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SlidingText.swift
3 | // SlidingText
4 | //
5 | // Created by Dionisis Karatzas on 19/11/2018.
6 | //
7 |
8 | import UIKit
9 |
10 | @IBDesignable
11 | class SlidingText : UIView{
12 |
13 | private var pageControl : UIPageControl = UIPageControl(frame: CGRect(x: 0,y: 0,width: 50,height: 20))
14 | private var label : UILabel = UILabel(frame: CGRect(x: 0,y: 0,width: 50,height: 20))
15 | private var texts : [String] = ["Add your texts seperated by '|n'"]
16 |
17 | private(set) var isPaused: Bool = false
18 | private(set) var currentIndex = 0
19 | private var timer : Timer?
20 |
21 | @IBInspectable var labelColor: UIColor = UIColor.black {
22 | didSet {
23 | label.textColor = labelColor
24 | }
25 | }
26 |
27 | @IBInspectable var labelSize: CGFloat = CGFloat(17.0){
28 | didSet{
29 | label.font = UIFont(name: labelFont, size: labelSize)
30 | }
31 | }
32 | @IBInspectable var labelFont: String = "Avenir Next"{
33 | didSet {
34 | label.font = UIFont(name: labelFont, size: labelSize)
35 | }
36 | }
37 |
38 | @IBInspectable var labelTexts: String = "" {
39 | didSet {
40 | texts = labelTexts.components(separatedBy: "|n")
41 | label.text = texts[0]
42 | pageControl.numberOfPages = texts.count
43 |
44 | var i = 0
45 | // remove leading newline/whitespace characters
46 | for text in texts {
47 | let trimmed = text.replacingOccurrences(of: "^\\s*", with: "", options: .regularExpression)
48 | texts[i] = trimmed
49 | i+=1
50 | }
51 | }
52 | }
53 |
54 | @IBInspectable var pagerTintColor: UIColor = UIColor.black {
55 | didSet {
56 | pageControl.pageIndicatorTintColor = self.pagerTintColor
57 | }
58 | }
59 |
60 | @IBInspectable var pagerCurrentColor: UIColor = UIColor.green {
61 | didSet {
62 | pageControl.currentPageIndicatorTintColor = self.pagerCurrentColor
63 | }
64 | }
65 |
66 |
67 |
68 | @IBInspectable var timeToSlide: Double = 4.0 {
69 | didSet {
70 | timer?.invalidate()
71 | startOrResumeTimer()
72 | }
73 | }
74 |
75 | @IBInspectable var enableGestures: Bool = false {
76 | didSet {
77 | if enableGestures{
78 | configureGestures()
79 | }
80 | else{
81 | self.gestureRecognizers?.forEach(self.removeGestureRecognizer)
82 | }
83 | }
84 | }
85 |
86 | required init?(coder aDecoder: NSCoder) {
87 | super.init(coder: aDecoder)
88 | configureLabel()
89 | configurePageControl()
90 | startOrResumeTimer()
91 | }
92 |
93 | override init(frame: CGRect) {
94 | super.init(frame: frame)
95 | configureLabel()
96 | configurePageControl()
97 | startOrResumeTimer()
98 | }
99 |
100 | private func configureGestures(){
101 | let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
102 | swipeRight.direction = UISwipeGestureRecognizer.Direction.right
103 | self.addGestureRecognizer(swipeRight)
104 |
105 | let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
106 | swipeLeft.direction = UISwipeGestureRecognizer.Direction.left
107 | self.addGestureRecognizer(swipeLeft)
108 | }
109 |
110 | private func configureLabel() {
111 | label.text = texts[0]
112 | label.autoresizingMask = [.flexibleWidth, .flexibleHeight]
113 | label.translatesAutoresizingMaskIntoConstraints = false
114 | label.textAlignment = .center
115 | label.numberOfLines = 0
116 | label.font = UIFont(name: labelFont, size: labelSize)
117 |
118 | self.addSubview(label)
119 |
120 | let horizontalConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutConstraint.Attribute.centerX, relatedBy: NSLayoutConstraint.Relation.equal, toItem: self, attribute: NSLayoutConstraint.Attribute.centerX, multiplier: 1, constant: 0)
121 | let verticalConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutConstraint.Attribute.top, relatedBy: NSLayoutConstraint.Relation.equal, toItem: self, attribute: NSLayoutConstraint.Attribute.top, multiplier: 1, constant: 10)
122 | let trailingConstraint = NSLayoutConstraint(item: self, attribute: NSLayoutConstraint.Attribute.trailingMargin, relatedBy: NSLayoutConstraint.Relation.equal, toItem: label, attribute: NSLayoutConstraint.Attribute.trailing, multiplier: 1, constant: 0)
123 | let leadingConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutConstraint.Attribute.leading, relatedBy: NSLayoutConstraint.Relation.equal, toItem: self, attribute: NSLayoutConstraint.Attribute.leadingMargin, multiplier: 1, constant: 0)
124 |
125 |
126 | NSLayoutConstraint.activate([horizontalConstraint, verticalConstraint, trailingConstraint, leadingConstraint])
127 | }
128 |
129 | private func configurePageControl() {
130 | pageControl.numberOfPages = 1
131 | pageControl.currentPage = 0
132 | pageControl.pageIndicatorTintColor = pagerTintColor
133 | pageControl.currentPageIndicatorTintColor = pagerCurrentColor
134 |
135 | pageControl.autoresizingMask = [.flexibleWidth, .flexibleHeight]
136 | pageControl.translatesAutoresizingMaskIntoConstraints = false
137 |
138 | addSubview(pageControl)
139 |
140 | let horizontalConstraint = NSLayoutConstraint(item: pageControl, attribute: NSLayoutConstraint.Attribute.centerX, relatedBy: NSLayoutConstraint.Relation.equal, toItem: self, attribute: NSLayoutConstraint.Attribute.centerX, multiplier: 1, constant: 0)
141 | let verticalConstraint = NSLayoutConstraint(item: self, attribute: NSLayoutConstraint.Attribute.bottom, relatedBy: NSLayoutConstraint.Relation.equal, toItem: pageControl, attribute: NSLayoutConstraint.Attribute.bottom, multiplier: 1, constant: 10)
142 |
143 |
144 | NSLayoutConstraint.activate([horizontalConstraint, verticalConstraint])
145 | }
146 |
147 | public func pause(){
148 | timer?.invalidate()
149 | isPaused = true
150 | }
151 |
152 | public func start(){
153 | startOrResumeTimer()
154 | }
155 |
156 | public var slidingTexts: [String]{
157 | get{
158 | return texts
159 | }
160 | set{
161 | texts = newValue
162 | label.text = texts[0]
163 | pageControl.numberOfPages = texts.count
164 |
165 | var i = 0
166 | // remove leading newline/whitespace characters
167 | for text in texts {
168 | let trimmed = text.replacingOccurrences(of: "^\\s*", with: "", options: .regularExpression)
169 | texts[i] = trimmed
170 | i+=1
171 | }
172 | }
173 | }
174 |
175 |
176 | private func startOrResumeTimer() {
177 | timer = Timer.scheduledTimer(timeInterval: timeToSlide, target: self, selector: #selector(self.timersJob), userInfo: nil, repeats: true)
178 | isPaused = false
179 |
180 | }
181 |
182 | @objc private func timersJob(){
183 | self.currentIndex += 1
184 | if self.currentIndex == self.texts.count{
185 | self.currentIndex = 0
186 | }
187 |
188 | self.label.pushTransition(duration: 0.5, animationSubType: convertFromCATransitionSubtype(CATransitionSubtype.fromRight))
189 | self.label.text = self.texts[self.currentIndex]
190 |
191 | self.pageControl.currentPage = self.currentIndex
192 | }
193 |
194 | @objc private func respondToSwipeGesture(gesture: UIGestureRecognizer) {
195 |
196 | if let swipeGesture = gesture as? UISwipeGestureRecognizer {
197 | switch swipeGesture.direction {
198 | case UISwipeGestureRecognizer.Direction.right:
199 | timer?.invalidate()
200 | currentIndex -= 1
201 | if currentIndex < 0{
202 | currentIndex = texts.count - 1
203 | }
204 |
205 | label.pushTransition(duration: 0.5, animationSubType: convertFromCATransitionSubtype(CATransitionSubtype.fromLeft))
206 | label.text = self.texts[currentIndex]
207 |
208 | pageControl.currentPage = currentIndex
209 | startOrResumeTimer()
210 | case UISwipeGestureRecognizer.Direction.down:
211 | break
212 | case UISwipeGestureRecognizer.Direction.left:
213 | timer?.invalidate()
214 | currentIndex += 1
215 | if currentIndex == texts.count{
216 | currentIndex = 0
217 | }
218 |
219 | label.pushTransition(duration: 0.5, animationSubType: convertFromCATransitionSubtype(CATransitionSubtype.fromRight))
220 | label.text = self.texts[currentIndex]
221 |
222 | pageControl.currentPage = self.currentIndex
223 | startOrResumeTimer()
224 | case UISwipeGestureRecognizer.Direction.up:
225 | break
226 | default:
227 | break
228 | }
229 | }
230 | }
231 | }
232 |
233 | extension UIView {
234 | func pushTransition(duration:CFTimeInterval, animationSubType: String) {
235 | let animation:CATransition = CATransition()
236 | animation.timingFunction = CAMediaTimingFunction(name:
237 | CAMediaTimingFunctionName.easeInEaseOut)
238 | animation.type = CATransitionType.push
239 | animation.subtype = convertToOptionalCATransitionSubtype(animationSubType)
240 | animation.duration = duration
241 | self.layer.add(animation, forKey: convertFromCATransitionType(CATransitionType.push))
242 | }
243 | }
244 |
245 | fileprivate func convertFromCATransitionSubtype(_ input: CATransitionSubtype) -> String {
246 | return input.rawValue
247 | }
248 |
249 | fileprivate func convertToOptionalCATransitionSubtype(_ input: String?) -> CATransitionSubtype? {
250 | guard let input = input else { return nil }
251 | return CATransitionSubtype(rawValue: input)
252 | }
253 |
254 | fileprivate func convertFromCATransitionType(_ input: CATransitionType) -> String {
255 | return input.rawValue
256 | }
257 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/Example/SlidingText.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
11 | B8204424EF6D895250E7A4BC /* Pods_SlidingText_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9CB551BF970E4A1499F7946 /* Pods_SlidingText_Tests.framework */; };
12 | /* End PBXBuildFile section */
13 |
14 | /* Begin PBXFileReference section */
15 | 1A33B1AB180E68C9876133CC /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
16 | 54D8F49C5AC6E4E47D15CC36 /* Pods-SlidingText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SlidingText_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.release.xcconfig"; sourceTree = ""; };
17 | 607FACE51AFB9204008FA782 /* SlidingText_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SlidingText_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
18 | 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
19 | 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; };
20 | 67F661CB62385BB330C49A66 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
21 | 6F12E2A9D32FCF87ADB23660 /* SlidingText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = SlidingText.podspec; path = ../SlidingText.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
22 | D66F84592C14C4726D7D0559 /* Pods-SlidingText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SlidingText_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.debug.xcconfig"; sourceTree = ""; };
23 | F9CB551BF970E4A1499F7946 /* Pods_SlidingText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SlidingText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
24 | /* End PBXFileReference section */
25 |
26 | /* Begin PBXFrameworksBuildPhase section */
27 | 607FACE21AFB9204008FA782 /* Frameworks */ = {
28 | isa = PBXFrameworksBuildPhase;
29 | buildActionMask = 2147483647;
30 | files = (
31 | B8204424EF6D895250E7A4BC /* Pods_SlidingText_Tests.framework in Frameworks */,
32 | );
33 | runOnlyForDeploymentPostprocessing = 0;
34 | };
35 | /* End PBXFrameworksBuildPhase section */
36 |
37 | /* Begin PBXGroup section */
38 | 050706C65EE1098BCDEF6C6B /* Pods */ = {
39 | isa = PBXGroup;
40 | children = (
41 | D66F84592C14C4726D7D0559 /* Pods-SlidingText_Tests.debug.xcconfig */,
42 | 54D8F49C5AC6E4E47D15CC36 /* Pods-SlidingText_Tests.release.xcconfig */,
43 | );
44 | name = Pods;
45 | sourceTree = "";
46 | };
47 | 607FACC71AFB9204008FA782 = {
48 | isa = PBXGroup;
49 | children = (
50 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
51 | 607FACE81AFB9204008FA782 /* Tests */,
52 | 607FACD11AFB9204008FA782 /* Products */,
53 | 050706C65EE1098BCDEF6C6B /* Pods */,
54 | B012BB1989ED635474A33E2C /* Frameworks */,
55 | );
56 | sourceTree = "";
57 | };
58 | 607FACD11AFB9204008FA782 /* Products */ = {
59 | isa = PBXGroup;
60 | children = (
61 | 607FACE51AFB9204008FA782 /* SlidingText_Tests.xctest */,
62 | );
63 | name = Products;
64 | sourceTree = "";
65 | };
66 | 607FACE81AFB9204008FA782 /* Tests */ = {
67 | isa = PBXGroup;
68 | children = (
69 | 607FACEB1AFB9204008FA782 /* Tests.swift */,
70 | 607FACE91AFB9204008FA782 /* Supporting Files */,
71 | );
72 | path = Tests;
73 | sourceTree = "";
74 | };
75 | 607FACE91AFB9204008FA782 /* Supporting Files */ = {
76 | isa = PBXGroup;
77 | children = (
78 | 607FACEA1AFB9204008FA782 /* Info.plist */,
79 | );
80 | name = "Supporting Files";
81 | sourceTree = "";
82 | };
83 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
84 | isa = PBXGroup;
85 | children = (
86 | 6F12E2A9D32FCF87ADB23660 /* SlidingText.podspec */,
87 | 1A33B1AB180E68C9876133CC /* README.md */,
88 | 67F661CB62385BB330C49A66 /* LICENSE */,
89 | );
90 | name = "Podspec Metadata";
91 | sourceTree = "";
92 | };
93 | B012BB1989ED635474A33E2C /* Frameworks */ = {
94 | isa = PBXGroup;
95 | children = (
96 | F9CB551BF970E4A1499F7946 /* Pods_SlidingText_Tests.framework */,
97 | );
98 | name = Frameworks;
99 | sourceTree = "";
100 | };
101 | /* End PBXGroup section */
102 |
103 | /* Begin PBXNativeTarget section */
104 | 607FACE41AFB9204008FA782 /* SlidingText_Tests */ = {
105 | isa = PBXNativeTarget;
106 | buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SlidingText_Tests" */;
107 | buildPhases = (
108 | 2DB139B3595D1954E7E00D20 /* [CP] Check Pods Manifest.lock */,
109 | 607FACE11AFB9204008FA782 /* Sources */,
110 | 607FACE21AFB9204008FA782 /* Frameworks */,
111 | 607FACE31AFB9204008FA782 /* Resources */,
112 | B56C5F6E5905D224B1C54195 /* [CP] Embed Pods Frameworks */,
113 | );
114 | buildRules = (
115 | );
116 | dependencies = (
117 | );
118 | name = SlidingText_Tests;
119 | productName = Tests;
120 | productReference = 607FACE51AFB9204008FA782 /* SlidingText_Tests.xctest */;
121 | productType = "com.apple.product-type.bundle.unit-test";
122 | };
123 | /* End PBXNativeTarget section */
124 |
125 | /* Begin PBXProject section */
126 | 607FACC81AFB9204008FA782 /* Project object */ = {
127 | isa = PBXProject;
128 | attributes = {
129 | LastSwiftUpdateCheck = 0830;
130 | LastUpgradeCheck = 0830;
131 | ORGANIZATIONNAME = CocoaPods;
132 | TargetAttributes = {
133 | 607FACE41AFB9204008FA782 = {
134 | CreatedOnToolsVersion = 6.3.1;
135 | LastSwiftMigration = 0900;
136 | TestTargetID = 607FACCF1AFB9204008FA782;
137 | };
138 | };
139 | };
140 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "SlidingText" */;
141 | compatibilityVersion = "Xcode 3.2";
142 | developmentRegion = English;
143 | hasScannedForEncodings = 0;
144 | knownRegions = (
145 | en,
146 | Base,
147 | );
148 | mainGroup = 607FACC71AFB9204008FA782;
149 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
150 | projectDirPath = "";
151 | projectRoot = "";
152 | targets = (
153 | 607FACE41AFB9204008FA782 /* SlidingText_Tests */,
154 | );
155 | };
156 | /* End PBXProject section */
157 |
158 | /* Begin PBXResourcesBuildPhase section */
159 | 607FACE31AFB9204008FA782 /* Resources */ = {
160 | isa = PBXResourcesBuildPhase;
161 | buildActionMask = 2147483647;
162 | files = (
163 | );
164 | runOnlyForDeploymentPostprocessing = 0;
165 | };
166 | /* End PBXResourcesBuildPhase section */
167 |
168 | /* Begin PBXShellScriptBuildPhase section */
169 | 2DB139B3595D1954E7E00D20 /* [CP] Check Pods Manifest.lock */ = {
170 | isa = PBXShellScriptBuildPhase;
171 | buildActionMask = 2147483647;
172 | files = (
173 | );
174 | inputFileListPaths = (
175 | );
176 | inputPaths = (
177 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
178 | "${PODS_ROOT}/Manifest.lock",
179 | );
180 | name = "[CP] Check Pods Manifest.lock";
181 | outputFileListPaths = (
182 | );
183 | outputPaths = (
184 | "$(DERIVED_FILE_DIR)/Pods-SlidingText_Tests-checkManifestLockResult.txt",
185 | );
186 | runOnlyForDeploymentPostprocessing = 0;
187 | shellPath = /bin/sh;
188 | 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";
189 | showEnvVarsInLog = 0;
190 | };
191 | B56C5F6E5905D224B1C54195 /* [CP] Embed Pods Frameworks */ = {
192 | isa = PBXShellScriptBuildPhase;
193 | buildActionMask = 2147483647;
194 | files = (
195 | );
196 | inputFileListPaths = (
197 | );
198 | inputPaths = (
199 | "${SRCROOT}/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-frameworks.sh",
200 | "${BUILT_PRODUCTS_DIR}/SlidingText/SlidingText.framework",
201 | );
202 | name = "[CP] Embed Pods Frameworks";
203 | outputFileListPaths = (
204 | );
205 | outputPaths = (
206 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SlidingText.framework",
207 | );
208 | runOnlyForDeploymentPostprocessing = 0;
209 | shellPath = /bin/sh;
210 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests-frameworks.sh\"\n";
211 | showEnvVarsInLog = 0;
212 | };
213 | /* End PBXShellScriptBuildPhase section */
214 |
215 | /* Begin PBXSourcesBuildPhase section */
216 | 607FACE11AFB9204008FA782 /* Sources */ = {
217 | isa = PBXSourcesBuildPhase;
218 | buildActionMask = 2147483647;
219 | files = (
220 | 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */,
221 | );
222 | runOnlyForDeploymentPostprocessing = 0;
223 | };
224 | /* End PBXSourcesBuildPhase section */
225 |
226 | /* Begin XCBuildConfiguration section */
227 | 607FACED1AFB9204008FA782 /* Debug */ = {
228 | isa = XCBuildConfiguration;
229 | buildSettings = {
230 | ALWAYS_SEARCH_USER_PATHS = NO;
231 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
232 | CLANG_CXX_LIBRARY = "libc++";
233 | CLANG_ENABLE_MODULES = YES;
234 | CLANG_ENABLE_OBJC_ARC = YES;
235 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
236 | CLANG_WARN_BOOL_CONVERSION = YES;
237 | CLANG_WARN_COMMA = YES;
238 | CLANG_WARN_CONSTANT_CONVERSION = YES;
239 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
240 | CLANG_WARN_EMPTY_BODY = YES;
241 | CLANG_WARN_ENUM_CONVERSION = YES;
242 | CLANG_WARN_INFINITE_RECURSION = YES;
243 | CLANG_WARN_INT_CONVERSION = YES;
244 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
245 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
246 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
247 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
248 | CLANG_WARN_STRICT_PROTOTYPES = YES;
249 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
250 | CLANG_WARN_UNREACHABLE_CODE = YES;
251 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
252 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
253 | COPY_PHASE_STRIP = NO;
254 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
255 | ENABLE_STRICT_OBJC_MSGSEND = YES;
256 | ENABLE_TESTABILITY = YES;
257 | GCC_C_LANGUAGE_STANDARD = gnu99;
258 | GCC_DYNAMIC_NO_PIC = NO;
259 | GCC_NO_COMMON_BLOCKS = YES;
260 | GCC_OPTIMIZATION_LEVEL = 0;
261 | GCC_PREPROCESSOR_DEFINITIONS = (
262 | "DEBUG=1",
263 | "$(inherited)",
264 | );
265 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
266 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
267 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
268 | GCC_WARN_UNDECLARED_SELECTOR = YES;
269 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
270 | GCC_WARN_UNUSED_FUNCTION = YES;
271 | GCC_WARN_UNUSED_VARIABLE = YES;
272 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
273 | MTL_ENABLE_DEBUG_INFO = YES;
274 | ONLY_ACTIVE_ARCH = YES;
275 | SDKROOT = iphoneos;
276 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
277 | };
278 | name = Debug;
279 | };
280 | 607FACEE1AFB9204008FA782 /* Release */ = {
281 | isa = XCBuildConfiguration;
282 | buildSettings = {
283 | ALWAYS_SEARCH_USER_PATHS = NO;
284 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
285 | CLANG_CXX_LIBRARY = "libc++";
286 | CLANG_ENABLE_MODULES = YES;
287 | CLANG_ENABLE_OBJC_ARC = YES;
288 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
289 | CLANG_WARN_BOOL_CONVERSION = YES;
290 | CLANG_WARN_COMMA = YES;
291 | CLANG_WARN_CONSTANT_CONVERSION = YES;
292 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
293 | CLANG_WARN_EMPTY_BODY = YES;
294 | CLANG_WARN_ENUM_CONVERSION = YES;
295 | CLANG_WARN_INFINITE_RECURSION = YES;
296 | CLANG_WARN_INT_CONVERSION = YES;
297 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
298 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
299 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
300 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
301 | CLANG_WARN_STRICT_PROTOTYPES = YES;
302 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
303 | CLANG_WARN_UNREACHABLE_CODE = YES;
304 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
305 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
306 | COPY_PHASE_STRIP = NO;
307 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
308 | ENABLE_NS_ASSERTIONS = NO;
309 | ENABLE_STRICT_OBJC_MSGSEND = YES;
310 | GCC_C_LANGUAGE_STANDARD = gnu99;
311 | GCC_NO_COMMON_BLOCKS = YES;
312 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
313 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
314 | GCC_WARN_UNDECLARED_SELECTOR = YES;
315 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
316 | GCC_WARN_UNUSED_FUNCTION = YES;
317 | GCC_WARN_UNUSED_VARIABLE = YES;
318 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
319 | MTL_ENABLE_DEBUG_INFO = NO;
320 | SDKROOT = iphoneos;
321 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
322 | VALIDATE_PRODUCT = YES;
323 | };
324 | name = Release;
325 | };
326 | 607FACF31AFB9204008FA782 /* Debug */ = {
327 | isa = XCBuildConfiguration;
328 | baseConfigurationReference = D66F84592C14C4726D7D0559 /* Pods-SlidingText_Tests.debug.xcconfig */;
329 | buildSettings = {
330 | FRAMEWORK_SEARCH_PATHS = (
331 | "$(SDKROOT)/Developer/Library/Frameworks",
332 | "$(inherited)",
333 | );
334 | GCC_PREPROCESSOR_DEFINITIONS = (
335 | "DEBUG=1",
336 | "$(inherited)",
337 | );
338 | INFOPLIST_FILE = Tests/Info.plist;
339 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
340 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
341 | PRODUCT_NAME = "$(TARGET_NAME)";
342 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
343 | SWIFT_VERSION = 4.0;
344 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SlidingText_Example.app/SlidingText_Example";
345 | };
346 | name = Debug;
347 | };
348 | 607FACF41AFB9204008FA782 /* Release */ = {
349 | isa = XCBuildConfiguration;
350 | baseConfigurationReference = 54D8F49C5AC6E4E47D15CC36 /* Pods-SlidingText_Tests.release.xcconfig */;
351 | buildSettings = {
352 | FRAMEWORK_SEARCH_PATHS = (
353 | "$(SDKROOT)/Developer/Library/Frameworks",
354 | "$(inherited)",
355 | );
356 | INFOPLIST_FILE = Tests/Info.plist;
357 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
358 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
359 | PRODUCT_NAME = "$(TARGET_NAME)";
360 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
361 | SWIFT_VERSION = 4.0;
362 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SlidingText_Example.app/SlidingText_Example";
363 | };
364 | name = Release;
365 | };
366 | /* End XCBuildConfiguration section */
367 |
368 | /* Begin XCConfigurationList section */
369 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "SlidingText" */ = {
370 | isa = XCConfigurationList;
371 | buildConfigurations = (
372 | 607FACED1AFB9204008FA782 /* Debug */,
373 | 607FACEE1AFB9204008FA782 /* Release */,
374 | );
375 | defaultConfigurationIsVisible = 0;
376 | defaultConfigurationName = Release;
377 | };
378 | 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SlidingText_Tests" */ = {
379 | isa = XCConfigurationList;
380 | buildConfigurations = (
381 | 607FACF31AFB9204008FA782 /* Debug */,
382 | 607FACF41AFB9204008FA782 /* Release */,
383 | );
384 | defaultConfigurationIsVisible = 0;
385 | defaultConfigurationName = Release;
386 | };
387 | /* End XCConfigurationList section */
388 | };
389 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
390 | }
391 |
--------------------------------------------------------------------------------
/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 | 40CC07B093EBFB693685F74E8F077F6D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6DFF15000AFE2A371BF499E7AFDA808 /* Foundation.framework */; };
11 | 517BD78A276340D97BF0DD7630784B57 /* SlidingText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 105A1E2340372EE91D054D7888DCA5D0 /* SlidingText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
12 | 6D6DC71B6D550384E196BCF93CA6BCFF /* Pods-SlidingText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D3813A2EEBAF22D01D36D5164C38140 /* Pods-SlidingText_Tests-dummy.m */; };
13 | 8A38A2D021A32F6B007955F9 /* SlidingText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A38A2CF21A32F6B007955F9 /* SlidingText.swift */; };
14 | B8B05FAFB45397BD8835A1DAFF541311 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6DFF15000AFE2A371BF499E7AFDA808 /* Foundation.framework */; };
15 | C89A54B32EE97BFB92D2F6E706573CD3 /* SlidingText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CA1E481CE0C862D976964AB77A20594 /* SlidingText-dummy.m */; };
16 | F440CC91AA8F36A2E502FEBB7CB695A0 /* Pods-SlidingText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 847F599C0E8BFC3F023E71AC31B21DFD /* Pods-SlidingText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXContainerItemProxy section */
20 | 45FEE8B264120C5F5E1BF66A69605991 /* PBXContainerItemProxy */ = {
21 | isa = PBXContainerItemProxy;
22 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
23 | proxyType = 1;
24 | remoteGlobalIDString = D16721558B9BB485EC31591CF6E96E22;
25 | remoteInfo = SlidingText;
26 | };
27 | /* End PBXContainerItemProxy section */
28 |
29 | /* Begin PBXFileReference section */
30 | 01A4342E4C7F0780F67A351BA70C2C44 /* SlidingText.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SlidingText.modulemap; sourceTree = ""; };
31 | 105A1E2340372EE91D054D7888DCA5D0 /* SlidingText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SlidingText-umbrella.h"; sourceTree = ""; };
32 | 1C2EB79208DD3101829F6645DB8C41CB /* SlidingText.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SlidingText.xcconfig; sourceTree = ""; };
33 | 3151B38F89DA2676203C01470CB1B289 /* Pods-SlidingText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SlidingText_Tests.release.xcconfig"; sourceTree = ""; };
34 | 31BD33A7970D8565FE4D29861B680010 /* SlidingText-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SlidingText-prefix.pch"; sourceTree = ""; };
35 | 49F083550910DEE4F847DBA2897FEFFD /* Pods-SlidingText_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SlidingText_Tests-resources.sh"; sourceTree = ""; };
36 | 4F4717F8EBD843D1B97EFDF527ED9E5F /* Pods_SlidingText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SlidingText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 578078BDB81DF307D8F9B41E92C5EF19 /* Pods-SlidingText_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SlidingText_Tests.modulemap"; sourceTree = ""; };
38 | 5D3813A2EEBAF22D01D36D5164C38140 /* Pods-SlidingText_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SlidingText_Tests-dummy.m"; sourceTree = ""; };
39 | 6CA1E481CE0C862D976964AB77A20594 /* SlidingText-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SlidingText-dummy.m"; sourceTree = ""; };
40 | 6F66300F4CD180B9DED4229BE93F7C12 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
41 | 7A269E2C8F87D10A6449A9FEE4A9A04A /* Pods-SlidingText_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SlidingText_Tests-frameworks.sh"; sourceTree = ""; };
42 | 7C4F41A5F2D64EFD7B61A1068F7C59CD /* SlidingText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SlidingText.framework; sourceTree = BUILT_PRODUCTS_DIR; };
43 | 847F599C0E8BFC3F023E71AC31B21DFD /* Pods-SlidingText_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SlidingText_Tests-umbrella.h"; sourceTree = ""; };
44 | 8A38A2CF21A32F6B007955F9 /* SlidingText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SlidingText.swift; path = SlidingText/Classes/SlidingText.swift; sourceTree = ""; };
45 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
46 | 986FD6C85FEB74B45A950124CE51BEC6 /* Pods-SlidingText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SlidingText_Tests.debug.xcconfig"; sourceTree = ""; };
47 | 9C55A3E388801DEF02CF26691F6428AE /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
48 | BA075AC6E305664F58EED8C5F4E65A76 /* Pods-SlidingText_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SlidingText_Tests-acknowledgements.plist"; sourceTree = ""; };
49 | D6DFF15000AFE2A371BF499E7AFDA808 /* 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; };
50 | E1BC10C1E8DC3C1BDF08722910CC34EE /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
51 | EB4DE88CC95302E4203C759EE23D417C /* Pods-SlidingText_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SlidingText_Tests-acknowledgements.markdown"; sourceTree = ""; };
52 | F3F9687400C4E12B304DBA6F98F75829 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
53 | FF44EC5404C52689293DC190C0F2E200 /* SlidingText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; path = SlidingText.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
54 | /* End PBXFileReference section */
55 |
56 | /* Begin PBXFrameworksBuildPhase section */
57 | 0F67CBA0A105966D92D916A625C05816 /* Frameworks */ = {
58 | isa = PBXFrameworksBuildPhase;
59 | buildActionMask = 2147483647;
60 | files = (
61 | B8B05FAFB45397BD8835A1DAFF541311 /* Foundation.framework in Frameworks */,
62 | );
63 | runOnlyForDeploymentPostprocessing = 0;
64 | };
65 | AFE61FCD0C13017021019337A1F25467 /* Frameworks */ = {
66 | isa = PBXFrameworksBuildPhase;
67 | buildActionMask = 2147483647;
68 | files = (
69 | 40CC07B093EBFB693685F74E8F077F6D /* Foundation.framework in Frameworks */,
70 | );
71 | runOnlyForDeploymentPostprocessing = 0;
72 | };
73 | /* End PBXFrameworksBuildPhase section */
74 |
75 | /* Begin PBXGroup section */
76 | 0E146805D29E1AAC1D278080CB4FFFF5 /* Support Files */ = {
77 | isa = PBXGroup;
78 | children = (
79 | F3F9687400C4E12B304DBA6F98F75829 /* Info.plist */,
80 | 01A4342E4C7F0780F67A351BA70C2C44 /* SlidingText.modulemap */,
81 | 1C2EB79208DD3101829F6645DB8C41CB /* SlidingText.xcconfig */,
82 | 6CA1E481CE0C862D976964AB77A20594 /* SlidingText-dummy.m */,
83 | 31BD33A7970D8565FE4D29861B680010 /* SlidingText-prefix.pch */,
84 | 105A1E2340372EE91D054D7888DCA5D0 /* SlidingText-umbrella.h */,
85 | );
86 | name = "Support Files";
87 | path = "Example/Pods/Target Support Files/SlidingText";
88 | sourceTree = "";
89 | };
90 | 22E01C16058862E1C1ADA54B3D3371C7 /* Products */ = {
91 | isa = PBXGroup;
92 | children = (
93 | 4F4717F8EBD843D1B97EFDF527ED9E5F /* Pods_SlidingText_Tests.framework */,
94 | 7C4F41A5F2D64EFD7B61A1068F7C59CD /* SlidingText.framework */,
95 | );
96 | name = Products;
97 | sourceTree = "";
98 | };
99 | 310F2927C9438EA1CD88EDC9A288EC5D /* Pod */ = {
100 | isa = PBXGroup;
101 | children = (
102 | E1BC10C1E8DC3C1BDF08722910CC34EE /* LICENSE */,
103 | 9C55A3E388801DEF02CF26691F6428AE /* README.md */,
104 | FF44EC5404C52689293DC190C0F2E200 /* SlidingText.podspec */,
105 | );
106 | name = Pod;
107 | sourceTree = "";
108 | };
109 | 320A6C952CD26DDCC61DCDC01C27ACA3 /* SlidingText */ = {
110 | isa = PBXGroup;
111 | children = (
112 | 8A38A2CF21A32F6B007955F9 /* SlidingText.swift */,
113 | 310F2927C9438EA1CD88EDC9A288EC5D /* Pod */,
114 | 0E146805D29E1AAC1D278080CB4FFFF5 /* Support Files */,
115 | );
116 | name = SlidingText;
117 | path = ../..;
118 | sourceTree = "";
119 | };
120 | 44D5347904CF754D6785B84253F2574A /* iOS */ = {
121 | isa = PBXGroup;
122 | children = (
123 | D6DFF15000AFE2A371BF499E7AFDA808 /* Foundation.framework */,
124 | );
125 | name = iOS;
126 | sourceTree = "";
127 | };
128 | 617D80CC77D777FC7ADEC52CC35F7A60 /* Targets Support Files */ = {
129 | isa = PBXGroup;
130 | children = (
131 | 8FFA4877D2643658DAF93FABCE718FBA /* Pods-SlidingText_Tests */,
132 | );
133 | name = "Targets Support Files";
134 | sourceTree = "";
135 | };
136 | 7DB346D0F39D3F0E887471402A8071AB = {
137 | isa = PBXGroup;
138 | children = (
139 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
140 | F204B9243029D88AC76726FDB5AC396D /* Development Pods */,
141 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */,
142 | 22E01C16058862E1C1ADA54B3D3371C7 /* Products */,
143 | 617D80CC77D777FC7ADEC52CC35F7A60 /* Targets Support Files */,
144 | );
145 | sourceTree = "";
146 | };
147 | 8FFA4877D2643658DAF93FABCE718FBA /* Pods-SlidingText_Tests */ = {
148 | isa = PBXGroup;
149 | children = (
150 | 6F66300F4CD180B9DED4229BE93F7C12 /* Info.plist */,
151 | 578078BDB81DF307D8F9B41E92C5EF19 /* Pods-SlidingText_Tests.modulemap */,
152 | EB4DE88CC95302E4203C759EE23D417C /* Pods-SlidingText_Tests-acknowledgements.markdown */,
153 | BA075AC6E305664F58EED8C5F4E65A76 /* Pods-SlidingText_Tests-acknowledgements.plist */,
154 | 5D3813A2EEBAF22D01D36D5164C38140 /* Pods-SlidingText_Tests-dummy.m */,
155 | 7A269E2C8F87D10A6449A9FEE4A9A04A /* Pods-SlidingText_Tests-frameworks.sh */,
156 | 49F083550910DEE4F847DBA2897FEFFD /* Pods-SlidingText_Tests-resources.sh */,
157 | 847F599C0E8BFC3F023E71AC31B21DFD /* Pods-SlidingText_Tests-umbrella.h */,
158 | 986FD6C85FEB74B45A950124CE51BEC6 /* Pods-SlidingText_Tests.debug.xcconfig */,
159 | 3151B38F89DA2676203C01470CB1B289 /* Pods-SlidingText_Tests.release.xcconfig */,
160 | );
161 | name = "Pods-SlidingText_Tests";
162 | path = "Target Support Files/Pods-SlidingText_Tests";
163 | sourceTree = "";
164 | };
165 | BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = {
166 | isa = PBXGroup;
167 | children = (
168 | 44D5347904CF754D6785B84253F2574A /* iOS */,
169 | );
170 | name = Frameworks;
171 | sourceTree = "";
172 | };
173 | F204B9243029D88AC76726FDB5AC396D /* Development Pods */ = {
174 | isa = PBXGroup;
175 | children = (
176 | 320A6C952CD26DDCC61DCDC01C27ACA3 /* SlidingText */,
177 | );
178 | name = "Development Pods";
179 | sourceTree = "";
180 | };
181 | /* End PBXGroup section */
182 |
183 | /* Begin PBXHeadersBuildPhase section */
184 | 339B7A1062E7BDBF8057D1550F790EDB /* Headers */ = {
185 | isa = PBXHeadersBuildPhase;
186 | buildActionMask = 2147483647;
187 | files = (
188 | 517BD78A276340D97BF0DD7630784B57 /* SlidingText-umbrella.h in Headers */,
189 | );
190 | runOnlyForDeploymentPostprocessing = 0;
191 | };
192 | AC2996500664BFDDDF8886785340955F /* Headers */ = {
193 | isa = PBXHeadersBuildPhase;
194 | buildActionMask = 2147483647;
195 | files = (
196 | F440CC91AA8F36A2E502FEBB7CB695A0 /* Pods-SlidingText_Tests-umbrella.h in Headers */,
197 | );
198 | runOnlyForDeploymentPostprocessing = 0;
199 | };
200 | /* End PBXHeadersBuildPhase section */
201 |
202 | /* Begin PBXNativeTarget section */
203 | 992EB43FC9B52FD30C45EE9DF5AF63C3 /* Pods-SlidingText_Tests */ = {
204 | isa = PBXNativeTarget;
205 | buildConfigurationList = 4B094C818AC681FAB93D1323EC105145 /* Build configuration list for PBXNativeTarget "Pods-SlidingText_Tests" */;
206 | buildPhases = (
207 | AC2996500664BFDDDF8886785340955F /* Headers */,
208 | E4DDD2F585E1B868313B05CD5D0AE438 /* Sources */,
209 | AFE61FCD0C13017021019337A1F25467 /* Frameworks */,
210 | 91B1EC3A668882436A15BD60A5AABA9A /* Resources */,
211 | );
212 | buildRules = (
213 | );
214 | dependencies = (
215 | 36169DF3EC23EFBE9AEE32EDDF49BBF2 /* PBXTargetDependency */,
216 | );
217 | name = "Pods-SlidingText_Tests";
218 | productName = "Pods-SlidingText_Tests";
219 | productReference = 4F4717F8EBD843D1B97EFDF527ED9E5F /* Pods_SlidingText_Tests.framework */;
220 | productType = "com.apple.product-type.framework";
221 | };
222 | D16721558B9BB485EC31591CF6E96E22 /* SlidingText */ = {
223 | isa = PBXNativeTarget;
224 | buildConfigurationList = AF24FAD12FCAB74599F15FFFA4BA2E1A /* Build configuration list for PBXNativeTarget "SlidingText" */;
225 | buildPhases = (
226 | 339B7A1062E7BDBF8057D1550F790EDB /* Headers */,
227 | AA15C1D76617E8607DEFC8408C28FFCD /* Sources */,
228 | 0F67CBA0A105966D92D916A625C05816 /* Frameworks */,
229 | 7EAF95E5EF674EFFC346D64EA9393EBE /* Resources */,
230 | );
231 | buildRules = (
232 | );
233 | dependencies = (
234 | );
235 | name = SlidingText;
236 | productName = SlidingText;
237 | productReference = 7C4F41A5F2D64EFD7B61A1068F7C59CD /* SlidingText.framework */;
238 | productType = "com.apple.product-type.framework";
239 | };
240 | /* End PBXNativeTarget section */
241 |
242 | /* Begin PBXProject section */
243 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
244 | isa = PBXProject;
245 | attributes = {
246 | LastSwiftUpdateCheck = 0930;
247 | LastUpgradeCheck = 0930;
248 | TargetAttributes = {
249 | 992EB43FC9B52FD30C45EE9DF5AF63C3 = {
250 | LastSwiftMigration = 1010;
251 | };
252 | };
253 | };
254 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
255 | compatibilityVersion = "Xcode 3.2";
256 | developmentRegion = English;
257 | hasScannedForEncodings = 0;
258 | knownRegions = (
259 | en,
260 | );
261 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
262 | productRefGroup = 22E01C16058862E1C1ADA54B3D3371C7 /* Products */;
263 | projectDirPath = "";
264 | projectRoot = "";
265 | targets = (
266 | 992EB43FC9B52FD30C45EE9DF5AF63C3 /* Pods-SlidingText_Tests */,
267 | D16721558B9BB485EC31591CF6E96E22 /* SlidingText */,
268 | );
269 | };
270 | /* End PBXProject section */
271 |
272 | /* Begin PBXResourcesBuildPhase section */
273 | 7EAF95E5EF674EFFC346D64EA9393EBE /* Resources */ = {
274 | isa = PBXResourcesBuildPhase;
275 | buildActionMask = 2147483647;
276 | files = (
277 | );
278 | runOnlyForDeploymentPostprocessing = 0;
279 | };
280 | 91B1EC3A668882436A15BD60A5AABA9A /* Resources */ = {
281 | isa = PBXResourcesBuildPhase;
282 | buildActionMask = 2147483647;
283 | files = (
284 | );
285 | runOnlyForDeploymentPostprocessing = 0;
286 | };
287 | /* End PBXResourcesBuildPhase section */
288 |
289 | /* Begin PBXSourcesBuildPhase section */
290 | AA15C1D76617E8607DEFC8408C28FFCD /* Sources */ = {
291 | isa = PBXSourcesBuildPhase;
292 | buildActionMask = 2147483647;
293 | files = (
294 | C89A54B32EE97BFB92D2F6E706573CD3 /* SlidingText-dummy.m in Sources */,
295 | );
296 | runOnlyForDeploymentPostprocessing = 0;
297 | };
298 | E4DDD2F585E1B868313B05CD5D0AE438 /* Sources */ = {
299 | isa = PBXSourcesBuildPhase;
300 | buildActionMask = 2147483647;
301 | files = (
302 | 6D6DC71B6D550384E196BCF93CA6BCFF /* Pods-SlidingText_Tests-dummy.m in Sources */,
303 | 8A38A2D021A32F6B007955F9 /* SlidingText.swift in Sources */,
304 | );
305 | runOnlyForDeploymentPostprocessing = 0;
306 | };
307 | /* End PBXSourcesBuildPhase section */
308 |
309 | /* Begin PBXTargetDependency section */
310 | 36169DF3EC23EFBE9AEE32EDDF49BBF2 /* PBXTargetDependency */ = {
311 | isa = PBXTargetDependency;
312 | name = SlidingText;
313 | target = D16721558B9BB485EC31591CF6E96E22 /* SlidingText */;
314 | targetProxy = 45FEE8B264120C5F5E1BF66A69605991 /* PBXContainerItemProxy */;
315 | };
316 | /* End PBXTargetDependency section */
317 |
318 | /* Begin XCBuildConfiguration section */
319 | 50646285DD9FD95AF390BDA3FB1948EA /* Debug */ = {
320 | isa = XCBuildConfiguration;
321 | buildSettings = {
322 | ALWAYS_SEARCH_USER_PATHS = NO;
323 | CLANG_ANALYZER_NONNULL = YES;
324 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
325 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
326 | CLANG_CXX_LIBRARY = "libc++";
327 | CLANG_ENABLE_MODULES = YES;
328 | CLANG_ENABLE_OBJC_ARC = YES;
329 | CLANG_ENABLE_OBJC_WEAK = YES;
330 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
331 | CLANG_WARN_BOOL_CONVERSION = YES;
332 | CLANG_WARN_COMMA = YES;
333 | CLANG_WARN_CONSTANT_CONVERSION = YES;
334 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
335 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
336 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
337 | CLANG_WARN_EMPTY_BODY = YES;
338 | CLANG_WARN_ENUM_CONVERSION = YES;
339 | CLANG_WARN_INFINITE_RECURSION = YES;
340 | CLANG_WARN_INT_CONVERSION = YES;
341 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
342 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
343 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
344 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
345 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
346 | CLANG_WARN_STRICT_PROTOTYPES = YES;
347 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
348 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
349 | CLANG_WARN_UNREACHABLE_CODE = YES;
350 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
351 | CODE_SIGNING_ALLOWED = NO;
352 | CODE_SIGNING_REQUIRED = NO;
353 | COPY_PHASE_STRIP = NO;
354 | DEBUG_INFORMATION_FORMAT = dwarf;
355 | ENABLE_STRICT_OBJC_MSGSEND = YES;
356 | ENABLE_TESTABILITY = YES;
357 | GCC_C_LANGUAGE_STANDARD = gnu11;
358 | GCC_DYNAMIC_NO_PIC = NO;
359 | GCC_NO_COMMON_BLOCKS = YES;
360 | GCC_OPTIMIZATION_LEVEL = 0;
361 | GCC_PREPROCESSOR_DEFINITIONS = (
362 | "POD_CONFIGURATION_DEBUG=1",
363 | "DEBUG=1",
364 | "$(inherited)",
365 | );
366 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
367 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
368 | GCC_WARN_UNDECLARED_SELECTOR = YES;
369 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
370 | GCC_WARN_UNUSED_FUNCTION = YES;
371 | GCC_WARN_UNUSED_VARIABLE = YES;
372 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
373 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
374 | MTL_FAST_MATH = YES;
375 | ONLY_ACTIVE_ARCH = YES;
376 | PRODUCT_NAME = "$(TARGET_NAME)";
377 | STRIP_INSTALLED_PRODUCT = NO;
378 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
379 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
380 | SWIFT_VERSION = 4.2;
381 | SYMROOT = "${SRCROOT}/../build";
382 | };
383 | name = Debug;
384 | };
385 | 58DCB2BA7C34E84C00C38CEF18A96D11 /* Release */ = {
386 | isa = XCBuildConfiguration;
387 | buildSettings = {
388 | ALWAYS_SEARCH_USER_PATHS = NO;
389 | CLANG_ANALYZER_NONNULL = YES;
390 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
391 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
392 | CLANG_CXX_LIBRARY = "libc++";
393 | CLANG_ENABLE_MODULES = YES;
394 | CLANG_ENABLE_OBJC_ARC = YES;
395 | CLANG_ENABLE_OBJC_WEAK = YES;
396 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
397 | CLANG_WARN_BOOL_CONVERSION = YES;
398 | CLANG_WARN_COMMA = YES;
399 | CLANG_WARN_CONSTANT_CONVERSION = YES;
400 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
401 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
402 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
403 | CLANG_WARN_EMPTY_BODY = YES;
404 | CLANG_WARN_ENUM_CONVERSION = YES;
405 | CLANG_WARN_INFINITE_RECURSION = YES;
406 | CLANG_WARN_INT_CONVERSION = YES;
407 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
408 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
409 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
410 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
411 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
412 | CLANG_WARN_STRICT_PROTOTYPES = YES;
413 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
414 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
415 | CLANG_WARN_UNREACHABLE_CODE = YES;
416 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
417 | CODE_SIGNING_ALLOWED = NO;
418 | CODE_SIGNING_REQUIRED = NO;
419 | COPY_PHASE_STRIP = NO;
420 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
421 | ENABLE_NS_ASSERTIONS = NO;
422 | ENABLE_STRICT_OBJC_MSGSEND = YES;
423 | GCC_C_LANGUAGE_STANDARD = gnu11;
424 | GCC_NO_COMMON_BLOCKS = YES;
425 | GCC_PREPROCESSOR_DEFINITIONS = (
426 | "POD_CONFIGURATION_RELEASE=1",
427 | "$(inherited)",
428 | );
429 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
430 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
431 | GCC_WARN_UNDECLARED_SELECTOR = YES;
432 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
433 | GCC_WARN_UNUSED_FUNCTION = YES;
434 | GCC_WARN_UNUSED_VARIABLE = YES;
435 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
436 | MTL_ENABLE_DEBUG_INFO = NO;
437 | MTL_FAST_MATH = YES;
438 | PRODUCT_NAME = "$(TARGET_NAME)";
439 | STRIP_INSTALLED_PRODUCT = NO;
440 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
441 | SWIFT_VERSION = 4.2;
442 | SYMROOT = "${SRCROOT}/../build";
443 | };
444 | name = Release;
445 | };
446 | 606550BE0EC700218FCD9E379FBC3BDF /* Debug */ = {
447 | isa = XCBuildConfiguration;
448 | baseConfigurationReference = 986FD6C85FEB74B45A950124CE51BEC6 /* Pods-SlidingText_Tests.debug.xcconfig */;
449 | buildSettings = {
450 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
451 | CLANG_ENABLE_MODULES = YES;
452 | CODE_SIGN_IDENTITY = "";
453 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
454 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
455 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
456 | CURRENT_PROJECT_VERSION = 1;
457 | DEFINES_MODULE = YES;
458 | DYLIB_COMPATIBILITY_VERSION = 1;
459 | DYLIB_CURRENT_VERSION = 1;
460 | DYLIB_INSTALL_NAME_BASE = "@rpath";
461 | INFOPLIST_FILE = "Target Support Files/Pods-SlidingText_Tests/Info.plist";
462 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
463 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
464 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
465 | MACH_O_TYPE = staticlib;
466 | MODULEMAP_FILE = "Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.modulemap";
467 | OTHER_LDFLAGS = "";
468 | OTHER_LIBTOOLFLAGS = "";
469 | PODS_ROOT = "$(SRCROOT)";
470 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
471 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
472 | SDKROOT = iphoneos;
473 | SKIP_INSTALL = YES;
474 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
475 | SWIFT_VERSION = 4.2;
476 | TARGETED_DEVICE_FAMILY = "1,2";
477 | VERSIONING_SYSTEM = "apple-generic";
478 | VERSION_INFO_PREFIX = "";
479 | };
480 | name = Debug;
481 | };
482 | 785C7C27338081C74C335E19500E1CED /* Release */ = {
483 | isa = XCBuildConfiguration;
484 | baseConfigurationReference = 3151B38F89DA2676203C01470CB1B289 /* Pods-SlidingText_Tests.release.xcconfig */;
485 | buildSettings = {
486 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
487 | CLANG_ENABLE_MODULES = YES;
488 | CODE_SIGN_IDENTITY = "";
489 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
490 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
491 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
492 | CURRENT_PROJECT_VERSION = 1;
493 | DEFINES_MODULE = YES;
494 | DYLIB_COMPATIBILITY_VERSION = 1;
495 | DYLIB_CURRENT_VERSION = 1;
496 | DYLIB_INSTALL_NAME_BASE = "@rpath";
497 | INFOPLIST_FILE = "Target Support Files/Pods-SlidingText_Tests/Info.plist";
498 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
499 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
500 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
501 | MACH_O_TYPE = staticlib;
502 | MODULEMAP_FILE = "Target Support Files/Pods-SlidingText_Tests/Pods-SlidingText_Tests.modulemap";
503 | OTHER_LDFLAGS = "";
504 | OTHER_LIBTOOLFLAGS = "";
505 | PODS_ROOT = "$(SRCROOT)";
506 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
507 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
508 | SDKROOT = iphoneos;
509 | SKIP_INSTALL = YES;
510 | SWIFT_VERSION = 4.2;
511 | TARGETED_DEVICE_FAMILY = "1,2";
512 | VALIDATE_PRODUCT = YES;
513 | VERSIONING_SYSTEM = "apple-generic";
514 | VERSION_INFO_PREFIX = "";
515 | };
516 | name = Release;
517 | };
518 | CF1199ABF0D2E5EB04F23F569255F179 /* Debug */ = {
519 | isa = XCBuildConfiguration;
520 | baseConfigurationReference = 1C2EB79208DD3101829F6645DB8C41CB /* SlidingText.xcconfig */;
521 | buildSettings = {
522 | CODE_SIGN_IDENTITY = "";
523 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
524 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
525 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
526 | CURRENT_PROJECT_VERSION = 1;
527 | DEFINES_MODULE = YES;
528 | DYLIB_COMPATIBILITY_VERSION = 1;
529 | DYLIB_CURRENT_VERSION = 1;
530 | DYLIB_INSTALL_NAME_BASE = "@rpath";
531 | GCC_PREFIX_HEADER = "Target Support Files/SlidingText/SlidingText-prefix.pch";
532 | INFOPLIST_FILE = "Target Support Files/SlidingText/Info.plist";
533 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
534 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
535 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
536 | MODULEMAP_FILE = "Target Support Files/SlidingText/SlidingText.modulemap";
537 | PRODUCT_MODULE_NAME = SlidingText;
538 | PRODUCT_NAME = SlidingText;
539 | SDKROOT = iphoneos;
540 | SKIP_INSTALL = YES;
541 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
542 | SWIFT_VERSION = 4.0;
543 | TARGETED_DEVICE_FAMILY = "1,2";
544 | VERSIONING_SYSTEM = "apple-generic";
545 | VERSION_INFO_PREFIX = "";
546 | };
547 | name = Debug;
548 | };
549 | F94B5610E7695EFD22A36719D823B219 /* Release */ = {
550 | isa = XCBuildConfiguration;
551 | baseConfigurationReference = 1C2EB79208DD3101829F6645DB8C41CB /* SlidingText.xcconfig */;
552 | buildSettings = {
553 | CODE_SIGN_IDENTITY = "";
554 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
555 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
556 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
557 | CURRENT_PROJECT_VERSION = 1;
558 | DEFINES_MODULE = YES;
559 | DYLIB_COMPATIBILITY_VERSION = 1;
560 | DYLIB_CURRENT_VERSION = 1;
561 | DYLIB_INSTALL_NAME_BASE = "@rpath";
562 | GCC_PREFIX_HEADER = "Target Support Files/SlidingText/SlidingText-prefix.pch";
563 | INFOPLIST_FILE = "Target Support Files/SlidingText/Info.plist";
564 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
565 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
566 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
567 | MODULEMAP_FILE = "Target Support Files/SlidingText/SlidingText.modulemap";
568 | PRODUCT_MODULE_NAME = SlidingText;
569 | PRODUCT_NAME = SlidingText;
570 | SDKROOT = iphoneos;
571 | SKIP_INSTALL = YES;
572 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
573 | SWIFT_VERSION = 4.0;
574 | TARGETED_DEVICE_FAMILY = "1,2";
575 | VALIDATE_PRODUCT = YES;
576 | VERSIONING_SYSTEM = "apple-generic";
577 | VERSION_INFO_PREFIX = "";
578 | };
579 | name = Release;
580 | };
581 | /* End XCBuildConfiguration section */
582 |
583 | /* Begin XCConfigurationList section */
584 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
585 | isa = XCConfigurationList;
586 | buildConfigurations = (
587 | 50646285DD9FD95AF390BDA3FB1948EA /* Debug */,
588 | 58DCB2BA7C34E84C00C38CEF18A96D11 /* Release */,
589 | );
590 | defaultConfigurationIsVisible = 0;
591 | defaultConfigurationName = Release;
592 | };
593 | 4B094C818AC681FAB93D1323EC105145 /* Build configuration list for PBXNativeTarget "Pods-SlidingText_Tests" */ = {
594 | isa = XCConfigurationList;
595 | buildConfigurations = (
596 | 606550BE0EC700218FCD9E379FBC3BDF /* Debug */,
597 | 785C7C27338081C74C335E19500E1CED /* Release */,
598 | );
599 | defaultConfigurationIsVisible = 0;
600 | defaultConfigurationName = Release;
601 | };
602 | AF24FAD12FCAB74599F15FFFA4BA2E1A /* Build configuration list for PBXNativeTarget "SlidingText" */ = {
603 | isa = XCConfigurationList;
604 | buildConfigurations = (
605 | CF1199ABF0D2E5EB04F23F569255F179 /* Debug */,
606 | F94B5610E7695EFD22A36719D823B219 /* Release */,
607 | );
608 | defaultConfigurationIsVisible = 0;
609 | defaultConfigurationName = Release;
610 | };
611 | /* End XCConfigurationList section */
612 | };
613 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
614 | }
615 |
--------------------------------------------------------------------------------