diff --git a/.codecov.yml b/.codecov.yml index 58d25aa..162b7ce 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,4 +1,3 @@ coverage: ignore: - - Pods/.* - - Tests/.* \ No newline at end of file + - ./Example/.* \ No newline at end of file diff --git a/.gitignore b/.gitignore index df473ea..f9fdb0e 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,5 @@ fastlane/Preview.html fastlane/screenshots fastlane/test_output fastlane/.env -fastlane/README.md \ No newline at end of file +fastlane/README.md +fastlane/*.coverage.txt \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cdf5a02..0000000 --- a/.travis.yml +++ /dev/null @@ -1,51 +0,0 @@ -# references: -# * http://www.objc.io/issue-6/travis-ci.html -# * https://github.com/supermarin/xcpretty#usage - -osx_image: xcode8.3 -language: objective-c -env: - global: - - LC_CTYPE=en_US.UTF-8 - - LANG=en_US.UTF-8 - - WORKSPACE=SHSearchBar.xcworkspace - - IOS_FRAMEWORK_SCHEME="SHSearchBar" - - EXAMPLE_SCHEME="iOS Example" - - IOS_SDK=iphonesimulator10.3 - matrix: - - DESTINATION="platform=iOS Simulator,name=iPhone 7" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES" ENABLE_CODE_COVERAGE="YES" -before_install: - - gem install xcpretty --no-rdoc --no-ri --no-document --quiet - - gem install cocoapods # Since Travis is not always on latest version - - pod install --repo-update # need to update the repo before pod install -script: - - set -o pipefail - - xcodebuild -version - - xcodebuild -showsdks - - # Build Framework in Debug and Run Tests if specified - - if [ $RUN_TESTS == "YES" ]; then - xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug -enableCodeCoverage "$ENABLE_CODE_COVERAGE" ONLY_ACTIVE_ARCH=YES ENABLE_TESTABILITY=YES build test | xcpretty -c; - else - xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=YES build | xcpretty -c; - fi - - # Build Framework in Release and Run Tests if specified - - if [ $RUN_TESTS == "YES" ]; then - xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release -enableCodeCoverage "$ENABLE_CODE_COVERAGE" ONLY_ACTIVE_ARCH=YES ENABLE_TESTABILITY=YES build test | xcpretty -c; - else - xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=YES build | xcpretty -c; - fi - - # Build Example in Debug if specified - - if [ $BUILD_EXAMPLE == "YES" ]; then - xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=YES build | xcpretty -c; - fi - - # Run `pod lib lint` if specified - - if [ $POD_LINT == "YES" ]; then - pod lib lint --allow-warnings; - fi - -after_success: - - bash <(curl -s https://codecov.io/bash) -J "$IOS_FRAMEWORK_SCHEME" \ No newline at end of file diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..ddad769 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Stefan Herold \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 14bb204..49dc079 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## [Unreleased] +## [1.6.0] - 2018-12-18 +* [#47](https://github.com/Blackjacx/SHSearchBar/pull/47): Carthage Support - [@blackjacx](https://github.com/blackjacx). +* [#46](https://github.com/Blackjacx/SHSearchBar/pull/46): Extending Example App - [@blackjacx](https://github.com/blackjacx). +* Add AUTHORS file - [@blackjacx](https://github.com/blackjacx). + ## [1.5.0] - 2018-09-25 * [#41](https://github.com/Blackjacx/SHSearchBar/pull/41): Swift 4.2 - [@blackjacx](https://github.com/blackjacx). diff --git a/Example/Podfile b/Example/Podfile deleted file mode 100644 index 4b10920..0000000 --- a/Example/Podfile +++ /dev/null @@ -1,16 +0,0 @@ -platform :ios, '9.0' -use_frameworks! - -# ignore all warnings from all pods -inhibit_all_warnings! - -target 'SHSearchBar_Example' do - pod 'SHSearchBar', :path => '../' - - target 'SHSearchBar_Tests' do - inherit! :search_paths - - pod 'Quick' - pod 'Nimble' - end -end diff --git a/Example/SHSearchBarExample.xcodeproj/project.pbxproj b/Example/SHSearchBarExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e8cde19 --- /dev/null +++ b/Example/SHSearchBarExample.xcodeproj/project.pbxproj @@ -0,0 +1,444 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + B9C8326121C84F3D0008ED90 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8326021C84F3D0008ED90 /* AppDelegate.swift */; }; + B9C8326321C84F3D0008ED90 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8326221C84F3D0008ED90 /* ViewController.swift */; }; + B9C8326621C84F3D0008ED90 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9C8326421C84F3D0008ED90 /* Main.storyboard */; }; + B9C8327321C8500F0008ED90 /* SearchBarTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8327221C8500F0008ED90 /* SearchBarTitleView.swift */; }; + B9C8327621C850700008ED90 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = B9C8327421C850700008ED90 /* LaunchScreen.xib */; }; + B9C832A321C854A20008ED90 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9C832A221C854A20008ED90 /* Images.xcassets */; }; + B9C832A621C854BD0008ED90 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B9C832A421C854BD0008ED90 /* Localizable.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + B9C8329C21C853F90008ED90 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = B9C8323E21C84B300008ED90; + remoteInfo = SHSearchBar; + }; + B9C8329E21C853F90008ED90 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 607FACE51AFB9204008FA782; + remoteInfo = SHSearchBar_Tests; + }; + B9C832A021C8540A0008ED90 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = B9C8323D21C84B300008ED90; + remoteInfo = SHSearchBar; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + B9C8325D21C84F3D0008ED90 /* SHSearchBarExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SHSearchBarExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B9C8326021C84F3D0008ED90 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + B9C8326221C84F3D0008ED90 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + B9C8326521C84F3D0008ED90 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + B9C8326C21C84F400008ED90 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B9C8327221C8500F0008ED90 /* SearchBarTitleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBarTitleView.swift; sourceTree = ""; }; + B9C8327521C850700008ED90 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SHSearchBar.xcodeproj; path = ../SHSearchBar.xcodeproj; sourceTree = ""; }; + B9C832A221C854A20008ED90 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + B9C832A521C854BD0008ED90 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + B9C832A721C854C50008ED90 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + B9C832A821C854C90008ED90 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + B9C832A921C854CC0008ED90 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + B9C832AA21C854D10008ED90 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + B9C832AB21C854D50008ED90 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + B9C832AC21C854DA0008ED90 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + B9C832AD21C854DE0008ED90 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B9C8325A21C84F3D0008ED90 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + B9C8325421C84F3D0008ED90 = { + isa = PBXGroup; + children = ( + B9C8325F21C84F3D0008ED90 /* SHSearchBarExample */, + B9C8325E21C84F3D0008ED90 /* Products */, + B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */, + ); + sourceTree = ""; + }; + B9C8325E21C84F3D0008ED90 /* Products */ = { + isa = PBXGroup; + children = ( + B9C8325D21C84F3D0008ED90 /* SHSearchBarExample.app */, + ); + name = Products; + sourceTree = ""; + }; + B9C8325F21C84F3D0008ED90 /* SHSearchBarExample */ = { + isa = PBXGroup; + children = ( + B9C8326C21C84F400008ED90 /* Info.plist */, + B9C8326021C84F3D0008ED90 /* AppDelegate.swift */, + B9C8327221C8500F0008ED90 /* SearchBarTitleView.swift */, + B9C8326221C84F3D0008ED90 /* ViewController.swift */, + B9C832A221C854A20008ED90 /* Images.xcassets */, + B9C8327421C850700008ED90 /* LaunchScreen.xib */, + B9C832A421C854BD0008ED90 /* Localizable.strings */, + B9C8326421C84F3D0008ED90 /* Main.storyboard */, + ); + name = SHSearchBarExample; + path = Source; + sourceTree = ""; + }; + B9C8329821C853F90008ED90 /* Products */ = { + isa = PBXGroup; + children = ( + B9C8329D21C853F90008ED90 /* SHSearchBar.framework */, + B9C8329F21C853F90008ED90 /* SHSearchBar_iOS_Tests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + B9C8325C21C84F3D0008ED90 /* SHSearchBarExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = B9C8326F21C84F400008ED90 /* Build configuration list for PBXNativeTarget "SHSearchBarExample" */; + buildPhases = ( + B9C8325921C84F3D0008ED90 /* Sources */, + B9C8325A21C84F3D0008ED90 /* Frameworks */, + B9C8325B21C84F3D0008ED90 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + B9C832A121C8540A0008ED90 /* PBXTargetDependency */, + ); + name = SHSearchBarExample; + productName = SHSearchBarExample; + productReference = B9C8325D21C84F3D0008ED90 /* SHSearchBarExample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + B9C8325521C84F3D0008ED90 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1010; + LastUpgradeCheck = 1010; + ORGANIZATIONNAME = CodingCobra; + TargetAttributes = { + B9C8325C21C84F3D0008ED90 = { + CreatedOnToolsVersion = 10.1; + }; + }; + }; + buildConfigurationList = B9C8325821C84F3D0008ED90 /* Build configuration list for PBXProject "SHSearchBarExample" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + de, + es, + fr, + it, + ja, + ru, + "zh-Hans", + ); + mainGroup = B9C8325421C84F3D0008ED90; + productRefGroup = B9C8325E21C84F3D0008ED90 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = B9C8329821C853F90008ED90 /* Products */; + ProjectRef = B9C8329721C853F90008ED90 /* SHSearchBar.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + B9C8325C21C84F3D0008ED90 /* SHSearchBarExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + B9C8329D21C853F90008ED90 /* SHSearchBar.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SHSearchBar.framework; + remoteRef = B9C8329C21C853F90008ED90 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B9C8329F21C853F90008ED90 /* SHSearchBar_iOS_Tests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = SHSearchBar_iOS_Tests.xctest; + remoteRef = B9C8329E21C853F90008ED90 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + B9C8325B21C84F3D0008ED90 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B9C832A321C854A20008ED90 /* Images.xcassets in Resources */, + B9C832A621C854BD0008ED90 /* Localizable.strings in Resources */, + B9C8327621C850700008ED90 /* LaunchScreen.xib in Resources */, + B9C8326621C84F3D0008ED90 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B9C8325921C84F3D0008ED90 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B9C8326321C84F3D0008ED90 /* ViewController.swift in Sources */, + B9C8326121C84F3D0008ED90 /* AppDelegate.swift in Sources */, + B9C8327321C8500F0008ED90 /* SearchBarTitleView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + B9C832A121C8540A0008ED90 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SHSearchBar; + targetProxy = B9C832A021C8540A0008ED90 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + B9C8326421C84F3D0008ED90 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + B9C8326521C84F3D0008ED90 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + B9C8327421C850700008ED90 /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + B9C8327521C850700008ED90 /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; + B9C832A421C854BD0008ED90 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + B9C832A521C854BD0008ED90 /* de */, + B9C832A721C854C50008ED90 /* en */, + B9C832A821C854C90008ED90 /* es */, + B9C832A921C854CC0008ED90 /* fr */, + B9C832AA21C854D10008ED90 /* it */, + B9C832AB21C854D50008ED90 /* ja */, + B9C832AC21C854DA0008ED90 /* ru */, + B9C832AD21C854DE0008ED90 /* zh-Hans */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + B9C8326D21C84F400008ED90 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + B9C8326E21C84F400008ED90 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + B9C8327021C84F400008ED90 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PCW579R278; + INFOPLIST_FILE = Source/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.codingcobra.SHSearchBarExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B9C8327121C84F400008ED90 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PCW579R278; + INFOPLIST_FILE = Source/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.codingcobra.SHSearchBarExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + B9C8325821C84F3D0008ED90 /* Build configuration list for PBXProject "SHSearchBarExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B9C8326D21C84F400008ED90 /* Debug */, + B9C8326E21C84F400008ED90 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B9C8326F21C84F400008ED90 /* Build configuration list for PBXNativeTarget "SHSearchBarExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B9C8327021C84F400008ED90 /* Debug */, + B9C8327121C84F400008ED90 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = B9C8325521C84F3D0008ED90 /* Project object */; +} diff --git a/Example/SHSearchBarExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/SHSearchBarExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..84a0308 --- /dev/null +++ b/Example/SHSearchBarExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/SHSearchBar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/SHSearchBarExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Example/SHSearchBar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Example/SHSearchBarExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Example/SHSearchBarExample.xcodeproj/xcshareddata/xcschemes/SHSearchBarExample.xcscheme b/Example/SHSearchBarExample.xcodeproj/xcshareddata/xcschemes/SHSearchBarExample.xcscheme new file mode 100644 index 0000000..dc98152 --- /dev/null +++ b/Example/SHSearchBarExample.xcodeproj/xcshareddata/xcschemes/SHSearchBarExample.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/SHSearchBar/AppDelegate.swift b/Example/Source/AppDelegate.swift similarity index 100% rename from Example/SHSearchBar/AppDelegate.swift rename to Example/Source/AppDelegate.swift diff --git a/Example/SHSearchBar/Base.lproj/LaunchScreen.xib b/Example/Source/Base.lproj/LaunchScreen.xib similarity index 87% rename from Example/SHSearchBar/Base.lproj/LaunchScreen.xib rename to Example/Source/Base.lproj/LaunchScreen.xib index 2ffd882..19a9cf8 100644 --- a/Example/SHSearchBar/Base.lproj/LaunchScreen.xib +++ b/Example/Source/Base.lproj/LaunchScreen.xib @@ -1,12 +1,11 @@ - + - - + @@ -16,14 +15,14 @@ - + + + + + + + + + + + + + + + + diff --git a/Example/SHSearchBar/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/Source/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/SHSearchBar/Images.xcassets/AppIcon.appiconset/Contents.json rename to Example/Source/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/SHSearchBar/Images.xcassets/icon-search.imageset/Contents.json b/Example/Source/Images.xcassets/icon-search.imageset/Contents.json similarity index 100% rename from Example/SHSearchBar/Images.xcassets/icon-search.imageset/Contents.json rename to Example/Source/Images.xcassets/icon-search.imageset/Contents.json diff --git a/Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search.png b/Example/Source/Images.xcassets/icon-search.imageset/icon-search.png similarity index 100% rename from Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search.png rename to Example/Source/Images.xcassets/icon-search.imageset/icon-search.png diff --git a/Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search@2x.png b/Example/Source/Images.xcassets/icon-search.imageset/icon-search@2x.png similarity index 100% rename from Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search@2x.png rename to Example/Source/Images.xcassets/icon-search.imageset/icon-search@2x.png diff --git a/Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search@3x.png b/Example/Source/Images.xcassets/icon-search.imageset/icon-search@3x.png similarity index 100% rename from Example/SHSearchBar/Images.xcassets/icon-search.imageset/icon-search@3x.png rename to Example/Source/Images.xcassets/icon-search.imageset/icon-search@3x.png diff --git a/Example/SHSearchBar/Info.plist b/Example/Source/Info.plist similarity index 100% rename from Example/SHSearchBar/Info.plist rename to Example/Source/Info.plist diff --git a/Example/SHSearchBar/SearchBarTitleView.swift b/Example/Source/SearchBarTitleView.swift similarity index 86% rename from Example/SHSearchBar/SearchBarTitleView.swift rename to Example/Source/SearchBarTitleView.swift index 9b060ef..96ff462 100644 --- a/Example/SHSearchBar/SearchBarTitleView.swift +++ b/Example/Source/SearchBarTitleView.swift @@ -32,8 +32,8 @@ class SearchbarTitleView: UIView { let constraints = [ searchbar.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor), searchbar.trailingAnchor.constraint(equalTo: layoutMarginsGuide.trailingAnchor), - searchbar.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor), - searchbar.bottomAnchor.constraint(equalTo: layoutMarginsGuide.bottomAnchor) + searchbar.topAnchor.constraint(equalTo: topAnchor), + searchbar.bottomAnchor.constraint(equalTo: bottomAnchor) ] NSLayoutConstraint.activate(constraints) } diff --git a/Example/SHSearchBar/ViewController.swift b/Example/Source/ViewController.swift similarity index 98% rename from Example/SHSearchBar/ViewController.swift rename to Example/Source/ViewController.swift index 42ece84..feb9ee1 100644 --- a/Example/SHSearchBar/ViewController.swift +++ b/Example/Source/ViewController.swift @@ -31,60 +31,6 @@ class ViewController: UIViewController, SHSearchBarDelegate { return formatter }() - func setupLayoutConstraints() { - let searchbarHeight: CGFloat = 44.0 - - // Deactivate old constraints - viewConstraints?.forEach { $0.isActive = false } - - let constraints = [ - searchBar1.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor, constant: rasterSize), - searchBar1.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - searchBar1.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - searchBar1.heightAnchor.constraint(equalToConstant: searchbarHeight), - - searchBar2.topAnchor.constraint(equalTo: searchBar1.bottomAnchor, constant: rasterSize), - searchBar2.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - searchBar2.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - searchBar2.heightAnchor.constraint(equalToConstant: searchbarHeight), - - searchBar3.topAnchor.constraint(equalTo: searchBar2.bottomAnchor, constant: rasterSize), - searchBar3.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - searchBar3.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - searchBar3.heightAnchor.constraint(equalToConstant: searchbarHeight), - - searchBar4.topAnchor.constraint(equalTo: searchBar3.bottomAnchor, constant: rasterSize), - searchBar4.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - searchBar4.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - searchBar4.heightAnchor.constraint(equalToConstant: searchbarHeight), - - noCancelButtonSearchbar.topAnchor.constraint(equalTo: searchBar4.bottomAnchor, constant: rasterSize), - noCancelButtonSearchbar.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - noCancelButtonSearchbar.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - noCancelButtonSearchbar.heightAnchor.constraint(equalToConstant: searchbarHeight), - - addressSearchbarTop.topAnchor.constraint(equalTo: noCancelButtonSearchbar.bottomAnchor, constant: rasterSize), - addressSearchbarTop.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - addressSearchbarTop.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - addressSearchbarTop.heightAnchor.constraint(equalToConstant: searchbarHeight), - - addressSearchbarBottom.topAnchor.constraint(equalTo: addressSearchbarTop.bottomAnchor, constant: 1.0), - addressSearchbarBottom.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), - addressSearchbarBottom.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), - addressSearchbarBottom.heightAnchor.constraint(equalToConstant: searchbarHeight) - ] - - NSLayoutConstraint.activate(constraints) - - if viewConstraints != nil { - UIView.animate(withDuration: 0.25) { - self.view.layoutIfNeeded() - } - } - - viewConstraints = constraints - } - override func viewDidLoad() { super.viewDidLoad() @@ -92,6 +38,9 @@ class ViewController: UIViewController, SHSearchBarDelegate { view.backgroundColor = UIColor.white + // Hides the line of the bottom of the navigation bar + navigationController?.navigationBar.shadowImage = UIImage() + let leftView1 = imageViewWithIcon(searchGlassIconTemplate, rasterSize: rasterSize) searchBar1 = defaultSearchBar(withRasterSize: rasterSize, leftView: leftView1, rightView: nil, delegate: self) view.addSubview(searchBar1) @@ -168,6 +117,60 @@ class ViewController: UIViewController, SHSearchBarDelegate { self?.setupLayoutConstraints() } } + + func setupLayoutConstraints() { + let searchbarHeight: CGFloat = 44.0 + + // Deactivate old constraints + viewConstraints?.forEach { $0.isActive = false } + + let constraints = [ + searchBar1.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor, constant: rasterSize), + searchBar1.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + searchBar1.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + searchBar1.heightAnchor.constraint(equalToConstant: searchbarHeight), + + searchBar2.topAnchor.constraint(equalTo: searchBar1.bottomAnchor, constant: rasterSize), + searchBar2.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + searchBar2.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + searchBar2.heightAnchor.constraint(equalToConstant: searchbarHeight), + + searchBar3.topAnchor.constraint(equalTo: searchBar2.bottomAnchor, constant: rasterSize), + searchBar3.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + searchBar3.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + searchBar3.heightAnchor.constraint(equalToConstant: searchbarHeight), + + searchBar4.topAnchor.constraint(equalTo: searchBar3.bottomAnchor, constant: rasterSize), + searchBar4.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + searchBar4.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + searchBar4.heightAnchor.constraint(equalToConstant: searchbarHeight), + + noCancelButtonSearchbar.topAnchor.constraint(equalTo: searchBar4.bottomAnchor, constant: rasterSize), + noCancelButtonSearchbar.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + noCancelButtonSearchbar.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + noCancelButtonSearchbar.heightAnchor.constraint(equalToConstant: searchbarHeight), + + addressSearchbarTop.topAnchor.constraint(equalTo: noCancelButtonSearchbar.bottomAnchor, constant: rasterSize), + addressSearchbarTop.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + addressSearchbarTop.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + addressSearchbarTop.heightAnchor.constraint(equalToConstant: searchbarHeight), + + addressSearchbarBottom.topAnchor.constraint(equalTo: addressSearchbarTop.bottomAnchor, constant: 1.0), + addressSearchbarBottom.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: rasterSize), + addressSearchbarBottom.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor, constant: -rasterSize), + addressSearchbarBottom.heightAnchor.constraint(equalToConstant: searchbarHeight) + ] + + NSLayoutConstraint.activate(constraints) + + if viewConstraints != nil { + UIView.animate(withDuration: 0.25) { + self.view.layoutIfNeeded() + } + } + + viewConstraints = constraints + } } // MARK: - Helper Functions diff --git a/Example/SHSearchBar/de.lproj/Localizable.strings b/Example/Source/de.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/de.lproj/Localizable.strings rename to Example/Source/de.lproj/Localizable.strings diff --git a/Example/SHSearchBar/en.lproj/Localizable.strings b/Example/Source/en.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/en.lproj/Localizable.strings rename to Example/Source/en.lproj/Localizable.strings diff --git a/Example/SHSearchBar/es.lproj/Localizable.strings b/Example/Source/es.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/es.lproj/Localizable.strings rename to Example/Source/es.lproj/Localizable.strings diff --git a/Example/SHSearchBar/fr.lproj/Localizable.strings b/Example/Source/fr.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/fr.lproj/Localizable.strings rename to Example/Source/fr.lproj/Localizable.strings diff --git a/Example/SHSearchBar/it.lproj/Localizable.strings b/Example/Source/it.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/it.lproj/Localizable.strings rename to Example/Source/it.lproj/Localizable.strings diff --git a/Example/SHSearchBar/ja.lproj/Localizable.strings b/Example/Source/ja.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/ja.lproj/Localizable.strings rename to Example/Source/ja.lproj/Localizable.strings diff --git a/Example/SHSearchBar/ru.lproj/Localizable.strings b/Example/Source/ru.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/ru.lproj/Localizable.strings rename to Example/Source/ru.lproj/Localizable.strings diff --git a/Example/SHSearchBar/zh-Hans.lproj/Localizable.strings b/Example/Source/zh-Hans.lproj/Localizable.strings similarity index 100% rename from Example/SHSearchBar/zh-Hans.lproj/Localizable.strings rename to Example/Source/zh-Hans.lproj/Localizable.strings diff --git a/Podfile b/Podfile new file mode 100644 index 0000000..287e974 --- /dev/null +++ b/Podfile @@ -0,0 +1,10 @@ +platform :ios, '10.0' +use_frameworks! +inhibit_all_warnings! + +abstract_target "TestPods" do + pod 'Nimble' + pod 'Quick' + + target 'SHSearchBar_iOS_Tests' +end diff --git a/Example/Podfile.lock b/Podfile.lock similarity index 57% rename from Example/Podfile.lock rename to Podfile.lock index 92e7e4a..0d67b00 100644 --- a/Example/Podfile.lock +++ b/Podfile.lock @@ -1,27 +1,20 @@ PODS: - Nimble (7.3.1) - Quick (1.3.2) - - SHSearchBar (1.4.3) DEPENDENCIES: - Nimble - Quick - - SHSearchBar (from `../`) SPEC REPOS: https://github.com/cocoapods/specs.git: - Nimble - Quick -EXTERNAL SOURCES: - SHSearchBar: - :path: "../" - SPEC CHECKSUMS: Nimble: 04f732da099ea4d153122aec8c2a88fd0c7219ae Quick: 2623cb30d7a7f41ca62f684f679586558f483d46 - SHSearchBar: 9348be4524c9b7630891f5c0827719bc1996e55a -PODFILE CHECKSUM: bafa9295d0d82a5003cf14c577a68b7ca4bbe61b +PODFILE CHECKSUM: 9f907140054c0e19b3f3d6d685db43e2d0a6f3f5 COCOAPODS: 1.5.3 diff --git a/README.md b/README.md index f5eb623..b070af6 100644 --- a/README.md +++ b/README.md @@ -6,17 +6,35 @@

SHSearchBar

- Build Status - Version - Xcode 9.0+ + + Build Status + + Github Current Release + Cocoapods Platforms + Xcode 10.0+ iOS 9.0+ - Swift 4.0+ - - License - Codecov - Codebeat - Downloads - Donate + Swift 4.2+ + Github Repo Size + Github Code Size + Github Closed PR's + + + License + + + + + + Codebeat + + + Downloads + + + Donate +

The clean and shiny search bar that does what UISearchBar does only with dirty @@ -86,13 +104,13 @@ use cases: ## Contribution -- If you found a **bug**, open an **issue** -- If you have a **feature request**, open an **issue** -- If you want to **contribute**, submit a **pull request** +- If you found a **bug**, please open an **issue**. +- If you have a **feature request**, please open an **issue**. +- If you want to **contribute**, please submit a **pull request**. ## Author -Stefan Herold, stefan.herold@gmail.com +[Stefan Herold](mailto:stefan.herold@gmail.com) • [@Blackjacxxx](https://twitter.com/Blackjacxxx) ## License diff --git a/SHSearchBar.podspec b/SHSearchBar.podspec index b5b0029..75d781d 100644 --- a/SHSearchBar.podspec +++ b/SHSearchBar.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'SHSearchBar' - s.version = '1.5.0' + s.version = '1.6.0' s.license = { :type => 'MIT', :file => 'LICENSE' } s.summary = 'The search bar that does not suck.' s.description = <<-DESC @@ -11,12 +11,12 @@ The clean and shiny search bar that does what UISearchBar does only with dirty h s.author = { 'Stefan Herold' => 'stefan.herold@gmail.com' } s.source = { :git => 'https://github.com/Blackjacx/SHSearchBar.git', :tag => s.version.to_s } - s.ios.deployment_target = '9.0' + s.ios.deployment_target = '10.0' - s.source_files = 'SHSearchBar/Classes/**/*' + s.source_files = 'Source/Classes/**/*' s.resource_bundles = { - 'SHSearchBar' => ['SHSearchBar/Strings/*.lproj/*.strings'] + 'SHSearchBar' => ['Source/Strings/*.lproj/*.strings'] } # s.public_header_files = 'Pod/Classes/**/*.h' diff --git a/Example/SHSearchBar.xcodeproj/project.pbxproj b/SHSearchBar.xcodeproj/project.pbxproj similarity index 51% rename from Example/SHSearchBar.xcodeproj/project.pbxproj rename to SHSearchBar.xcodeproj/project.pbxproj index a46b319..048c95f 100644 --- a/Example/SHSearchBar.xcodeproj/project.pbxproj +++ b/SHSearchBar.xcodeproj/project.pbxproj @@ -7,128 +7,109 @@ objects = { /* Begin PBXBuildFile section */ - 607D5A26D3F866D524FB3A0A /* Pods_SHSearchBar_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14F9A235667ABDAD9E74B321 /* Pods_SHSearchBar_Tests.framework */; }; - 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; }; - 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; - 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; }; - 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; }; - 7A3970EE6659D57E396DBA7A /* Pods_SHSearchBar_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69B9F2F5C8361A4DD18303C7 /* Pods_SHSearchBar_Example.framework */; }; + B20CC6E8F1C1C8A2924F31FF /* Pods_TestPods_SHSearchBar_iOS_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FA58F22BAAD8A9A64023BD4 /* Pods_TestPods_SHSearchBar_iOS_Tests.framework */; }; + B943C6AC21C86DFC00BE8948 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B943C6AA21C86DFC00BE8948 /* Localizable.strings */; }; B995DD912036349C00E091FB /* Mocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = B995DD8D203633E000E091FB /* Mocks.swift */; }; B995DD922036349C00E091FB /* SHSearchBarSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = B995DD8C203633E000E091FB /* SHSearchBarSpec.swift */; }; B995DD932036349C00E091FB /* SHSearchBarTextFieldSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = B995DD8B203633E000E091FB /* SHSearchBarTextFieldSpecs.swift */; }; - B9DDE57420364F7A00B513FE /* SearchBarTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9DDE57220364F7900B513FE /* SearchBarTitleView.swift */; }; - B9DDE578203650DF00B513FE /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B9DDE576203650DF00B513FE /* Localizable.strings */; }; + B9C8324C21C84B5D0008ED90 /* SHSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324621C84B5C0008ED90 /* SHSearchBar.swift */; }; + B9C8324D21C84B5D0008ED90 /* UIImage+Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324721C84B5C0008ED90 /* UIImage+Style.swift */; }; + B9C8324E21C84B5D0008ED90 /* Foundation + Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324821C84B5C0008ED90 /* Foundation + Extensions.swift */; }; + B9C8324F21C84B5D0008ED90 /* SHSearchBarTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324921C84B5C0008ED90 /* SHSearchBarTextField.swift */; }; + B9C8325021C84B5D0008ED90 /* SHSearchBarDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324A21C84B5C0008ED90 /* SHSearchBarDelegate.swift */; }; + B9C8325121C84B5D0008ED90 /* SHSearchBarConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C8324B21C84B5D0008ED90 /* SHSearchBarConfig.swift */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 607FACC81AFB9204008FA782 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 607FACCF1AFB9204008FA782; - remoteInfo = SHSearchBar; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ - 14F9A235667ABDAD9E74B321 /* Pods_SHSearchBar_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SHSearchBar_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 155C0B974831EDF00FEDD99F /* Pods-SHSearchBar_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests.debug.xcconfig"; sourceTree = ""; }; - 4E5D9DD31A134DBDCBF6B0BD /* Pods-SHSearchBar_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Example/Pods-SHSearchBar_Example.debug.xcconfig"; sourceTree = ""; }; - 51610078CC83B3BB6EC6164A /* SHSearchBar.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = SHSearchBar.podspec; path = ../SHSearchBar.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 53F3CEB9AA62FFC13214F692 /* Pods-SHSearchBar_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Example/Pods-SHSearchBar_Example.release.xcconfig"; sourceTree = ""; }; - 55ED08248C3B1B7D84327940 /* Pods-SHSearchBar_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests.release.xcconfig"; sourceTree = ""; }; - 607FACD01AFB9204008FA782 /* SHSearchBar_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SHSearchBar_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 607FACE51AFB9204008FA782 /* SHSearchBar_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SHSearchBar_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2199CB4B186EB55AA75AB0DF /* Pods-TestPods-SHSearchBar_iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestPods-SHSearchBar_iOS_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-TestPods-SHSearchBar_iOS_Tests/Pods-TestPods-SHSearchBar_iOS_Tests.debug.xcconfig"; sourceTree = ""; }; + 289F7FC3D557216213AC975E /* Pods-TestPods-SHSearchBar_iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestPods-SHSearchBar_iOS_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-TestPods-SHSearchBar_iOS_Tests/Pods-TestPods-SHSearchBar_iOS_Tests.release.xcconfig"; sourceTree = ""; }; + 347EB67A56B544424140EDED /* Pods_SHSearchBar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SHSearchBar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4FA58F22BAAD8A9A64023BD4 /* Pods_TestPods_SHSearchBar_iOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TestPods_SHSearchBar_iOS_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 607FACE51AFB9204008FA782 /* SHSearchBar_iOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SHSearchBar_iOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 69B9F2F5C8361A4DD18303C7 /* Pods_SHSearchBar_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SHSearchBar_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B5DB413EBF41F4A700CA9F91 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + 6DCBF1F56D2C3FC7138E1EF2 /* Pods_SHSearchBar_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SHSearchBar_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B943C6AB21C86DFC00BE8948 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Strings/de.lproj/Localizable.strings; sourceTree = ""; }; + B943C6AD21C86E0100BE8948 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Strings/en.lproj/Localizable.strings; sourceTree = ""; }; + B943C6AE21C86E0700BE8948 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Strings/es.lproj/Localizable.strings; sourceTree = ""; }; + B943C6B321C86E1800BE8948 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Strings/fr.lproj/Localizable.strings; sourceTree = ""; }; + B943C6B421C86E1D00BE8948 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Strings/it.lproj/Localizable.strings; sourceTree = ""; }; + B943C6B521C86E2500BE8948 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = Strings/ja.lproj/Localizable.strings; sourceTree = ""; }; + B943C6B621C86E2B00BE8948 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Strings/ru.lproj/Localizable.strings; sourceTree = ""; }; + B943C6B721C86E3100BE8948 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Strings/zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; B995DD8B203633E000E091FB /* SHSearchBarTextFieldSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SHSearchBarTextFieldSpecs.swift; sourceTree = ""; }; B995DD8C203633E000E091FB /* SHSearchBarSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SHSearchBarSpec.swift; sourceTree = ""; }; B995DD8D203633E000E091FB /* Mocks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mocks.swift; sourceTree = ""; }; - B9DDE57220364F7900B513FE /* SearchBarTitleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBarTitleView.swift; sourceTree = ""; }; - B9DDE577203650DF00B513FE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE579203650F500B513FE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57A203650FB00B513FE /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57B2036510000B513FE /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57C2036510400B513FE /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57D2036510700B513FE /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57E2036510B00B513FE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - B9DDE57F2036511000B513FE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - E8DE5BC2828B09F0E2A151DB /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; + B9C8323121C8497F0008ED90 /* Gemfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Gemfile; sourceTree = ""; }; + B9C8323221C8497F0008ED90 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = AUTHORS; sourceTree = ""; }; + B9C8323321C8497F0008ED90 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + B9C8323421C8497F0008ED90 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + B9C8323521C849800008ED90 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; + B9C8323621C849800008ED90 /* SHSearchBar.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = SHSearchBar.podspec; sourceTree = ""; }; + B9C8323721C849800008ED90 /* Podfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Podfile; sourceTree = ""; }; + B9C8323E21C84B300008ED90 /* SHSearchBar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SHSearchBar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B9C8324621C84B5C0008ED90 /* SHSearchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SHSearchBar.swift; path = Classes/SHSearchBar.swift; sourceTree = ""; }; + B9C8324721C84B5C0008ED90 /* UIImage+Style.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIImage+Style.swift"; path = "Classes/UIImage+Style.swift"; sourceTree = ""; }; + B9C8324821C84B5C0008ED90 /* Foundation + Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Foundation + Extensions.swift"; path = "Classes/Foundation + Extensions.swift"; sourceTree = ""; }; + B9C8324921C84B5C0008ED90 /* SHSearchBarTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SHSearchBarTextField.swift; path = Classes/SHSearchBarTextField.swift; sourceTree = ""; }; + B9C8324A21C84B5C0008ED90 /* SHSearchBarDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SHSearchBarDelegate.swift; path = Classes/SHSearchBarDelegate.swift; sourceTree = ""; }; + B9C8324B21C84B5D0008ED90 /* SHSearchBarConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SHSearchBarConfig.swift; path = Classes/SHSearchBarConfig.swift; sourceTree = ""; }; + B9C8325221C84CC90008ED90 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B9C8325321C84CC90008ED90 /* SHSearchBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SHSearchBar.h; sourceTree = ""; }; + F7A6AF85A1EC6DA32CCCC9C7 /* Pods-SHSearchBar_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests.debug.xcconfig"; sourceTree = ""; }; + FA26EA3D9D157E10C2D20D77 /* Pods-SHSearchBar_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SHSearchBar_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 607FACCD1AFB9204008FA782 /* Frameworks */ = { + 607FACE21AFB9204008FA782 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7A3970EE6659D57E396DBA7A /* Pods_SHSearchBar_Example.framework in Frameworks */, + B20CC6E8F1C1C8A2924F31FF /* Pods_TestPods_SHSearchBar_iOS_Tests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 607FACE21AFB9204008FA782 /* Frameworks */ = { + B9C8323B21C84B300008ED90 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 607D5A26D3F866D524FB3A0A /* Pods_SHSearchBar_Tests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 40D85D3C4B555A80427438F1 /* Pods */ = { + isa = PBXGroup; + children = ( + F7A6AF85A1EC6DA32CCCC9C7 /* Pods-SHSearchBar_Tests.debug.xcconfig */, + FA26EA3D9D157E10C2D20D77 /* Pods-SHSearchBar_Tests.release.xcconfig */, + 2199CB4B186EB55AA75AB0DF /* Pods-TestPods-SHSearchBar_iOS_Tests.debug.xcconfig */, + 289F7FC3D557216213AC975E /* Pods-TestPods-SHSearchBar_iOS_Tests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; 607FACC71AFB9204008FA782 = { isa = PBXGroup; children = ( 607FACF51AFB993E008FA782 /* Podspec Metadata */, - 607FACD21AFB9204008FA782 /* Example for SHSearchBar */, + B9C8323821C849990008ED90 /* Source */, 607FACE81AFB9204008FA782 /* Tests */, 607FACD11AFB9204008FA782 /* Products */, - B1F65830EE0D601B5D595F85 /* Pods */, B61D229E788F55B81B930789 /* Frameworks */, + 40D85D3C4B555A80427438F1 /* Pods */, ); sourceTree = ""; }; 607FACD11AFB9204008FA782 /* Products */ = { isa = PBXGroup; children = ( - 607FACD01AFB9204008FA782 /* SHSearchBar_Example.app */, - 607FACE51AFB9204008FA782 /* SHSearchBar_Tests.xctest */, + 607FACE51AFB9204008FA782 /* SHSearchBar_iOS_Tests.xctest */, + B9C8323E21C84B300008ED90 /* SHSearchBar.framework */, ); name = Products; sourceTree = ""; }; - 607FACD21AFB9204008FA782 /* Example for SHSearchBar */ = { - isa = PBXGroup; - children = ( - 607FACD51AFB9204008FA782 /* AppDelegate.swift */, - B9DDE57220364F7900B513FE /* SearchBarTitleView.swift */, - 607FACD71AFB9204008FA782 /* ViewController.swift */, - 607FACDC1AFB9204008FA782 /* Images.xcassets */, - 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */, - B9DDE576203650DF00B513FE /* Localizable.strings */, - 607FACD91AFB9204008FA782 /* Main.storyboard */, - 607FACD31AFB9204008FA782 /* Supporting Files */, - ); - name = "Example for SHSearchBar"; - path = SHSearchBar; - sourceTree = ""; - }; - 607FACD31AFB9204008FA782 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 607FACD41AFB9204008FA782 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; 607FACE81AFB9204008FA782 /* Tests */ = { isa = PBXGroup; children = ( @@ -151,58 +132,59 @@ 607FACF51AFB993E008FA782 /* Podspec Metadata */ = { isa = PBXGroup; children = ( - 51610078CC83B3BB6EC6164A /* SHSearchBar.podspec */, - B5DB413EBF41F4A700CA9F91 /* README.md */, - E8DE5BC2828B09F0E2A151DB /* LICENSE */, + B9C8323221C8497F0008ED90 /* AUTHORS */, + B9C8323521C849800008ED90 /* CHANGELOG.md */, + B9C8323121C8497F0008ED90 /* Gemfile */, + B9C8323321C8497F0008ED90 /* LICENSE */, + B9C8323721C849800008ED90 /* Podfile */, + B9C8323421C8497F0008ED90 /* README.md */, + B9C8323621C849800008ED90 /* SHSearchBar.podspec */, ); name = "Podspec Metadata"; sourceTree = ""; }; - B1F65830EE0D601B5D595F85 /* Pods */ = { + B61D229E788F55B81B930789 /* Frameworks */ = { isa = PBXGroup; children = ( - 4E5D9DD31A134DBDCBF6B0BD /* Pods-SHSearchBar_Example.debug.xcconfig */, - 53F3CEB9AA62FFC13214F692 /* Pods-SHSearchBar_Example.release.xcconfig */, - 155C0B974831EDF00FEDD99F /* Pods-SHSearchBar_Tests.debug.xcconfig */, - 55ED08248C3B1B7D84327940 /* Pods-SHSearchBar_Tests.release.xcconfig */, + 347EB67A56B544424140EDED /* Pods_SHSearchBar.framework */, + 6DCBF1F56D2C3FC7138E1EF2 /* Pods_SHSearchBar_Tests.framework */, + 4FA58F22BAAD8A9A64023BD4 /* Pods_TestPods_SHSearchBar_iOS_Tests.framework */, ); - name = Pods; + name = Frameworks; sourceTree = ""; }; - B61D229E788F55B81B930789 /* Frameworks */ = { + B9C8323821C849990008ED90 /* Source */ = { isa = PBXGroup; children = ( - 69B9F2F5C8361A4DD18303C7 /* Pods_SHSearchBar_Example.framework */, - 14F9A235667ABDAD9E74B321 /* Pods_SHSearchBar_Tests.framework */, - ); - name = Frameworks; + B9C8325321C84CC90008ED90 /* SHSearchBar.h */, + B9C8325221C84CC90008ED90 /* Info.plist */, + B9C8324821C84B5C0008ED90 /* Foundation + Extensions.swift */, + B9C8324621C84B5C0008ED90 /* SHSearchBar.swift */, + B9C8324B21C84B5D0008ED90 /* SHSearchBarConfig.swift */, + B9C8324A21C84B5C0008ED90 /* SHSearchBarDelegate.swift */, + B9C8324921C84B5C0008ED90 /* SHSearchBarTextField.swift */, + B9C8324721C84B5C0008ED90 /* UIImage+Style.swift */, + B943C6AA21C86DFC00BE8948 /* Localizable.strings */, + ); + path = Source; sourceTree = ""; }; /* End PBXGroup section */ -/* Begin PBXNativeTarget section */ - 607FACCF1AFB9204008FA782 /* SHSearchBar_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_Example" */; - buildPhases = ( - 4097A4833D919611315A12BD /* [CP] Check Pods Manifest.lock */, - 607FACCC1AFB9204008FA782 /* Sources */, - 607FACCD1AFB9204008FA782 /* Frameworks */, - 607FACCE1AFB9204008FA782 /* Resources */, - CCF5E8D864516DC73780B2D3 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( +/* Begin PBXHeadersBuildPhase section */ + B9C8323921C84B300008ED90 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( ); - name = SHSearchBar_Example; - productName = SHSearchBar; - productReference = 607FACD01AFB9204008FA782 /* SHSearchBar_Example.app */; - productType = "com.apple.product-type.application"; + runOnlyForDeploymentPostprocessing = 0; }; - 607FACE41AFB9204008FA782 /* SHSearchBar_Tests */ = { +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 607FACE41AFB9204008FA782 /* SHSearchBar_iOS_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_Tests" */; + buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_iOS_Tests" */; buildPhases = ( 62D764484A0ED4B9ACC259FE /* [CP] Check Pods Manifest.lock */, 607FACE11AFB9204008FA782 /* Sources */, @@ -213,13 +195,30 @@ buildRules = ( ); dependencies = ( - 607FACE71AFB9204008FA782 /* PBXTargetDependency */, ); - name = SHSearchBar_Tests; + name = SHSearchBar_iOS_Tests; productName = Tests; - productReference = 607FACE51AFB9204008FA782 /* SHSearchBar_Tests.xctest */; + productReference = 607FACE51AFB9204008FA782 /* SHSearchBar_iOS_Tests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + B9C8323D21C84B300008ED90 /* SHSearchBar */ = { + isa = PBXNativeTarget; + buildConfigurationList = B9C8324321C84B300008ED90 /* Build configuration list for PBXNativeTarget "SHSearchBar" */; + buildPhases = ( + B9C8323921C84B300008ED90 /* Headers */, + B9C8323A21C84B300008ED90 /* Sources */, + B9C8323B21C84B300008ED90 /* Frameworks */, + B9C8323C21C84B300008ED90 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SHSearchBar; + productName = SHSearchBar; + productReference = B9C8323E21C84B300008ED90 /* SHSearchBar.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -227,19 +226,20 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 1000; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { - 607FACCF1AFB9204008FA782 = { - CreatedOnToolsVersion = 6.3.1; - DevelopmentTeam = PCW579R278; - LastSwiftMigration = 1000; - }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; LastSwiftMigration = 1000; TestTargetID = 607FACCF1AFB9204008FA782; }; + B9C8323D21C84B300008ED90 = { + CreatedOnToolsVersion = 10.1; + DevelopmentTeam = PCW579R278; + LastSwiftMigration = 1010; + ProvisioningStyle = Automatic; + }; }; }; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "SHSearchBar" */; @@ -262,52 +262,31 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 607FACCF1AFB9204008FA782 /* SHSearchBar_Example */, - 607FACE41AFB9204008FA782 /* SHSearchBar_Tests */, + B9C8323D21C84B300008ED90 /* SHSearchBar */, + 607FACE41AFB9204008FA782 /* SHSearchBar_iOS_Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 607FACCE1AFB9204008FA782 /* Resources */ = { + 607FACE31AFB9204008FA782 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */, - B9DDE578203650DF00B513FE /* Localizable.strings in Resources */, - 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */, - 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 607FACE31AFB9204008FA782 /* Resources */ = { + B9C8323C21C84B300008ED90 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B943C6AC21C86DFC00BE8948 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 4097A4833D919611315A12BD /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-SHSearchBar_Example-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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"; - showEnvVarsInLog = 0; - }; 62D764484A0ED4B9ACC259FE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -319,38 +298,20 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-SHSearchBar_Tests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-TestPods-SHSearchBar_iOS_Tests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; 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"; showEnvVarsInLog = 0; }; - CCF5E8D864516DC73780B2D3 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-SHSearchBar_Example/Pods-SHSearchBar_Example-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/SHSearchBar/SHSearchBar.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SHSearchBar.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SHSearchBar_Example/Pods-SHSearchBar_Example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; FDF77FD1B9B4ED725533FA48 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests-frameworks.sh", + "${SRCROOT}/Pods/Target Support Files/Pods-TestPods-SHSearchBar_iOS_Tests/Pods-TestPods-SHSearchBar_iOS_Tests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework", "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework", ); @@ -361,70 +322,49 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SHSearchBar_Tests/Pods-SHSearchBar_Tests-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-TestPods-SHSearchBar_iOS_Tests/Pods-TestPods-SHSearchBar_iOS_Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 607FACCC1AFB9204008FA782 /* Sources */ = { + 607FACE11AFB9204008FA782 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */, - 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, - B9DDE57420364F7A00B513FE /* SearchBarTitleView.swift in Sources */, + B995DD932036349C00E091FB /* SHSearchBarTextFieldSpecs.swift in Sources */, + B995DD912036349C00E091FB /* Mocks.swift in Sources */, + B995DD922036349C00E091FB /* SHSearchBarSpec.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 607FACE11AFB9204008FA782 /* Sources */ = { + B9C8323A21C84B300008ED90 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B995DD932036349C00E091FB /* SHSearchBarTextFieldSpecs.swift in Sources */, - B995DD912036349C00E091FB /* Mocks.swift in Sources */, - B995DD922036349C00E091FB /* SHSearchBarSpec.swift in Sources */, + B9C8325021C84B5D0008ED90 /* SHSearchBarDelegate.swift in Sources */, + B9C8324F21C84B5D0008ED90 /* SHSearchBarTextField.swift in Sources */, + B9C8325121C84B5D0008ED90 /* SHSearchBarConfig.swift in Sources */, + B9C8324C21C84B5D0008ED90 /* SHSearchBar.swift in Sources */, + B9C8324E21C84B5D0008ED90 /* Foundation + Extensions.swift in Sources */, + B9C8324D21C84B5D0008ED90 /* UIImage+Style.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 607FACE71AFB9204008FA782 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 607FACCF1AFB9204008FA782 /* SHSearchBar_Example */; - targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ - 607FACD91AFB9204008FA782 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 607FACDA1AFB9204008FA782 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = { + B943C6AA21C86DFC00BE8948 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 607FACDF1AFB9204008FA782 /* Base */, - ); - name = LaunchScreen.xib; - sourceTree = ""; - }; - B9DDE576203650DF00B513FE /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B9DDE577203650DF00B513FE /* de */, - B9DDE579203650F500B513FE /* en */, - B9DDE57A203650FB00B513FE /* es */, - B9DDE57B2036510000B513FE /* fr */, - B9DDE57C2036510400B513FE /* it */, - B9DDE57D2036510700B513FE /* ja */, - B9DDE57E2036510B00B513FE /* ru */, - B9DDE57F2036511000B513FE /* zh-Hans */, + B943C6AB21C86DFC00BE8948 /* de */, + B943C6AD21C86E0100BE8948 /* en */, + B943C6AE21C86E0700BE8948 /* es */, + B943C6B321C86E1800BE8948 /* fr */, + B943C6B421C86E1D00BE8948 /* it */, + B943C6B521C86E2500BE8948 /* ja */, + B943C6B621C86E2B00BE8948 /* ru */, + B943C6B721C86E3100BE8948 /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; @@ -480,6 +420,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -528,6 +469,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -535,69 +477,101 @@ }; name = Release; }; - 607FACF01AFB9204008FA782 /* Debug */ = { + 607FACF31AFB9204008FA782 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4E5D9DD31A134DBDCBF6B0BD /* Pods-SHSearchBar_Example.debug.xcconfig */; + baseConfigurationReference = 2199CB4B186EB55AA75AB0DF /* Pods-TestPods-SHSearchBar_iOS_Tests.debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = PCW579R278; - INFOPLIST_FILE = SHSearchBar/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MODULE_NAME = ExampleApp; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.2; - VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; - 607FACF11AFB9204008FA782 /* Release */ = { + 607FACF41AFB9204008FA782 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 53F3CEB9AA62FFC13214F692 /* Pods-SHSearchBar_Example.release.xcconfig */; + baseConfigurationReference = 289F7FC3D557216213AC975E /* Pods-TestPods-SHSearchBar_iOS_Tests.release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = PCW579R278; - INFOPLIST_FILE = SHSearchBar/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MODULE_NAME = ExampleApp; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; + INFOPLIST_FILE = Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.2; - VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; - 607FACF31AFB9204008FA782 /* Debug */ = { + B9C8324421C84B300008ED90 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 155C0B974831EDF00FEDD99F /* Pods-SHSearchBar_Tests.debug.xcconfig */; buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = Tests/Info.plist; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = PCW579R278; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 2; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = Source/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.codingcobra.SHSearchBar; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.2; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SHSearchBar_Example.app/SHSearchBar_Example"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 607FACF41AFB9204008FA782 /* Release */ = { + B9C8324521C84B300008ED90 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 55ED08248C3B1B7D84327940 /* Pods-SHSearchBar_Tests.release.xcconfig */; buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - INFOPLIST_FILE = Tests/Info.plist; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = PCW579R278; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 2; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = Source/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.codingcobra.SHSearchBar; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.2; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SHSearchBar_Example.app/SHSearchBar_Example"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; @@ -613,20 +587,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_Example" */ = { + 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_iOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 607FACF01AFB9204008FA782 /* Debug */, - 607FACF11AFB9204008FA782 /* Release */, + 607FACF31AFB9204008FA782 /* Debug */, + 607FACF41AFB9204008FA782 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "SHSearchBar_Tests" */ = { + B9C8324321C84B300008ED90 /* Build configuration list for PBXNativeTarget "SHSearchBar" */ = { isa = XCConfigurationList; buildConfigurations = ( - 607FACF31AFB9204008FA782 /* Debug */, - 607FACF41AFB9204008FA782 /* Release */, + B9C8324421C84B300008ED90 /* Debug */, + B9C8324521C84B300008ED90 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/SHSearchBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SHSearchBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Example/SHSearchBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to SHSearchBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/SHSearchBar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SHSearchBar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SHSearchBar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar-Example.xcscheme b/SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar.xcscheme similarity index 73% rename from Example/SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar-Example.xcscheme rename to SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar.xcscheme index 7bed84a..42ada10 100644 --- a/Example/SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar-Example.xcscheme +++ b/SHSearchBar.xcodeproj/xcshareddata/xcschemes/SHSearchBar.xcscheme @@ -1,6 +1,6 @@ + buildForAnalyzing = "NO"> @@ -47,8 +47,8 @@ @@ -56,9 +56,9 @@ @@ -75,16 +75,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - + - + @@ -94,16 +93,15 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> - + - + diff --git a/Example/SHSearchBar.xcworkspace/contents.xcworkspacedata b/SHSearchBar.xcworkspace/contents.xcworkspacedata similarity index 72% rename from Example/SHSearchBar.xcworkspace/contents.xcworkspacedata rename to SHSearchBar.xcworkspace/contents.xcworkspacedata index ccf2e1d..a258070 100644 --- a/Example/SHSearchBar.xcworkspace/contents.xcworkspacedata +++ b/SHSearchBar.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,9 @@ + + diff --git a/SHSearchBar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SHSearchBar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SHSearchBar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SHSearchBar/Assets/.gitkeep b/Source/Assets/.gitkeep similarity index 100% rename from SHSearchBar/Assets/.gitkeep rename to Source/Assets/.gitkeep diff --git a/SHSearchBar/Classes/.gitkeep b/Source/Classes/.gitkeep similarity index 100% rename from SHSearchBar/Classes/.gitkeep rename to Source/Classes/.gitkeep diff --git a/SHSearchBar/Classes/Foundation + Extensions.swift b/Source/Classes/Foundation + Extensions.swift similarity index 100% rename from SHSearchBar/Classes/Foundation + Extensions.swift rename to Source/Classes/Foundation + Extensions.swift diff --git a/SHSearchBar/Classes/SHSearchBar.swift b/Source/Classes/SHSearchBar.swift similarity index 100% rename from SHSearchBar/Classes/SHSearchBar.swift rename to Source/Classes/SHSearchBar.swift diff --git a/SHSearchBar/Classes/SHSearchBarConfig.swift b/Source/Classes/SHSearchBarConfig.swift similarity index 100% rename from SHSearchBar/Classes/SHSearchBarConfig.swift rename to Source/Classes/SHSearchBarConfig.swift diff --git a/SHSearchBar/Classes/SHSearchBarDelegate.swift b/Source/Classes/SHSearchBarDelegate.swift similarity index 100% rename from SHSearchBar/Classes/SHSearchBarDelegate.swift rename to Source/Classes/SHSearchBarDelegate.swift diff --git a/SHSearchBar/Classes/SHSearchBarTextField.swift b/Source/Classes/SHSearchBarTextField.swift similarity index 100% rename from SHSearchBar/Classes/SHSearchBarTextField.swift rename to Source/Classes/SHSearchBarTextField.swift diff --git a/SHSearchBar/Classes/UIImage+Style.swift b/Source/Classes/UIImage+Style.swift similarity index 100% rename from SHSearchBar/Classes/UIImage+Style.swift rename to Source/Classes/UIImage+Style.swift diff --git a/Source/Info.plist b/Source/Info.plist new file mode 100644 index 0000000..3cdebdc --- /dev/null +++ b/Source/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.6.0 + CFBundleVersion + 2 + + diff --git a/Source/SHSearchBar.h b/Source/SHSearchBar.h new file mode 100644 index 0000000..e1d71d4 --- /dev/null +++ b/Source/SHSearchBar.h @@ -0,0 +1,19 @@ +// +// SHSearchBar.h +// SHSearchBar +// +// Created by Stefan Herold on 17.12.18. +// Copyright © 2018 CocoaPods. All rights reserved. +// + +#import + +//! Project version number for SHSearchBar. +FOUNDATION_EXPORT double SHSearchBarVersionNumber; + +//! Project version string for SHSearchBar. +FOUNDATION_EXPORT const unsigned char SHSearchBarVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/SHSearchBar/Strings/de.lproj/Localizable.strings b/Source/Strings/de.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/de.lproj/Localizable.strings rename to Source/Strings/de.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/en.lproj/Localizable.strings b/Source/Strings/en.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/en.lproj/Localizable.strings rename to Source/Strings/en.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/es.lproj/Localizable.strings b/Source/Strings/es.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/es.lproj/Localizable.strings rename to Source/Strings/es.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/fr.lproj/Localizable.strings b/Source/Strings/fr.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/fr.lproj/Localizable.strings rename to Source/Strings/fr.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/it.lproj/Localizable.strings b/Source/Strings/it.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/it.lproj/Localizable.strings rename to Source/Strings/it.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/ja.lproj/Localizable.strings b/Source/Strings/ja.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/ja.lproj/Localizable.strings rename to Source/Strings/ja.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/ru.lproj/Localizable.strings b/Source/Strings/ru.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/ru.lproj/Localizable.strings rename to Source/Strings/ru.lproj/Localizable.strings diff --git a/SHSearchBar/Strings/zh-Hans.lproj/Localizable.strings b/Source/Strings/zh-Hans.lproj/Localizable.strings similarity index 100% rename from SHSearchBar/Strings/zh-Hans.lproj/Localizable.strings rename to Source/Strings/zh-Hans.lproj/Localizable.strings diff --git a/Example/Tests/Info.plist b/Tests/Info.plist similarity index 94% rename from Example/Tests/Info.plist rename to Tests/Info.plist index 7fc27d0..3ce85fd 100644 --- a/Example/Tests/Info.plist +++ b/Tests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.5.0 + 1.6.0 CFBundleSignature ???? CFBundleVersion - 5 + 2 diff --git a/Example/Tests/Mocks.swift b/Tests/Mocks.swift similarity index 100% rename from Example/Tests/Mocks.swift rename to Tests/Mocks.swift diff --git a/Example/Tests/SHSearchBarSpec.swift b/Tests/SHSearchBarSpec.swift similarity index 100% rename from Example/Tests/SHSearchBarSpec.swift rename to Tests/SHSearchBarSpec.swift diff --git a/Example/Tests/SHSearchBarTextFieldSpecs.swift b/Tests/SHSearchBarTextFieldSpecs.swift similarity index 100% rename from Example/Tests/SHSearchBarTextFieldSpecs.swift rename to Tests/SHSearchBarTextFieldSpecs.swift diff --git a/_Pods.xcodeproj b/_Pods.xcodeproj deleted file mode 120000 index 3c5a8e7..0000000 --- a/_Pods.xcodeproj +++ /dev/null @@ -1 +0,0 @@ -Example/Pods/Pods.xcodeproj \ No newline at end of file diff --git a/fastlane/Appfile b/fastlane/Appfile deleted file mode 100644 index bb8adc9..0000000 --- a/fastlane/Appfile +++ /dev/null @@ -1,7 +0,0 @@ -app_identifier "" # The bundle identifier of your app -apple_id "" # Your Apple email address - -team_id "[[DEV_PORTAL_TEAM_ID]]" # Developer Portal Team ID - -# you can even provide different app identifiers, Apple IDs and team names per lane: -# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md diff --git a/icon.png b/icon.png index e71a762..848c160 100644 Binary files a/icon.png and b/icon.png differ