├── .gitignore
├── .swiftpm
└── xcode
│ └── package.xcworkspace
│ └── contents.xcworkspacedata
├── CHANGELOG.md
├── Icon.png
├── LICENSE
├── LUAutocompleteView.podspec
├── LUAutocompleteView.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ └── contents.xcworkspacedata
└── xcshareddata
│ └── xcschemes
│ └── LUAutocompleteView.xcscheme
├── LUAutocompleteView.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ └── IDEWorkspaceChecks.plist
├── LUAutocompleteViewExample
├── LUAutocompleteViewExample.xcodeproj
│ ├── project.pbxproj
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── LUAutocompleteViewExample.xcscheme
├── LUAutocompleteViewExample.xcworkspace
│ └── contents.xcworkspacedata
├── LUAutocompleteViewExample
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ └── icon.png
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CustomAutocompleteTableViewCell.swift
│ ├── Info.plist
│ └── ViewController.swift
├── Podfile
├── Podfile.lock
└── Pods
│ ├── Local Podspecs
│ └── LUAutocompleteView.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ └── project.pbxproj
│ └── Target Support Files
│ ├── LUAutocompleteView
│ ├── LUAutocompleteView-Info.plist
│ ├── LUAutocompleteView-dummy.m
│ ├── LUAutocompleteView-prefix.pch
│ ├── LUAutocompleteView-umbrella.h
│ ├── LUAutocompleteView.debug.xcconfig
│ ├── LUAutocompleteView.modulemap
│ └── LUAutocompleteView.release.xcconfig
│ └── Pods-LUAutocompleteViewExample
│ ├── Pods-LUAutocompleteViewExample-Info.plist
│ ├── Pods-LUAutocompleteViewExample-acknowledgements.markdown
│ ├── Pods-LUAutocompleteViewExample-acknowledgements.plist
│ ├── Pods-LUAutocompleteViewExample-dummy.m
│ ├── Pods-LUAutocompleteViewExample-frameworks-Debug-input-files.xcfilelist
│ ├── Pods-LUAutocompleteViewExample-frameworks-Debug-output-files.xcfilelist
│ ├── Pods-LUAutocompleteViewExample-frameworks-Release-input-files.xcfilelist
│ ├── Pods-LUAutocompleteViewExample-frameworks-Release-output-files.xcfilelist
│ ├── Pods-LUAutocompleteViewExample-frameworks.sh
│ ├── Pods-LUAutocompleteViewExample-umbrella.h
│ ├── Pods-LUAutocompleteViewExample.debug.xcconfig
│ ├── Pods-LUAutocompleteViewExample.modulemap
│ └── Pods-LUAutocompleteViewExample.release.xcconfig
├── Package.swift
├── README.md
├── ReadmeIcon.png
└── Sources
├── LUAutocompleteTableViewCell.swift
├── LUAutocompleteView.swift
├── LUAutocompleteViewDataSource.swift
└── LUAutocompleteViewDelegate.swift
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xcuserstate
23 |
24 | ## Obj-C/Swift specific
25 | *.hmap
26 | *.ipa
27 | *.dSYM.zip
28 | *.dSYM
29 |
30 | ## Playgrounds
31 | timeline.xctimeline
32 | playground.xcworkspace
33 |
34 | # Swift Package Manager
35 | #
36 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
37 | # Packages/
38 | .build/
39 |
40 | # CocoaPods
41 | #
42 | # We recommend against adding the Pods directory to your .gitignore. However
43 | # you should judge for yourself, the pros and cons are mentioned at:
44 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
45 | #
46 | # Pods/
47 |
48 | # Carthage
49 | #
50 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
51 | # Carthage/Checkouts
52 |
53 | Carthage/Build
54 |
55 | # fastlane
56 | #
57 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
58 | # screenshots whenever they are needed.
59 | # For more information about the recommended setup visit:
60 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
61 |
62 | fastlane/report.xml
63 | fastlane/Preview.html
64 | fastlane/screenshots
65 | fastlane/test_output
66 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 |
3 | ## [5.0.0](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/5.0.0)
4 |
5 | - Swift 5.9 and Xcode 15 support
6 | - Drop Carthage support
7 | - Drop support below iOS 13
8 |
9 | ## [4.0.0](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/4.0.0)
10 |
11 | - Swift 5 and Xcode 10.2 support
12 |
13 | ## [3.0.0](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/3.0.0)
14 |
15 | - Swift 4.2 and Xcode 10 support
16 |
17 | ## [2.0.0](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/2.0.0)
18 |
19 | - Swift 4 and Xcode 9 support
20 | - Add Carthage support
21 |
22 | ## [1.0.1](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/1.0.1)
23 |
24 | - Add `shouldHideAfterSelecting` property
25 |
26 | ## [1.0.0](https://github.com/LaurentiuUngur/LUAutocompleteView/releases/tag/1.0.0)
27 |
28 | - Initial version
29 |
--------------------------------------------------------------------------------
/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LaurentiuUngur/LUAutocompleteView/4d7052a058a46bfce6711a8475ca1da576230a1b/Icon.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Laurentiu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/LUAutocompleteView.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "LUAutocompleteView"
3 | s.version = "5.0.0"
4 | s.summary = "Highly configurable autocomplete view that is attachable to any UITextField"
5 | s.description = "Easy to use and highly configurable autocomplete view that is attachable to any UITextField"
6 |
7 | s.homepage = "https://github.com/LaurentiuUngur/LUAutocompleteView"
8 | s.license = { :type => "MIT", :file => "LICENSE" }
9 | s.source = { :git => "https://github.com/LaurentiuUngur/LUAutocompleteView.git", :tag => "#{s.version}" }
10 | s.author = { "Laurentiu Ungur" => "laurentyu1995@gmail.com" }
11 |
12 | s.requires_arc = true
13 | s.ios.deployment_target = '13.0'
14 | s.swift_version = '5.9'
15 |
16 | s.source_files = "Sources/*.{swift}"
17 | s.preserve_paths = "README*"
18 | end
19 |
--------------------------------------------------------------------------------
/LUAutocompleteView.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 60;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | CF2B733F1EAE8916009056D2 /* LUAutocompleteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B733E1EAE8916009056D2 /* LUAutocompleteView.swift */; };
11 | CF2B73411EAE896F009056D2 /* LUAutocompleteViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B73401EAE896F009056D2 /* LUAutocompleteViewDelegate.swift */; };
12 | CF2B73431EAE898B009056D2 /* LUAutocompleteViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B73421EAE898B009056D2 /* LUAutocompleteViewDataSource.swift */; };
13 | CF2B73451EAE89A6009056D2 /* LUAutocompleteTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B73441EAE89A6009056D2 /* LUAutocompleteTableViewCell.swift */; };
14 | /* End PBXBuildFile section */
15 |
16 | /* Begin PBXFileReference section */
17 | CF2B732E1EAE889C009056D2 /* LUAutocompleteView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LUAutocompleteView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
18 | CF2B733E1EAE8916009056D2 /* LUAutocompleteView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LUAutocompleteView.swift; sourceTree = ""; };
19 | CF2B73401EAE896F009056D2 /* LUAutocompleteViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LUAutocompleteViewDelegate.swift; sourceTree = ""; };
20 | CF2B73421EAE898B009056D2 /* LUAutocompleteViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LUAutocompleteViewDataSource.swift; sourceTree = ""; };
21 | CF2B73441EAE89A6009056D2 /* LUAutocompleteTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LUAutocompleteTableViewCell.swift; sourceTree = ""; };
22 | /* End PBXFileReference section */
23 |
24 | /* Begin PBXFrameworksBuildPhase section */
25 | CF2B732A1EAE889C009056D2 /* Frameworks */ = {
26 | isa = PBXFrameworksBuildPhase;
27 | buildActionMask = 2147483647;
28 | files = (
29 | );
30 | runOnlyForDeploymentPostprocessing = 0;
31 | };
32 | /* End PBXFrameworksBuildPhase section */
33 |
34 | /* Begin PBXGroup section */
35 | CF2B73241EAE889C009056D2 = {
36 | isa = PBXGroup;
37 | children = (
38 | CF2B73391EAE88DC009056D2 /* Sources */,
39 | CF2B732F1EAE889C009056D2 /* Products */,
40 | );
41 | sourceTree = "";
42 | };
43 | CF2B732F1EAE889C009056D2 /* Products */ = {
44 | isa = PBXGroup;
45 | children = (
46 | CF2B732E1EAE889C009056D2 /* LUAutocompleteView.framework */,
47 | );
48 | name = Products;
49 | sourceTree = "";
50 | };
51 | CF2B73391EAE88DC009056D2 /* Sources */ = {
52 | isa = PBXGroup;
53 | children = (
54 | CF2B73441EAE89A6009056D2 /* LUAutocompleteTableViewCell.swift */,
55 | CF2B733E1EAE8916009056D2 /* LUAutocompleteView.swift */,
56 | CF2B73421EAE898B009056D2 /* LUAutocompleteViewDataSource.swift */,
57 | CF2B73401EAE896F009056D2 /* LUAutocompleteViewDelegate.swift */,
58 | );
59 | path = Sources;
60 | sourceTree = "";
61 | };
62 | /* End PBXGroup section */
63 |
64 | /* Begin PBXHeadersBuildPhase section */
65 | CF2B732B1EAE889C009056D2 /* Headers */ = {
66 | isa = PBXHeadersBuildPhase;
67 | buildActionMask = 2147483647;
68 | files = (
69 | );
70 | runOnlyForDeploymentPostprocessing = 0;
71 | };
72 | /* End PBXHeadersBuildPhase section */
73 |
74 | /* Begin PBXNativeTarget section */
75 | CF2B732D1EAE889C009056D2 /* LUAutocompleteView */ = {
76 | isa = PBXNativeTarget;
77 | buildConfigurationList = CF2B73361EAE889C009056D2 /* Build configuration list for PBXNativeTarget "LUAutocompleteView" */;
78 | buildPhases = (
79 | CF2B73291EAE889C009056D2 /* Sources */,
80 | CF2B732A1EAE889C009056D2 /* Frameworks */,
81 | CF2B732B1EAE889C009056D2 /* Headers */,
82 | CF2B732C1EAE889C009056D2 /* Resources */,
83 | );
84 | buildRules = (
85 | );
86 | dependencies = (
87 | );
88 | name = LUAutocompleteView;
89 | productName = LUAutocompleteView;
90 | productReference = CF2B732E1EAE889C009056D2 /* LUAutocompleteView.framework */;
91 | productType = "com.apple.product-type.framework";
92 | };
93 | /* End PBXNativeTarget section */
94 |
95 | /* Begin PBXProject section */
96 | CF2B73251EAE889C009056D2 /* Project object */ = {
97 | isa = PBXProject;
98 | attributes = {
99 | BuildIndependentTargetsInParallel = YES;
100 | LastUpgradeCheck = 1500;
101 | ORGANIZATIONNAME = "Laurentiu Ungur";
102 | TargetAttributes = {
103 | CF2B732D1EAE889C009056D2 = {
104 | CreatedOnToolsVersion = 8.3.2;
105 | LastSwiftMigration = 1020;
106 | ProvisioningStyle = Automatic;
107 | };
108 | };
109 | };
110 | buildConfigurationList = CF2B73281EAE889C009056D2 /* Build configuration list for PBXProject "LUAutocompleteView" */;
111 | compatibilityVersion = "Xcode 15.0";
112 | developmentRegion = en;
113 | hasScannedForEncodings = 0;
114 | knownRegions = (
115 | en,
116 | Base,
117 | );
118 | mainGroup = CF2B73241EAE889C009056D2;
119 | productRefGroup = CF2B732F1EAE889C009056D2 /* Products */;
120 | projectDirPath = "";
121 | projectRoot = "";
122 | targets = (
123 | CF2B732D1EAE889C009056D2 /* LUAutocompleteView */,
124 | );
125 | };
126 | /* End PBXProject section */
127 |
128 | /* Begin PBXResourcesBuildPhase section */
129 | CF2B732C1EAE889C009056D2 /* Resources */ = {
130 | isa = PBXResourcesBuildPhase;
131 | buildActionMask = 2147483647;
132 | files = (
133 | );
134 | runOnlyForDeploymentPostprocessing = 0;
135 | };
136 | /* End PBXResourcesBuildPhase section */
137 |
138 | /* Begin PBXSourcesBuildPhase section */
139 | CF2B73291EAE889C009056D2 /* Sources */ = {
140 | isa = PBXSourcesBuildPhase;
141 | buildActionMask = 2147483647;
142 | files = (
143 | CF2B73431EAE898B009056D2 /* LUAutocompleteViewDataSource.swift in Sources */,
144 | CF2B73411EAE896F009056D2 /* LUAutocompleteViewDelegate.swift in Sources */,
145 | CF2B73451EAE89A6009056D2 /* LUAutocompleteTableViewCell.swift in Sources */,
146 | CF2B733F1EAE8916009056D2 /* LUAutocompleteView.swift in Sources */,
147 | );
148 | runOnlyForDeploymentPostprocessing = 0;
149 | };
150 | /* End PBXSourcesBuildPhase section */
151 |
152 | /* Begin XCBuildConfiguration section */
153 | CF2B73341EAE889C009056D2 /* Debug */ = {
154 | isa = XCBuildConfiguration;
155 | buildSettings = {
156 | ALWAYS_SEARCH_USER_PATHS = NO;
157 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
158 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
159 | CLANG_ANALYZER_NONNULL = YES;
160 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
161 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
162 | CLANG_CXX_LIBRARY = "libc++";
163 | CLANG_ENABLE_MODULES = YES;
164 | CLANG_ENABLE_OBJC_ARC = YES;
165 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
166 | CLANG_WARN_BOOL_CONVERSION = YES;
167 | CLANG_WARN_COMMA = YES;
168 | CLANG_WARN_CONSTANT_CONVERSION = YES;
169 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
170 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
171 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
172 | CLANG_WARN_EMPTY_BODY = YES;
173 | CLANG_WARN_ENUM_CONVERSION = YES;
174 | CLANG_WARN_INFINITE_RECURSION = YES;
175 | CLANG_WARN_INT_CONVERSION = YES;
176 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
177 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
178 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
179 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
180 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
181 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
182 | CLANG_WARN_STRICT_PROTOTYPES = YES;
183 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
184 | CLANG_WARN_UNREACHABLE_CODE = YES;
185 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
186 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
187 | COPY_PHASE_STRIP = NO;
188 | CURRENT_PROJECT_VERSION = 1;
189 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
190 | ENABLE_STRICT_OBJC_MSGSEND = YES;
191 | ENABLE_TESTABILITY = YES;
192 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
193 | GCC_C_LANGUAGE_STANDARD = gnu99;
194 | GCC_DYNAMIC_NO_PIC = NO;
195 | GCC_NO_COMMON_BLOCKS = YES;
196 | GCC_OPTIMIZATION_LEVEL = 0;
197 | GCC_PREPROCESSOR_DEFINITIONS = (
198 | "DEBUG=1",
199 | "$(inherited)",
200 | );
201 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
202 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
203 | GCC_WARN_UNDECLARED_SELECTOR = YES;
204 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
205 | GCC_WARN_UNUSED_FUNCTION = YES;
206 | GCC_WARN_UNUSED_VARIABLE = YES;
207 | GENERATE_INFOPLIST_FILE = YES;
208 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
209 | MTL_ENABLE_DEBUG_INFO = YES;
210 | ONLY_ACTIVE_ARCH = YES;
211 | SDKROOT = iphoneos;
212 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
213 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
214 | SWIFT_VERSION = 4.2;
215 | TARGETED_DEVICE_FAMILY = "1,2";
216 | VERSIONING_SYSTEM = "apple-generic";
217 | VERSION_INFO_PREFIX = "";
218 | };
219 | name = Debug;
220 | };
221 | CF2B73351EAE889C009056D2 /* Release */ = {
222 | isa = XCBuildConfiguration;
223 | buildSettings = {
224 | ALWAYS_SEARCH_USER_PATHS = NO;
225 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
226 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
227 | CLANG_ANALYZER_NONNULL = YES;
228 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
229 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
230 | CLANG_CXX_LIBRARY = "libc++";
231 | CLANG_ENABLE_MODULES = YES;
232 | CLANG_ENABLE_OBJC_ARC = YES;
233 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
234 | CLANG_WARN_BOOL_CONVERSION = YES;
235 | CLANG_WARN_COMMA = YES;
236 | CLANG_WARN_CONSTANT_CONVERSION = YES;
237 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
238 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
239 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
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_IMPLICIT_RETAIN_SELF = YES;
246 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
247 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
248 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
249 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
250 | CLANG_WARN_STRICT_PROTOTYPES = YES;
251 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
252 | CLANG_WARN_UNREACHABLE_CODE = YES;
253 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
254 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
255 | COPY_PHASE_STRIP = NO;
256 | CURRENT_PROJECT_VERSION = 1;
257 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
258 | ENABLE_NS_ASSERTIONS = NO;
259 | ENABLE_STRICT_OBJC_MSGSEND = YES;
260 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
261 | GCC_C_LANGUAGE_STANDARD = gnu99;
262 | GCC_NO_COMMON_BLOCKS = YES;
263 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
264 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
265 | GCC_WARN_UNDECLARED_SELECTOR = YES;
266 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
267 | GCC_WARN_UNUSED_FUNCTION = YES;
268 | GCC_WARN_UNUSED_VARIABLE = YES;
269 | GENERATE_INFOPLIST_FILE = YES;
270 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
271 | MTL_ENABLE_DEBUG_INFO = NO;
272 | SDKROOT = iphoneos;
273 | SWIFT_COMPILATION_MODE = wholemodule;
274 | SWIFT_OPTIMIZATION_LEVEL = "-O";
275 | SWIFT_VERSION = 4.2;
276 | TARGETED_DEVICE_FAMILY = "1,2";
277 | VALIDATE_PRODUCT = YES;
278 | VERSIONING_SYSTEM = "apple-generic";
279 | VERSION_INFO_PREFIX = "";
280 | };
281 | name = Release;
282 | };
283 | CF2B73371EAE889C009056D2 /* Debug */ = {
284 | isa = XCBuildConfiguration;
285 | buildSettings = {
286 | CLANG_ENABLE_MODULES = YES;
287 | CODE_SIGN_IDENTITY = "";
288 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
289 | DEFINES_MODULE = YES;
290 | DEVELOPMENT_TEAM = "";
291 | DYLIB_COMPATIBILITY_VERSION = 1;
292 | DYLIB_CURRENT_VERSION = 1;
293 | DYLIB_INSTALL_NAME_BASE = "@rpath";
294 | ENABLE_MODULE_VERIFIER = YES;
295 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
296 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
297 | LD_RUNPATH_SEARCH_PATHS = (
298 | "$(inherited)",
299 | "@executable_path/Frameworks",
300 | "@loader_path/Frameworks",
301 | );
302 | MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
303 | MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
304 | PRODUCT_BUNDLE_IDENTIFIER = LU.LUAutocompleteView;
305 | PRODUCT_NAME = "$(TARGET_NAME)";
306 | SKIP_INSTALL = YES;
307 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
308 | SWIFT_VERSION = 5.0;
309 | };
310 | name = Debug;
311 | };
312 | CF2B73381EAE889C009056D2 /* Release */ = {
313 | isa = XCBuildConfiguration;
314 | buildSettings = {
315 | CLANG_ENABLE_MODULES = YES;
316 | CODE_SIGN_IDENTITY = "";
317 | DEFINES_MODULE = YES;
318 | DEVELOPMENT_TEAM = "";
319 | DYLIB_COMPATIBILITY_VERSION = 1;
320 | DYLIB_CURRENT_VERSION = 1;
321 | DYLIB_INSTALL_NAME_BASE = "@rpath";
322 | ENABLE_MODULE_VERIFIER = YES;
323 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
324 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
325 | LD_RUNPATH_SEARCH_PATHS = (
326 | "$(inherited)",
327 | "@executable_path/Frameworks",
328 | "@loader_path/Frameworks",
329 | );
330 | MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
331 | MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
332 | PRODUCT_BUNDLE_IDENTIFIER = LU.LUAutocompleteView;
333 | PRODUCT_NAME = "$(TARGET_NAME)";
334 | SKIP_INSTALL = YES;
335 | SWIFT_VERSION = 5.0;
336 | };
337 | name = Release;
338 | };
339 | /* End XCBuildConfiguration section */
340 |
341 | /* Begin XCConfigurationList section */
342 | CF2B73281EAE889C009056D2 /* Build configuration list for PBXProject "LUAutocompleteView" */ = {
343 | isa = XCConfigurationList;
344 | buildConfigurations = (
345 | CF2B73341EAE889C009056D2 /* Debug */,
346 | CF2B73351EAE889C009056D2 /* Release */,
347 | );
348 | defaultConfigurationIsVisible = 0;
349 | defaultConfigurationName = Release;
350 | };
351 | CF2B73361EAE889C009056D2 /* Build configuration list for PBXNativeTarget "LUAutocompleteView" */ = {
352 | isa = XCConfigurationList;
353 | buildConfigurations = (
354 | CF2B73371EAE889C009056D2 /* Debug */,
355 | CF2B73381EAE889C009056D2 /* Release */,
356 | );
357 | defaultConfigurationIsVisible = 0;
358 | defaultConfigurationName = Release;
359 | };
360 | /* End XCConfigurationList section */
361 | };
362 | rootObject = CF2B73251EAE889C009056D2 /* Project object */;
363 | }
364 |
--------------------------------------------------------------------------------
/LUAutocompleteView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/LUAutocompleteView.xcodeproj/xcshareddata/xcschemes/LUAutocompleteView.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
52 |
53 |
59 |
60 |
66 |
67 |
68 |
69 |
71 |
72 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/LUAutocompleteView.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
12 |
13 |
15 |
16 |
18 |
19 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/LUAutocompleteView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 56;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 5ED5063374321A526C9BD445 /* Pods_LUAutocompleteViewExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9522797F532BDFC9E806F79 /* Pods_LUAutocompleteViewExample.framework */; };
11 | CF2B73531EAE8A7E009056D2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B73521EAE8A7E009056D2 /* AppDelegate.swift */; };
12 | CF2B73551EAE8A7E009056D2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF2B73541EAE8A7E009056D2 /* ViewController.swift */; };
13 | CF2B73581EAE8A7E009056D2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF2B73561EAE8A7E009056D2 /* Main.storyboard */; };
14 | CF2B735A1EAE8A7E009056D2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CF2B73591EAE8A7E009056D2 /* Assets.xcassets */; };
15 | CF2B735D1EAE8A7E009056D2 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF2B735B1EAE8A7E009056D2 /* LaunchScreen.storyboard */; };
16 | CF9218171EAF63B300D754B0 /* CustomAutocompleteTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF9218161EAF63B300D754B0 /* CustomAutocompleteTableViewCell.swift */; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXFileReference section */
20 | 20BE2DE0E155D4CF2C477078 /* Pods-LUAutocompleteViewExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LUAutocompleteViewExample.debug.xcconfig"; path = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.debug.xcconfig"; sourceTree = ""; };
21 | C9522797F532BDFC9E806F79 /* Pods_LUAutocompleteViewExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LUAutocompleteViewExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
22 | CF2B734F1EAE8A7E009056D2 /* LUAutocompleteViewExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LUAutocompleteViewExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
23 | CF2B73521EAE8A7E009056D2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
24 | CF2B73541EAE8A7E009056D2 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
25 | CF2B73571EAE8A7E009056D2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
26 | CF2B73591EAE8A7E009056D2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
27 | CF2B735C1EAE8A7E009056D2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
28 | CF2B735E1EAE8A7E009056D2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
29 | CF9218161EAF63B300D754B0 /* CustomAutocompleteTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomAutocompleteTableViewCell.swift; sourceTree = ""; };
30 | D9E51CCCBD3A5F6C4B93C781 /* Pods-LUAutocompleteViewExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LUAutocompleteViewExample.release.xcconfig"; path = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.release.xcconfig"; sourceTree = ""; };
31 | /* End PBXFileReference section */
32 |
33 | /* Begin PBXFrameworksBuildPhase section */
34 | CF2B734C1EAE8A7E009056D2 /* Frameworks */ = {
35 | isa = PBXFrameworksBuildPhase;
36 | buildActionMask = 2147483647;
37 | files = (
38 | 5ED5063374321A526C9BD445 /* Pods_LUAutocompleteViewExample.framework in Frameworks */,
39 | );
40 | runOnlyForDeploymentPostprocessing = 0;
41 | };
42 | /* End PBXFrameworksBuildPhase section */
43 |
44 | /* Begin PBXGroup section */
45 | 839064B8D3ACDB690BA498BE /* Frameworks */ = {
46 | isa = PBXGroup;
47 | children = (
48 | C9522797F532BDFC9E806F79 /* Pods_LUAutocompleteViewExample.framework */,
49 | );
50 | name = Frameworks;
51 | sourceTree = "";
52 | };
53 | CF2B73461EAE8A7E009056D2 = {
54 | isa = PBXGroup;
55 | children = (
56 | CF2B73511EAE8A7E009056D2 /* LUAutocompleteViewExample */,
57 | CF2B73501EAE8A7E009056D2 /* Products */,
58 | FC42C9B9F0C60C77B3D4F696 /* Pods */,
59 | 839064B8D3ACDB690BA498BE /* Frameworks */,
60 | );
61 | sourceTree = "";
62 | };
63 | CF2B73501EAE8A7E009056D2 /* Products */ = {
64 | isa = PBXGroup;
65 | children = (
66 | CF2B734F1EAE8A7E009056D2 /* LUAutocompleteViewExample.app */,
67 | );
68 | name = Products;
69 | sourceTree = "";
70 | };
71 | CF2B73511EAE8A7E009056D2 /* LUAutocompleteViewExample */ = {
72 | isa = PBXGroup;
73 | children = (
74 | CF2B73521EAE8A7E009056D2 /* AppDelegate.swift */,
75 | CF2B73591EAE8A7E009056D2 /* Assets.xcassets */,
76 | CF9218161EAF63B300D754B0 /* CustomAutocompleteTableViewCell.swift */,
77 | CF2B735E1EAE8A7E009056D2 /* Info.plist */,
78 | CF2B735B1EAE8A7E009056D2 /* LaunchScreen.storyboard */,
79 | CF2B73561EAE8A7E009056D2 /* Main.storyboard */,
80 | CF2B73541EAE8A7E009056D2 /* ViewController.swift */,
81 | );
82 | path = LUAutocompleteViewExample;
83 | sourceTree = "";
84 | };
85 | FC42C9B9F0C60C77B3D4F696 /* Pods */ = {
86 | isa = PBXGroup;
87 | children = (
88 | 20BE2DE0E155D4CF2C477078 /* Pods-LUAutocompleteViewExample.debug.xcconfig */,
89 | D9E51CCCBD3A5F6C4B93C781 /* Pods-LUAutocompleteViewExample.release.xcconfig */,
90 | );
91 | name = Pods;
92 | path = Pods;
93 | sourceTree = "";
94 | };
95 | /* End PBXGroup section */
96 |
97 | /* Begin PBXNativeTarget section */
98 | CF2B734E1EAE8A7E009056D2 /* LUAutocompleteViewExample */ = {
99 | isa = PBXNativeTarget;
100 | buildConfigurationList = CF2B73611EAE8A7E009056D2 /* Build configuration list for PBXNativeTarget "LUAutocompleteViewExample" */;
101 | buildPhases = (
102 | AA905CB548A1D8BDBE27CB62 /* [CP] Check Pods Manifest.lock */,
103 | CF2B734B1EAE8A7E009056D2 /* Sources */,
104 | CF2B734C1EAE8A7E009056D2 /* Frameworks */,
105 | CF2B734D1EAE8A7E009056D2 /* Resources */,
106 | 6BF85B7D76F3C6B405ED1367 /* [CP] Embed Pods Frameworks */,
107 | );
108 | buildRules = (
109 | );
110 | dependencies = (
111 | );
112 | name = LUAutocompleteViewExample;
113 | productName = LUAutocompleteViewExample;
114 | productReference = CF2B734F1EAE8A7E009056D2 /* LUAutocompleteViewExample.app */;
115 | productType = "com.apple.product-type.application";
116 | };
117 | /* End PBXNativeTarget section */
118 |
119 | /* Begin PBXProject section */
120 | CF2B73471EAE8A7E009056D2 /* Project object */ = {
121 | isa = PBXProject;
122 | attributes = {
123 | BuildIndependentTargetsInParallel = YES;
124 | LastSwiftUpdateCheck = 0830;
125 | LastUpgradeCheck = 1500;
126 | ORGANIZATIONNAME = "Laurentiu Ungur";
127 | TargetAttributes = {
128 | CF2B734E1EAE8A7E009056D2 = {
129 | CreatedOnToolsVersion = 8.3.2;
130 | LastSwiftMigration = 1020;
131 | ProvisioningStyle = Automatic;
132 | };
133 | };
134 | };
135 | buildConfigurationList = CF2B734A1EAE8A7E009056D2 /* Build configuration list for PBXProject "LUAutocompleteViewExample" */;
136 | compatibilityVersion = "Xcode 14.0";
137 | developmentRegion = en;
138 | hasScannedForEncodings = 0;
139 | knownRegions = (
140 | en,
141 | Base,
142 | );
143 | mainGroup = CF2B73461EAE8A7E009056D2;
144 | productRefGroup = CF2B73501EAE8A7E009056D2 /* Products */;
145 | projectDirPath = "";
146 | projectRoot = "";
147 | targets = (
148 | CF2B734E1EAE8A7E009056D2 /* LUAutocompleteViewExample */,
149 | );
150 | };
151 | /* End PBXProject section */
152 |
153 | /* Begin PBXResourcesBuildPhase section */
154 | CF2B734D1EAE8A7E009056D2 /* Resources */ = {
155 | isa = PBXResourcesBuildPhase;
156 | buildActionMask = 2147483647;
157 | files = (
158 | CF2B735D1EAE8A7E009056D2 /* LaunchScreen.storyboard in Resources */,
159 | CF2B735A1EAE8A7E009056D2 /* Assets.xcassets in Resources */,
160 | CF2B73581EAE8A7E009056D2 /* Main.storyboard in Resources */,
161 | );
162 | runOnlyForDeploymentPostprocessing = 0;
163 | };
164 | /* End PBXResourcesBuildPhase section */
165 |
166 | /* Begin PBXShellScriptBuildPhase section */
167 | 6BF85B7D76F3C6B405ED1367 /* [CP] Embed Pods Frameworks */ = {
168 | isa = PBXShellScriptBuildPhase;
169 | buildActionMask = 2147483647;
170 | files = (
171 | );
172 | inputFileListPaths = (
173 | "${PODS_ROOT}/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
174 | );
175 | name = "[CP] Embed Pods Frameworks";
176 | outputFileListPaths = (
177 | "${PODS_ROOT}/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
178 | );
179 | runOnlyForDeploymentPostprocessing = 0;
180 | shellPath = /bin/sh;
181 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks.sh\"\n";
182 | showEnvVarsInLog = 0;
183 | };
184 | AA905CB548A1D8BDBE27CB62 /* [CP] Check Pods Manifest.lock */ = {
185 | isa = PBXShellScriptBuildPhase;
186 | buildActionMask = 2147483647;
187 | files = (
188 | );
189 | inputFileListPaths = (
190 | );
191 | inputPaths = (
192 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
193 | "${PODS_ROOT}/Manifest.lock",
194 | );
195 | name = "[CP] Check Pods Manifest.lock";
196 | outputFileListPaths = (
197 | );
198 | outputPaths = (
199 | "$(DERIVED_FILE_DIR)/Pods-LUAutocompleteViewExample-checkManifestLockResult.txt",
200 | );
201 | runOnlyForDeploymentPostprocessing = 0;
202 | shellPath = /bin/sh;
203 | 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";
204 | showEnvVarsInLog = 0;
205 | };
206 | /* End PBXShellScriptBuildPhase section */
207 |
208 | /* Begin PBXSourcesBuildPhase section */
209 | CF2B734B1EAE8A7E009056D2 /* Sources */ = {
210 | isa = PBXSourcesBuildPhase;
211 | buildActionMask = 2147483647;
212 | files = (
213 | CF9218171EAF63B300D754B0 /* CustomAutocompleteTableViewCell.swift in Sources */,
214 | CF2B73551EAE8A7E009056D2 /* ViewController.swift in Sources */,
215 | CF2B73531EAE8A7E009056D2 /* AppDelegate.swift in Sources */,
216 | );
217 | runOnlyForDeploymentPostprocessing = 0;
218 | };
219 | /* End PBXSourcesBuildPhase section */
220 |
221 | /* Begin PBXVariantGroup section */
222 | CF2B73561EAE8A7E009056D2 /* Main.storyboard */ = {
223 | isa = PBXVariantGroup;
224 | children = (
225 | CF2B73571EAE8A7E009056D2 /* Base */,
226 | );
227 | name = Main.storyboard;
228 | sourceTree = "";
229 | };
230 | CF2B735B1EAE8A7E009056D2 /* LaunchScreen.storyboard */ = {
231 | isa = PBXVariantGroup;
232 | children = (
233 | CF2B735C1EAE8A7E009056D2 /* Base */,
234 | );
235 | name = LaunchScreen.storyboard;
236 | sourceTree = "";
237 | };
238 | /* End PBXVariantGroup section */
239 |
240 | /* Begin XCBuildConfiguration section */
241 | CF2B735F1EAE8A7E009056D2 /* Debug */ = {
242 | isa = XCBuildConfiguration;
243 | buildSettings = {
244 | ALWAYS_SEARCH_USER_PATHS = NO;
245 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
246 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
247 | CLANG_ANALYZER_NONNULL = YES;
248 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
249 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
250 | CLANG_CXX_LIBRARY = "libc++";
251 | CLANG_ENABLE_MODULES = YES;
252 | CLANG_ENABLE_OBJC_ARC = YES;
253 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
254 | CLANG_WARN_BOOL_CONVERSION = YES;
255 | CLANG_WARN_COMMA = YES;
256 | CLANG_WARN_CONSTANT_CONVERSION = YES;
257 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
258 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
259 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
260 | CLANG_WARN_EMPTY_BODY = YES;
261 | CLANG_WARN_ENUM_CONVERSION = YES;
262 | CLANG_WARN_INFINITE_RECURSION = YES;
263 | CLANG_WARN_INT_CONVERSION = YES;
264 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
265 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
266 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
267 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
268 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
269 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
270 | CLANG_WARN_STRICT_PROTOTYPES = YES;
271 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
272 | CLANG_WARN_UNREACHABLE_CODE = YES;
273 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
274 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
275 | COPY_PHASE_STRIP = NO;
276 | DEBUG_INFORMATION_FORMAT = dwarf;
277 | ENABLE_STRICT_OBJC_MSGSEND = YES;
278 | ENABLE_TESTABILITY = YES;
279 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
280 | GCC_C_LANGUAGE_STANDARD = gnu99;
281 | GCC_DYNAMIC_NO_PIC = NO;
282 | GCC_NO_COMMON_BLOCKS = YES;
283 | GCC_OPTIMIZATION_LEVEL = 0;
284 | GCC_PREPROCESSOR_DEFINITIONS = (
285 | "DEBUG=1",
286 | "$(inherited)",
287 | );
288 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
289 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
290 | GCC_WARN_UNDECLARED_SELECTOR = YES;
291 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
292 | GCC_WARN_UNUSED_FUNCTION = YES;
293 | GCC_WARN_UNUSED_VARIABLE = YES;
294 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
295 | MTL_ENABLE_DEBUG_INFO = YES;
296 | ONLY_ACTIVE_ARCH = YES;
297 | SDKROOT = iphoneos;
298 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
299 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
300 | SWIFT_VERSION = 4.2;
301 | TARGETED_DEVICE_FAMILY = "1,2";
302 | };
303 | name = Debug;
304 | };
305 | CF2B73601EAE8A7E009056D2 /* Release */ = {
306 | isa = XCBuildConfiguration;
307 | buildSettings = {
308 | ALWAYS_SEARCH_USER_PATHS = NO;
309 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
310 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
311 | CLANG_ANALYZER_NONNULL = YES;
312 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
313 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
314 | CLANG_CXX_LIBRARY = "libc++";
315 | CLANG_ENABLE_MODULES = YES;
316 | CLANG_ENABLE_OBJC_ARC = YES;
317 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
318 | CLANG_WARN_BOOL_CONVERSION = YES;
319 | CLANG_WARN_COMMA = YES;
320 | CLANG_WARN_CONSTANT_CONVERSION = YES;
321 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
322 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
323 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
324 | CLANG_WARN_EMPTY_BODY = YES;
325 | CLANG_WARN_ENUM_CONVERSION = YES;
326 | CLANG_WARN_INFINITE_RECURSION = YES;
327 | CLANG_WARN_INT_CONVERSION = YES;
328 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
329 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
330 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
331 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
332 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
333 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
334 | CLANG_WARN_STRICT_PROTOTYPES = YES;
335 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
336 | CLANG_WARN_UNREACHABLE_CODE = YES;
337 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
338 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
339 | COPY_PHASE_STRIP = NO;
340 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
341 | ENABLE_NS_ASSERTIONS = NO;
342 | ENABLE_STRICT_OBJC_MSGSEND = YES;
343 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
344 | GCC_C_LANGUAGE_STANDARD = gnu99;
345 | GCC_NO_COMMON_BLOCKS = YES;
346 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
347 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
348 | GCC_WARN_UNDECLARED_SELECTOR = YES;
349 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
350 | GCC_WARN_UNUSED_FUNCTION = YES;
351 | GCC_WARN_UNUSED_VARIABLE = YES;
352 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
353 | MTL_ENABLE_DEBUG_INFO = NO;
354 | SDKROOT = iphoneos;
355 | SWIFT_COMPILATION_MODE = wholemodule;
356 | SWIFT_OPTIMIZATION_LEVEL = "-O";
357 | SWIFT_VERSION = 4.2;
358 | TARGETED_DEVICE_FAMILY = "1,2";
359 | VALIDATE_PRODUCT = YES;
360 | };
361 | name = Release;
362 | };
363 | CF2B73621EAE8A7E009056D2 /* Debug */ = {
364 | isa = XCBuildConfiguration;
365 | baseConfigurationReference = 20BE2DE0E155D4CF2C477078 /* Pods-LUAutocompleteViewExample.debug.xcconfig */;
366 | buildSettings = {
367 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
368 | DEVELOPMENT_TEAM = "";
369 | ENABLE_USER_SCRIPT_SANDBOXING = NO;
370 | INFOPLIST_FILE = LUAutocompleteViewExample/Info.plist;
371 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
372 | LD_RUNPATH_SEARCH_PATHS = (
373 | "$(inherited)",
374 | "@executable_path/Frameworks",
375 | );
376 | OTHER_LDFLAGS = "$(inherited)";
377 | PRODUCT_BUNDLE_IDENTIFIER = LU.LUAutocompleteViewExample;
378 | PRODUCT_NAME = "$(TARGET_NAME)";
379 | SWIFT_VERSION = 5.0;
380 | };
381 | name = Debug;
382 | };
383 | CF2B73631EAE8A7E009056D2 /* Release */ = {
384 | isa = XCBuildConfiguration;
385 | baseConfigurationReference = D9E51CCCBD3A5F6C4B93C781 /* Pods-LUAutocompleteViewExample.release.xcconfig */;
386 | buildSettings = {
387 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
388 | DEVELOPMENT_TEAM = "";
389 | ENABLE_USER_SCRIPT_SANDBOXING = NO;
390 | INFOPLIST_FILE = LUAutocompleteViewExample/Info.plist;
391 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
392 | LD_RUNPATH_SEARCH_PATHS = (
393 | "$(inherited)",
394 | "@executable_path/Frameworks",
395 | );
396 | OTHER_LDFLAGS = "$(inherited)";
397 | PRODUCT_BUNDLE_IDENTIFIER = LU.LUAutocompleteViewExample;
398 | PRODUCT_NAME = "$(TARGET_NAME)";
399 | SWIFT_VERSION = 5.0;
400 | };
401 | name = Release;
402 | };
403 | /* End XCBuildConfiguration section */
404 |
405 | /* Begin XCConfigurationList section */
406 | CF2B734A1EAE8A7E009056D2 /* Build configuration list for PBXProject "LUAutocompleteViewExample" */ = {
407 | isa = XCConfigurationList;
408 | buildConfigurations = (
409 | CF2B735F1EAE8A7E009056D2 /* Debug */,
410 | CF2B73601EAE8A7E009056D2 /* Release */,
411 | );
412 | defaultConfigurationIsVisible = 0;
413 | defaultConfigurationName = Release;
414 | };
415 | CF2B73611EAE8A7E009056D2 /* Build configuration list for PBXNativeTarget "LUAutocompleteViewExample" */ = {
416 | isa = XCConfigurationList;
417 | buildConfigurations = (
418 | CF2B73621EAE8A7E009056D2 /* Debug */,
419 | CF2B73631EAE8A7E009056D2 /* Release */,
420 | );
421 | defaultConfigurationIsVisible = 0;
422 | defaultConfigurationName = Release;
423 | };
424 | /* End XCConfigurationList section */
425 | };
426 | rootObject = CF2B73471EAE8A7E009056D2 /* Project object */;
427 | }
428 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample.xcodeproj/xcshareddata/xcschemes/LUAutocompleteViewExample.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
67 |
68 |
69 |
70 |
76 |
78 |
84 |
85 |
86 |
87 |
89 |
90 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // LUAutocompleteViewExample
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
24 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "icon.png",
5 | "idiom" : "universal",
6 | "platform" : "ios",
7 | "size" : "1024x1024"
8 | }
9 | ],
10 | "info" : {
11 | "author" : "xcode",
12 | "version" : 1
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/Assets.xcassets/AppIcon.appiconset/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LaurentiuUngur/LUAutocompleteView/4d7052a058a46bfce6711a8475ca1da576230a1b/LUAutocompleteViewExample/LUAutocompleteViewExample/Assets.xcassets/AppIcon.appiconset/icon.png
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/CustomAutocompleteTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomAutocompleteTableViewCell.swift
3 | // LUAutocompleteViewExample
4 | //
5 | // Created by Laurentiu Ungur on 25/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LUAutocompleteView
11 |
12 | final class CustomAutocompleteTableViewCell: LUAutocompleteTableViewCell {
13 | // MARK: - Base Class Overrides
14 |
15 | override func set(text: String) {
16 | textLabel?.text = text
17 | textLabel?.textColor = .red
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/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 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | UILaunchStoryboardName
24 | LaunchScreen
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationLandscapeLeft
34 | UIInterfaceOrientationLandscapeRight
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationPortraitUpsideDown
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/LUAutocompleteViewExample/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // LUAutocompleteViewExample
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LUAutocompleteView
11 |
12 | final class ViewController: UIViewController {
13 | // MARK: - Properties
14 |
15 | @IBOutlet weak var textField: UITextField!
16 | private let autocompleteView = LUAutocompleteView()
17 |
18 | private let elements = (1...100).map { "\($0)" }
19 |
20 | // MARK: - ViewController
21 |
22 | override func viewDidLoad() {
23 | super.viewDidLoad()
24 |
25 | view.addSubview(autocompleteView)
26 |
27 | autocompleteView.textField = textField
28 | autocompleteView.dataSource = self
29 | autocompleteView.delegate = self
30 |
31 | // Customisation
32 |
33 | autocompleteView.rowHeight = 45
34 | //autocompleteView.autocompleteCell = CustomAutocompleteTableViewCell.self // Uncomment this line in order to use customised autocomplete cell
35 | }
36 | }
37 |
38 | // MARK: - LUAutocompleteViewDataSource
39 |
40 | extension ViewController: LUAutocompleteViewDataSource {
41 | func autocompleteView(_ autocompleteView: LUAutocompleteView, elementsFor text: String, completion: @escaping ([String]) -> Void) {
42 | let elementsThatMatchInput = elements.filter { $0.lowercased().contains(text.lowercased()) }
43 | completion(elementsThatMatchInput)
44 | }
45 | }
46 |
47 | // MARK: - LUAutocompleteViewDelegate
48 |
49 | extension ViewController: LUAutocompleteViewDelegate {
50 | func autocompleteView(_ autocompleteView: LUAutocompleteView, didSelect text: String) {
51 | print(text + " was selected from autocomplete view")
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '13.0'
3 |
4 | use_frameworks!
5 | inhibit_all_warnings!
6 |
7 | target :LUAutocompleteViewExample do
8 | pod 'LUAutocompleteView', :path => '../'
9 |
10 | end
11 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LUAutocompleteView (5.0.0)
3 |
4 | DEPENDENCIES:
5 | - LUAutocompleteView (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | LUAutocompleteView:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | LUAutocompleteView: 21168e5c0dbc9a221ae3954e2290356952d5223c
13 |
14 | PODFILE CHECKSUM: 149885d1c14c9ba2b87f02070b097c9e2d9014ad
15 |
16 | COCOAPODS: 1.13.0
17 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Local Podspecs/LUAutocompleteView.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "LUAutocompleteView",
3 | "version": "5.0.0",
4 | "summary": "Highly configurable autocomplete view that is attachable to any UITextField",
5 | "description": "Easy to use and highly configurable autocomplete view that is attachable to any UITextField",
6 | "homepage": "https://github.com/LaurentiuUngur/LUAutocompleteView",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "source": {
12 | "git": "https://github.com/LaurentiuUngur/LUAutocompleteView.git",
13 | "tag": "5.0.0"
14 | },
15 | "authors": {
16 | "Laurentiu Ungur": "laurentyu1995@gmail.com"
17 | },
18 | "requires_arc": true,
19 | "platforms": {
20 | "ios": "13.0"
21 | },
22 | "swift_versions": "5.9",
23 | "source_files": "Sources/*.{swift}",
24 | "preserve_paths": "README*",
25 | "swift_version": "5.9"
26 | }
27 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LUAutocompleteView (5.0.0)
3 |
4 | DEPENDENCIES:
5 | - LUAutocompleteView (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | LUAutocompleteView:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | LUAutocompleteView: 21168e5c0dbc9a221ae3954e2290356952d5223c
13 |
14 | PODFILE CHECKSUM: 149885d1c14c9ba2b87f02070b097c9e2d9014ad
15 |
16 | COCOAPODS: 1.13.0
17 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Pods.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 56;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 263654B6FCA3A0EA2D01C88841FAD6A5 /* LUAutocompleteViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894E3BD05B0CACD33244E9E74A03CE3F /* LUAutocompleteViewDataSource.swift */; };
11 | 4C7D8C4F35D6E41C059E738EDE7461F6 /* LUAutocompleteTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F98C9741B8A8BA2F9BDA048A3318716F /* LUAutocompleteTableViewCell.swift */; };
12 | 5D406EF80AD23B9DC584D3AE0EA3E267 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
13 | 9D03AE3673174B5E24A367C79D01CDE6 /* Pods-LUAutocompleteViewExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 151261A9582E5C3BD335B93EA7E4ED10 /* Pods-LUAutocompleteViewExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
14 | AB17C0DA0338D948CABA8D260EA42CCE /* LUAutocompleteView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 133B1D5285671C1E3864B3DA878CC591 /* LUAutocompleteView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
15 | B323D2D4F359926B0A3991741C1BA4FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
16 | B64B55007A661046E644E464E3087645 /* LUAutocompleteViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB7557A71070282DBCA36CEF4062F16B /* LUAutocompleteViewDelegate.swift */; };
17 | E2CAF78DD5DA726D63029166B3B3308A /* LUAutocompleteView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 04845D5C68B05D98150A49681A9FA095 /* LUAutocompleteView-dummy.m */; };
18 | F95A5C006843BE8B012C5D88429844F5 /* Pods-LUAutocompleteViewExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 020D8A5986C9A8CC318A3090A7724FB9 /* Pods-LUAutocompleteViewExample-dummy.m */; };
19 | FD77D5470C08E070464E6D6537DD7584 /* LUAutocompleteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B7D1BB3F1E57924D91790973F444E7 /* LUAutocompleteView.swift */; };
20 | /* End PBXBuildFile section */
21 |
22 | /* Begin PBXContainerItemProxy section */
23 | 3A4DE88806A0F1C00031D2DB5F8A7F22 /* PBXContainerItemProxy */ = {
24 | isa = PBXContainerItemProxy;
25 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
26 | proxyType = 1;
27 | remoteGlobalIDString = E4C0FDBB189B4414E470E71EA230DC19;
28 | remoteInfo = LUAutocompleteView;
29 | };
30 | /* End PBXContainerItemProxy section */
31 |
32 | /* Begin PBXFileReference section */
33 | 020D8A5986C9A8CC318A3090A7724FB9 /* Pods-LUAutocompleteViewExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LUAutocompleteViewExample-dummy.m"; sourceTree = ""; };
34 | 04845D5C68B05D98150A49681A9FA095 /* LUAutocompleteView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LUAutocompleteView-dummy.m"; sourceTree = ""; };
35 | 0BC6CB5D77B2A09286C30CB1D9248A3D /* LUAutocompleteView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LUAutocompleteView.modulemap; sourceTree = ""; };
36 | 133B1D5285671C1E3864B3DA878CC591 /* LUAutocompleteView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LUAutocompleteView-umbrella.h"; sourceTree = ""; };
37 | 151261A9582E5C3BD335B93EA7E4ED10 /* Pods-LUAutocompleteViewExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LUAutocompleteViewExample-umbrella.h"; sourceTree = ""; };
38 | 28379E6529EA750845B10D607B446A03 /* Pods-LUAutocompleteViewExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LUAutocompleteViewExample.modulemap"; sourceTree = ""; };
39 | 306C6CA1760A4A9034BEDA51059B80C2 /* Pods-LUAutocompleteViewExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LUAutocompleteViewExample-acknowledgements.markdown"; sourceTree = ""; };
40 | 56D6E13C7A826EEB5788CC6CF29E14F0 /* LUAutocompleteView */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LUAutocompleteView; path = LUAutocompleteView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 5B5E5ECCF56EE565C288D4E0014C31A4 /* Pods-LUAutocompleteViewExample */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-LUAutocompleteViewExample"; path = Pods_LUAutocompleteViewExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
42 | 68A4D5889264DF021C841E570741A02D /* Pods-LUAutocompleteViewExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LUAutocompleteViewExample-acknowledgements.plist"; sourceTree = ""; };
43 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
44 | 7896C9656C443D249AA518A28D4141B6 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
45 | 83B79542385090739F96B664FB209901 /* Pods-LUAutocompleteViewExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LUAutocompleteViewExample.release.xcconfig"; sourceTree = ""; };
46 | 88B7D1BB3F1E57924D91790973F444E7 /* LUAutocompleteView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LUAutocompleteView.swift; path = Sources/LUAutocompleteView.swift; sourceTree = ""; };
47 | 893EBDE7BB40E9DD5FE605979E215AA4 /* LUAutocompleteView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LUAutocompleteView.debug.xcconfig; sourceTree = ""; };
48 | 894E3BD05B0CACD33244E9E74A03CE3F /* LUAutocompleteViewDataSource.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LUAutocompleteViewDataSource.swift; path = Sources/LUAutocompleteViewDataSource.swift; sourceTree = ""; };
49 | 95C248512E2C866654F66C29293DCEEC /* LUAutocompleteView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LUAutocompleteView-prefix.pch"; sourceTree = ""; };
50 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
51 | CB952C765BD51537D98F035AE83C1182 /* LUAutocompleteView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = LUAutocompleteView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
52 | DA0ED6FF4CEA7BF141D0D031B9C509A4 /* Pods-LUAutocompleteViewExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LUAutocompleteViewExample-frameworks.sh"; sourceTree = ""; };
53 | DB8BB8DC41E8D3AF156F6669754EE782 /* LUAutocompleteView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LUAutocompleteView.release.xcconfig; sourceTree = ""; };
54 | EDFEC4E0B6D2D9DAFA57EBA756F4C5FD /* LUAutocompleteView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LUAutocompleteView-Info.plist"; sourceTree = ""; };
55 | F0596219B5CD39090060223FB6AFAE56 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
56 | F2956BAD98FE1047B37AF6DF64C840B2 /* Pods-LUAutocompleteViewExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LUAutocompleteViewExample.debug.xcconfig"; sourceTree = ""; };
57 | F7284DDD15700D174D493E387DE876D6 /* Pods-LUAutocompleteViewExample-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LUAutocompleteViewExample-Info.plist"; sourceTree = ""; };
58 | F98C9741B8A8BA2F9BDA048A3318716F /* LUAutocompleteTableViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LUAutocompleteTableViewCell.swift; path = Sources/LUAutocompleteTableViewCell.swift; sourceTree = ""; };
59 | FB7557A71070282DBCA36CEF4062F16B /* LUAutocompleteViewDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LUAutocompleteViewDelegate.swift; path = Sources/LUAutocompleteViewDelegate.swift; sourceTree = ""; };
60 | /* End PBXFileReference section */
61 |
62 | /* Begin PBXFrameworksBuildPhase section */
63 | 70F98F89C2BE1A724536B6C52A3DAF20 /* Frameworks */ = {
64 | isa = PBXFrameworksBuildPhase;
65 | buildActionMask = 2147483647;
66 | files = (
67 | B323D2D4F359926B0A3991741C1BA4FE /* Foundation.framework in Frameworks */,
68 | );
69 | runOnlyForDeploymentPostprocessing = 0;
70 | };
71 | 9D1CFE593965ECD0BD72C661EB560630 /* Frameworks */ = {
72 | isa = PBXFrameworksBuildPhase;
73 | buildActionMask = 2147483647;
74 | files = (
75 | 5D406EF80AD23B9DC584D3AE0EA3E267 /* Foundation.framework in Frameworks */,
76 | );
77 | runOnlyForDeploymentPostprocessing = 0;
78 | };
79 | /* End PBXFrameworksBuildPhase section */
80 |
81 | /* Begin PBXGroup section */
82 | 15A2CDEEAC5D334EACF532691B44AF81 /* Products */ = {
83 | isa = PBXGroup;
84 | children = (
85 | 56D6E13C7A826EEB5788CC6CF29E14F0 /* LUAutocompleteView */,
86 | 5B5E5ECCF56EE565C288D4E0014C31A4 /* Pods-LUAutocompleteViewExample */,
87 | );
88 | name = Products;
89 | sourceTree = "";
90 | };
91 | 1EA3DEEF967D2BE0C989839EA9668568 /* Support Files */ = {
92 | isa = PBXGroup;
93 | children = (
94 | 0BC6CB5D77B2A09286C30CB1D9248A3D /* LUAutocompleteView.modulemap */,
95 | 04845D5C68B05D98150A49681A9FA095 /* LUAutocompleteView-dummy.m */,
96 | EDFEC4E0B6D2D9DAFA57EBA756F4C5FD /* LUAutocompleteView-Info.plist */,
97 | 95C248512E2C866654F66C29293DCEEC /* LUAutocompleteView-prefix.pch */,
98 | 133B1D5285671C1E3864B3DA878CC591 /* LUAutocompleteView-umbrella.h */,
99 | 893EBDE7BB40E9DD5FE605979E215AA4 /* LUAutocompleteView.debug.xcconfig */,
100 | DB8BB8DC41E8D3AF156F6669754EE782 /* LUAutocompleteView.release.xcconfig */,
101 | );
102 | name = "Support Files";
103 | path = "LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView";
104 | sourceTree = "";
105 | };
106 | 272FB5DCF88B81132D491F6A07832503 /* Pods-LUAutocompleteViewExample */ = {
107 | isa = PBXGroup;
108 | children = (
109 | 28379E6529EA750845B10D607B446A03 /* Pods-LUAutocompleteViewExample.modulemap */,
110 | 306C6CA1760A4A9034BEDA51059B80C2 /* Pods-LUAutocompleteViewExample-acknowledgements.markdown */,
111 | 68A4D5889264DF021C841E570741A02D /* Pods-LUAutocompleteViewExample-acknowledgements.plist */,
112 | 020D8A5986C9A8CC318A3090A7724FB9 /* Pods-LUAutocompleteViewExample-dummy.m */,
113 | DA0ED6FF4CEA7BF141D0D031B9C509A4 /* Pods-LUAutocompleteViewExample-frameworks.sh */,
114 | F7284DDD15700D174D493E387DE876D6 /* Pods-LUAutocompleteViewExample-Info.plist */,
115 | 151261A9582E5C3BD335B93EA7E4ED10 /* Pods-LUAutocompleteViewExample-umbrella.h */,
116 | F2956BAD98FE1047B37AF6DF64C840B2 /* Pods-LUAutocompleteViewExample.debug.xcconfig */,
117 | 83B79542385090739F96B664FB209901 /* Pods-LUAutocompleteViewExample.release.xcconfig */,
118 | );
119 | name = "Pods-LUAutocompleteViewExample";
120 | path = "Target Support Files/Pods-LUAutocompleteViewExample";
121 | sourceTree = "";
122 | };
123 | 2A38D7EA2DF205AA78E7AD7775C58083 /* LUAutocompleteView */ = {
124 | isa = PBXGroup;
125 | children = (
126 | F98C9741B8A8BA2F9BDA048A3318716F /* LUAutocompleteTableViewCell.swift */,
127 | 88B7D1BB3F1E57924D91790973F444E7 /* LUAutocompleteView.swift */,
128 | 894E3BD05B0CACD33244E9E74A03CE3F /* LUAutocompleteViewDataSource.swift */,
129 | FB7557A71070282DBCA36CEF4062F16B /* LUAutocompleteViewDelegate.swift */,
130 | B7D6B9DDC873891FBF4173DBA4E6E660 /* Pod */,
131 | 1EA3DEEF967D2BE0C989839EA9668568 /* Support Files */,
132 | );
133 | name = LUAutocompleteView;
134 | path = ../..;
135 | sourceTree = "";
136 | };
137 | 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
138 | isa = PBXGroup;
139 | children = (
140 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
141 | );
142 | name = iOS;
143 | sourceTree = "";
144 | };
145 | A27D82DF6167A13E962F2D2FDAD177BF /* Targets Support Files */ = {
146 | isa = PBXGroup;
147 | children = (
148 | 272FB5DCF88B81132D491F6A07832503 /* Pods-LUAutocompleteViewExample */,
149 | );
150 | name = "Targets Support Files";
151 | sourceTree = "";
152 | };
153 | B7D6B9DDC873891FBF4173DBA4E6E660 /* Pod */ = {
154 | isa = PBXGroup;
155 | children = (
156 | 7896C9656C443D249AA518A28D4141B6 /* LICENSE */,
157 | CB952C765BD51537D98F035AE83C1182 /* LUAutocompleteView.podspec */,
158 | F0596219B5CD39090060223FB6AFAE56 /* README.md */,
159 | );
160 | name = Pod;
161 | sourceTree = "";
162 | };
163 | CF1408CF629C7361332E53B88F7BD30C = {
164 | isa = PBXGroup;
165 | children = (
166 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
167 | FDC1432117B696848CBE7ED957A919EE /* Development Pods */,
168 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
169 | 15A2CDEEAC5D334EACF532691B44AF81 /* Products */,
170 | A27D82DF6167A13E962F2D2FDAD177BF /* Targets Support Files */,
171 | );
172 | sourceTree = "";
173 | };
174 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
175 | isa = PBXGroup;
176 | children = (
177 | 578452D2E740E91742655AC8F1636D1F /* iOS */,
178 | );
179 | name = Frameworks;
180 | sourceTree = "";
181 | };
182 | FDC1432117B696848CBE7ED957A919EE /* Development Pods */ = {
183 | isa = PBXGroup;
184 | children = (
185 | 2A38D7EA2DF205AA78E7AD7775C58083 /* LUAutocompleteView */,
186 | );
187 | name = "Development Pods";
188 | sourceTree = "";
189 | };
190 | /* End PBXGroup section */
191 |
192 | /* Begin PBXHeadersBuildPhase section */
193 | A4E576FA78230F30553720242EA98225 /* Headers */ = {
194 | isa = PBXHeadersBuildPhase;
195 | buildActionMask = 2147483647;
196 | files = (
197 | 9D03AE3673174B5E24A367C79D01CDE6 /* Pods-LUAutocompleteViewExample-umbrella.h in Headers */,
198 | );
199 | runOnlyForDeploymentPostprocessing = 0;
200 | };
201 | F65951DC13370A13EFB54077F9420CF9 /* Headers */ = {
202 | isa = PBXHeadersBuildPhase;
203 | buildActionMask = 2147483647;
204 | files = (
205 | AB17C0DA0338D948CABA8D260EA42CCE /* LUAutocompleteView-umbrella.h in Headers */,
206 | );
207 | runOnlyForDeploymentPostprocessing = 0;
208 | };
209 | /* End PBXHeadersBuildPhase section */
210 |
211 | /* Begin PBXNativeTarget section */
212 | A350EB0FD68534451F44E40A89FB1B52 /* Pods-LUAutocompleteViewExample */ = {
213 | isa = PBXNativeTarget;
214 | buildConfigurationList = 8073AF0C765D38B96D0B3618435DAFA3 /* Build configuration list for PBXNativeTarget "Pods-LUAutocompleteViewExample" */;
215 | buildPhases = (
216 | A4E576FA78230F30553720242EA98225 /* Headers */,
217 | CBECF316D90EE730626D71C62351AE7A /* Sources */,
218 | 70F98F89C2BE1A724536B6C52A3DAF20 /* Frameworks */,
219 | E879B8525163F932F5497694FE0273C1 /* Resources */,
220 | );
221 | buildRules = (
222 | );
223 | dependencies = (
224 | E7D7CA89DC93A8DD348B724C3B6CF2DB /* PBXTargetDependency */,
225 | );
226 | name = "Pods-LUAutocompleteViewExample";
227 | productName = Pods_LUAutocompleteViewExample;
228 | productReference = 5B5E5ECCF56EE565C288D4E0014C31A4 /* Pods-LUAutocompleteViewExample */;
229 | productType = "com.apple.product-type.framework";
230 | };
231 | E4C0FDBB189B4414E470E71EA230DC19 /* LUAutocompleteView */ = {
232 | isa = PBXNativeTarget;
233 | buildConfigurationList = FF029DABAC6828BBA632E013B87B42C2 /* Build configuration list for PBXNativeTarget "LUAutocompleteView" */;
234 | buildPhases = (
235 | F65951DC13370A13EFB54077F9420CF9 /* Headers */,
236 | 2BE89B3B703CE62EF134CC186BB32F8A /* Sources */,
237 | 9D1CFE593965ECD0BD72C661EB560630 /* Frameworks */,
238 | 6E74499E33FC3CA7B50535F1FB2B87A6 /* Resources */,
239 | );
240 | buildRules = (
241 | );
242 | dependencies = (
243 | );
244 | name = LUAutocompleteView;
245 | productName = LUAutocompleteView;
246 | productReference = 56D6E13C7A826EEB5788CC6CF29E14F0 /* LUAutocompleteView */;
247 | productType = "com.apple.product-type.framework";
248 | };
249 | /* End PBXNativeTarget section */
250 |
251 | /* Begin PBXProject section */
252 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
253 | isa = PBXProject;
254 | attributes = {
255 | LastSwiftUpdateCheck = 1500;
256 | LastUpgradeCheck = 1500;
257 | };
258 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
259 | compatibilityVersion = "Xcode 14.0";
260 | developmentRegion = en;
261 | hasScannedForEncodings = 0;
262 | knownRegions = (
263 | Base,
264 | en,
265 | );
266 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
267 | productRefGroup = 15A2CDEEAC5D334EACF532691B44AF81 /* Products */;
268 | projectDirPath = "";
269 | projectRoot = "";
270 | targets = (
271 | E4C0FDBB189B4414E470E71EA230DC19 /* LUAutocompleteView */,
272 | A350EB0FD68534451F44E40A89FB1B52 /* Pods-LUAutocompleteViewExample */,
273 | );
274 | };
275 | /* End PBXProject section */
276 |
277 | /* Begin PBXResourcesBuildPhase section */
278 | 6E74499E33FC3CA7B50535F1FB2B87A6 /* Resources */ = {
279 | isa = PBXResourcesBuildPhase;
280 | buildActionMask = 2147483647;
281 | files = (
282 | );
283 | runOnlyForDeploymentPostprocessing = 0;
284 | };
285 | E879B8525163F932F5497694FE0273C1 /* Resources */ = {
286 | isa = PBXResourcesBuildPhase;
287 | buildActionMask = 2147483647;
288 | files = (
289 | );
290 | runOnlyForDeploymentPostprocessing = 0;
291 | };
292 | /* End PBXResourcesBuildPhase section */
293 |
294 | /* Begin PBXSourcesBuildPhase section */
295 | 2BE89B3B703CE62EF134CC186BB32F8A /* Sources */ = {
296 | isa = PBXSourcesBuildPhase;
297 | buildActionMask = 2147483647;
298 | files = (
299 | 4C7D8C4F35D6E41C059E738EDE7461F6 /* LUAutocompleteTableViewCell.swift in Sources */,
300 | FD77D5470C08E070464E6D6537DD7584 /* LUAutocompleteView.swift in Sources */,
301 | E2CAF78DD5DA726D63029166B3B3308A /* LUAutocompleteView-dummy.m in Sources */,
302 | 263654B6FCA3A0EA2D01C88841FAD6A5 /* LUAutocompleteViewDataSource.swift in Sources */,
303 | B64B55007A661046E644E464E3087645 /* LUAutocompleteViewDelegate.swift in Sources */,
304 | );
305 | runOnlyForDeploymentPostprocessing = 0;
306 | };
307 | CBECF316D90EE730626D71C62351AE7A /* Sources */ = {
308 | isa = PBXSourcesBuildPhase;
309 | buildActionMask = 2147483647;
310 | files = (
311 | F95A5C006843BE8B012C5D88429844F5 /* Pods-LUAutocompleteViewExample-dummy.m in Sources */,
312 | );
313 | runOnlyForDeploymentPostprocessing = 0;
314 | };
315 | /* End PBXSourcesBuildPhase section */
316 |
317 | /* Begin PBXTargetDependency section */
318 | E7D7CA89DC93A8DD348B724C3B6CF2DB /* PBXTargetDependency */ = {
319 | isa = PBXTargetDependency;
320 | name = LUAutocompleteView;
321 | target = E4C0FDBB189B4414E470E71EA230DC19 /* LUAutocompleteView */;
322 | targetProxy = 3A4DE88806A0F1C00031D2DB5F8A7F22 /* PBXContainerItemProxy */;
323 | };
324 | /* End PBXTargetDependency section */
325 |
326 | /* Begin XCBuildConfiguration section */
327 | 392F5D5B185C6A5AD3800BD8FC18D5BF /* Release */ = {
328 | isa = XCBuildConfiguration;
329 | baseConfigurationReference = DB8BB8DC41E8D3AF156F6669754EE782 /* LUAutocompleteView.release.xcconfig */;
330 | buildSettings = {
331 | CLANG_ENABLE_OBJC_WEAK = NO;
332 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
333 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
334 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
335 | CURRENT_PROJECT_VERSION = 1;
336 | DEFINES_MODULE = YES;
337 | DYLIB_COMPATIBILITY_VERSION = 1;
338 | DYLIB_CURRENT_VERSION = 1;
339 | DYLIB_INSTALL_NAME_BASE = "@rpath";
340 | GCC_PREFIX_HEADER = "Target Support Files/LUAutocompleteView/LUAutocompleteView-prefix.pch";
341 | INFOPLIST_FILE = "Target Support Files/LUAutocompleteView/LUAutocompleteView-Info.plist";
342 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
343 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
344 | LD_RUNPATH_SEARCH_PATHS = (
345 | "$(inherited)",
346 | "@executable_path/Frameworks",
347 | "@loader_path/Frameworks",
348 | );
349 | MODULEMAP_FILE = "Target Support Files/LUAutocompleteView/LUAutocompleteView.modulemap";
350 | PRODUCT_MODULE_NAME = LUAutocompleteView;
351 | PRODUCT_NAME = LUAutocompleteView;
352 | SDKROOT = iphoneos;
353 | SKIP_INSTALL = YES;
354 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
355 | SWIFT_VERSION = 5.9;
356 | TARGETED_DEVICE_FAMILY = "1,2";
357 | VALIDATE_PRODUCT = YES;
358 | VERSIONING_SYSTEM = "apple-generic";
359 | VERSION_INFO_PREFIX = "";
360 | };
361 | name = Release;
362 | };
363 | 3BAF6B1F22950ADD95B70CFAC31FD4F7 /* Release */ = {
364 | isa = XCBuildConfiguration;
365 | baseConfigurationReference = 83B79542385090739F96B664FB209901 /* Pods-LUAutocompleteViewExample.release.xcconfig */;
366 | buildSettings = {
367 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
368 | CLANG_ENABLE_OBJC_WEAK = NO;
369 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
370 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
371 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
372 | CURRENT_PROJECT_VERSION = 1;
373 | DEFINES_MODULE = YES;
374 | DYLIB_COMPATIBILITY_VERSION = 1;
375 | DYLIB_CURRENT_VERSION = 1;
376 | DYLIB_INSTALL_NAME_BASE = "@rpath";
377 | INFOPLIST_FILE = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-Info.plist";
378 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
379 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
380 | LD_RUNPATH_SEARCH_PATHS = (
381 | "$(inherited)",
382 | "@executable_path/Frameworks",
383 | "@loader_path/Frameworks",
384 | );
385 | MACH_O_TYPE = staticlib;
386 | MODULEMAP_FILE = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.modulemap";
387 | OTHER_LDFLAGS = "";
388 | OTHER_LIBTOOLFLAGS = "";
389 | PODS_ROOT = "$(SRCROOT)";
390 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
391 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
392 | SDKROOT = iphoneos;
393 | SKIP_INSTALL = YES;
394 | TARGETED_DEVICE_FAMILY = "1,2";
395 | VALIDATE_PRODUCT = YES;
396 | VERSIONING_SYSTEM = "apple-generic";
397 | VERSION_INFO_PREFIX = "";
398 | };
399 | name = Release;
400 | };
401 | 78B5930782CB5FB63553FD08126B163C /* Debug */ = {
402 | isa = XCBuildConfiguration;
403 | baseConfigurationReference = F2956BAD98FE1047B37AF6DF64C840B2 /* Pods-LUAutocompleteViewExample.debug.xcconfig */;
404 | buildSettings = {
405 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
406 | CLANG_ENABLE_OBJC_WEAK = NO;
407 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
408 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
409 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
410 | CURRENT_PROJECT_VERSION = 1;
411 | DEFINES_MODULE = YES;
412 | DYLIB_COMPATIBILITY_VERSION = 1;
413 | DYLIB_CURRENT_VERSION = 1;
414 | DYLIB_INSTALL_NAME_BASE = "@rpath";
415 | INFOPLIST_FILE = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-Info.plist";
416 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
417 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
418 | LD_RUNPATH_SEARCH_PATHS = (
419 | "$(inherited)",
420 | "@executable_path/Frameworks",
421 | "@loader_path/Frameworks",
422 | );
423 | MACH_O_TYPE = staticlib;
424 | MODULEMAP_FILE = "Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.modulemap";
425 | OTHER_LDFLAGS = "";
426 | OTHER_LIBTOOLFLAGS = "";
427 | PODS_ROOT = "$(SRCROOT)";
428 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
429 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
430 | SDKROOT = iphoneos;
431 | SKIP_INSTALL = YES;
432 | TARGETED_DEVICE_FAMILY = "1,2";
433 | VERSIONING_SYSTEM = "apple-generic";
434 | VERSION_INFO_PREFIX = "";
435 | };
436 | name = Debug;
437 | };
438 | 8BB41FC7A012A06E7E0E9DE195B08A76 /* Debug */ = {
439 | isa = XCBuildConfiguration;
440 | baseConfigurationReference = 893EBDE7BB40E9DD5FE605979E215AA4 /* LUAutocompleteView.debug.xcconfig */;
441 | buildSettings = {
442 | CLANG_ENABLE_OBJC_WEAK = NO;
443 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
444 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
445 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
446 | CURRENT_PROJECT_VERSION = 1;
447 | DEFINES_MODULE = YES;
448 | DYLIB_COMPATIBILITY_VERSION = 1;
449 | DYLIB_CURRENT_VERSION = 1;
450 | DYLIB_INSTALL_NAME_BASE = "@rpath";
451 | GCC_PREFIX_HEADER = "Target Support Files/LUAutocompleteView/LUAutocompleteView-prefix.pch";
452 | INFOPLIST_FILE = "Target Support Files/LUAutocompleteView/LUAutocompleteView-Info.plist";
453 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
454 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
455 | LD_RUNPATH_SEARCH_PATHS = (
456 | "$(inherited)",
457 | "@executable_path/Frameworks",
458 | "@loader_path/Frameworks",
459 | );
460 | MODULEMAP_FILE = "Target Support Files/LUAutocompleteView/LUAutocompleteView.modulemap";
461 | PRODUCT_MODULE_NAME = LUAutocompleteView;
462 | PRODUCT_NAME = LUAutocompleteView;
463 | SDKROOT = iphoneos;
464 | SKIP_INSTALL = YES;
465 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
466 | SWIFT_VERSION = 5.9;
467 | TARGETED_DEVICE_FAMILY = "1,2";
468 | VERSIONING_SYSTEM = "apple-generic";
469 | VERSION_INFO_PREFIX = "";
470 | };
471 | name = Debug;
472 | };
473 | 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = {
474 | isa = XCBuildConfiguration;
475 | buildSettings = {
476 | ALWAYS_SEARCH_USER_PATHS = NO;
477 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
478 | CLANG_ANALYZER_NONNULL = YES;
479 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
480 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
481 | CLANG_CXX_LIBRARY = "libc++";
482 | CLANG_ENABLE_MODULES = YES;
483 | CLANG_ENABLE_OBJC_ARC = YES;
484 | CLANG_ENABLE_OBJC_WEAK = YES;
485 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
486 | CLANG_WARN_BOOL_CONVERSION = YES;
487 | CLANG_WARN_COMMA = YES;
488 | CLANG_WARN_CONSTANT_CONVERSION = YES;
489 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
490 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
491 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
492 | CLANG_WARN_EMPTY_BODY = YES;
493 | CLANG_WARN_ENUM_CONVERSION = YES;
494 | CLANG_WARN_INFINITE_RECURSION = YES;
495 | CLANG_WARN_INT_CONVERSION = YES;
496 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
497 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
498 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
499 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
500 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
501 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
502 | CLANG_WARN_STRICT_PROTOTYPES = YES;
503 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
504 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
505 | CLANG_WARN_UNREACHABLE_CODE = YES;
506 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
507 | COPY_PHASE_STRIP = NO;
508 | DEBUG_INFORMATION_FORMAT = dwarf;
509 | ENABLE_STRICT_OBJC_MSGSEND = YES;
510 | ENABLE_TESTABILITY = YES;
511 | GCC_C_LANGUAGE_STANDARD = gnu11;
512 | GCC_DYNAMIC_NO_PIC = NO;
513 | GCC_NO_COMMON_BLOCKS = YES;
514 | GCC_OPTIMIZATION_LEVEL = 0;
515 | GCC_PREPROCESSOR_DEFINITIONS = (
516 | "POD_CONFIGURATION_DEBUG=1",
517 | "DEBUG=1",
518 | "$(inherited)",
519 | );
520 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
521 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
522 | GCC_WARN_UNDECLARED_SELECTOR = YES;
523 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
524 | GCC_WARN_UNUSED_FUNCTION = YES;
525 | GCC_WARN_UNUSED_VARIABLE = YES;
526 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
527 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
528 | MTL_FAST_MATH = YES;
529 | ONLY_ACTIVE_ARCH = YES;
530 | PRODUCT_NAME = "$(TARGET_NAME)";
531 | STRIP_INSTALLED_PRODUCT = NO;
532 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
533 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
534 | SWIFT_VERSION = 5.0;
535 | SYMROOT = "${SRCROOT}/../build";
536 | };
537 | name = Debug;
538 | };
539 | 9E406C6AAF85E580207CD97B0044DEAB /* Release */ = {
540 | isa = XCBuildConfiguration;
541 | buildSettings = {
542 | ALWAYS_SEARCH_USER_PATHS = NO;
543 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
544 | CLANG_ANALYZER_NONNULL = YES;
545 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
546 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
547 | CLANG_CXX_LIBRARY = "libc++";
548 | CLANG_ENABLE_MODULES = YES;
549 | CLANG_ENABLE_OBJC_ARC = YES;
550 | CLANG_ENABLE_OBJC_WEAK = YES;
551 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
552 | CLANG_WARN_BOOL_CONVERSION = YES;
553 | CLANG_WARN_COMMA = YES;
554 | CLANG_WARN_CONSTANT_CONVERSION = YES;
555 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
556 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
557 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
558 | CLANG_WARN_EMPTY_BODY = YES;
559 | CLANG_WARN_ENUM_CONVERSION = YES;
560 | CLANG_WARN_INFINITE_RECURSION = YES;
561 | CLANG_WARN_INT_CONVERSION = YES;
562 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
563 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
564 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
565 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
566 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
567 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
568 | CLANG_WARN_STRICT_PROTOTYPES = YES;
569 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
570 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
571 | CLANG_WARN_UNREACHABLE_CODE = YES;
572 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
573 | COPY_PHASE_STRIP = NO;
574 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
575 | ENABLE_NS_ASSERTIONS = NO;
576 | ENABLE_STRICT_OBJC_MSGSEND = YES;
577 | GCC_C_LANGUAGE_STANDARD = gnu11;
578 | GCC_NO_COMMON_BLOCKS = YES;
579 | GCC_PREPROCESSOR_DEFINITIONS = (
580 | "POD_CONFIGURATION_RELEASE=1",
581 | "$(inherited)",
582 | );
583 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
584 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
585 | GCC_WARN_UNDECLARED_SELECTOR = YES;
586 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
587 | GCC_WARN_UNUSED_FUNCTION = YES;
588 | GCC_WARN_UNUSED_VARIABLE = YES;
589 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
590 | MTL_ENABLE_DEBUG_INFO = NO;
591 | MTL_FAST_MATH = YES;
592 | PRODUCT_NAME = "$(TARGET_NAME)";
593 | STRIP_INSTALLED_PRODUCT = NO;
594 | SWIFT_COMPILATION_MODE = wholemodule;
595 | SWIFT_OPTIMIZATION_LEVEL = "-O";
596 | SWIFT_VERSION = 5.0;
597 | SYMROOT = "${SRCROOT}/../build";
598 | };
599 | name = Release;
600 | };
601 | /* End XCBuildConfiguration section */
602 |
603 | /* Begin XCConfigurationList section */
604 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
605 | isa = XCConfigurationList;
606 | buildConfigurations = (
607 | 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
608 | 9E406C6AAF85E580207CD97B0044DEAB /* Release */,
609 | );
610 | defaultConfigurationIsVisible = 0;
611 | defaultConfigurationName = Release;
612 | };
613 | 8073AF0C765D38B96D0B3618435DAFA3 /* Build configuration list for PBXNativeTarget "Pods-LUAutocompleteViewExample" */ = {
614 | isa = XCConfigurationList;
615 | buildConfigurations = (
616 | 78B5930782CB5FB63553FD08126B163C /* Debug */,
617 | 3BAF6B1F22950ADD95B70CFAC31FD4F7 /* Release */,
618 | );
619 | defaultConfigurationIsVisible = 0;
620 | defaultConfigurationName = Release;
621 | };
622 | FF029DABAC6828BBA632E013B87B42C2 /* Build configuration list for PBXNativeTarget "LUAutocompleteView" */ = {
623 | isa = XCConfigurationList;
624 | buildConfigurations = (
625 | 8BB41FC7A012A06E7E0E9DE195B08A76 /* Debug */,
626 | 392F5D5B185C6A5AD3800BD8FC18D5BF /* Release */,
627 | );
628 | defaultConfigurationIsVisible = 0;
629 | defaultConfigurationName = Release;
630 | };
631 | /* End XCConfigurationList section */
632 | };
633 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
634 | }
635 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_LUAutocompleteView : NSObject
3 | @end
4 | @implementation PodsDummy_LUAutocompleteView
5 | @end
6 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView-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 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView-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 LUAutocompleteViewVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char LUAutocompleteViewVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView.modulemap:
--------------------------------------------------------------------------------
1 | framework module LUAutocompleteView {
2 | umbrella header "LUAutocompleteView-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/LUAutocompleteView/LUAutocompleteView.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## LUAutocompleteView
5 |
6 | MIT License
7 |
8 | Copyright (c) 2023 Laurentiu
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in all
18 | copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 | Generated by CocoaPods - https://cocoapods.org
29 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | MIT License
18 |
19 | Copyright (c) 2023 Laurentiu
20 |
21 | Permission is hereby granted, free of charge, to any person obtaining a copy
22 | of this software and associated documentation files (the "Software"), to deal
23 | in the Software without restriction, including without limitation the rights
24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25 | copies of the Software, and to permit persons to whom the Software is
26 | furnished to do so, subject to the following conditions:
27 |
28 | The above copyright notice and this permission notice shall be included in all
29 | copies or substantial portions of the Software.
30 |
31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37 | SOFTWARE.
38 |
39 | License
40 | MIT
41 | Title
42 | LUAutocompleteView
43 | Type
44 | PSGroupSpecifier
45 |
46 |
47 | FooterText
48 | Generated by CocoaPods - https://cocoapods.org
49 | Title
50 |
51 | Type
52 | PSGroupSpecifier
53 |
54 |
55 | StringsTable
56 | Acknowledgements
57 | Title
58 | Acknowledgements
59 |
60 |
61 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LUAutocompleteViewExample : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LUAutocompleteViewExample
5 | @end
6 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/LUAutocompleteView/LUAutocompleteView.framework
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LUAutocompleteView.framework
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/LUAutocompleteView/LUAutocompleteView.framework
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LUAutocompleteView.framework
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 | BCSYMBOLMAP_DIR="BCSymbolMaps"
23 |
24 |
25 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
26 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
27 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
28 |
29 | # Copies and strips a vendored framework
30 | install_framework()
31 | {
32 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
33 | local source="${BUILT_PRODUCTS_DIR}/$1"
34 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
35 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
36 | elif [ -r "$1" ]; then
37 | local source="$1"
38 | fi
39 |
40 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
41 |
42 | if [ -L "${source}" ]; then
43 | echo "Symlinked..."
44 | source="$(readlink -f "${source}")"
45 | fi
46 |
47 | if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
48 | # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
49 | find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
50 | echo "Installing $f"
51 | install_bcsymbolmap "$f" "$destination"
52 | rm "$f"
53 | done
54 | rmdir "${source}/${BCSYMBOLMAP_DIR}"
55 | fi
56 |
57 | # Use filter instead of exclude so missing patterns don't throw errors.
58 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
59 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
60 |
61 | local basename
62 | basename="$(basename -s .framework "$1")"
63 | binary="${destination}/${basename}.framework/${basename}"
64 |
65 | if ! [ -r "$binary" ]; then
66 | binary="${destination}/${basename}"
67 | elif [ -L "${binary}" ]; then
68 | echo "Destination binary is symlinked..."
69 | dirname="$(dirname "${binary}")"
70 | binary="${dirname}/$(readlink "${binary}")"
71 | fi
72 |
73 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
74 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
75 | strip_invalid_archs "$binary"
76 | fi
77 |
78 | # Resign the code if required by the build settings to avoid unstable apps
79 | code_sign_if_enabled "${destination}/$(basename "$1")"
80 |
81 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
82 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
83 | local swift_runtime_libs
84 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
85 | for lib in $swift_runtime_libs; do
86 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
87 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
88 | code_sign_if_enabled "${destination}/${lib}"
89 | done
90 | fi
91 | }
92 | # Copies and strips a vendored dSYM
93 | install_dsym() {
94 | local source="$1"
95 | warn_missing_arch=${2:-true}
96 | if [ -r "$source" ]; then
97 | # Copy the dSYM into the targets temp dir.
98 | 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}\""
99 | 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}"
100 |
101 | local basename
102 | basename="$(basename -s .dSYM "$source")"
103 | binary_name="$(ls "$source/Contents/Resources/DWARF")"
104 | binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
105 |
106 | # Strip invalid architectures from the dSYM.
107 | if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
108 | strip_invalid_archs "$binary" "$warn_missing_arch"
109 | fi
110 | if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
111 | # Move the stripped file into its final destination.
112 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
113 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
114 | else
115 | # 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.
116 | mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
117 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
118 | fi
119 | fi
120 | }
121 |
122 | # Used as a return value for each invocation of `strip_invalid_archs` function.
123 | STRIP_BINARY_RETVAL=0
124 |
125 | # Strip invalid architectures
126 | strip_invalid_archs() {
127 | binary="$1"
128 | warn_missing_arch=${2:-true}
129 | # Get architectures for current target binary
130 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
131 | # Intersect them with the architectures we are building for
132 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
133 | # If there are no archs supported by this binary then warn the user
134 | if [[ -z "$intersected_archs" ]]; then
135 | if [[ "$warn_missing_arch" == "true" ]]; then
136 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
137 | fi
138 | STRIP_BINARY_RETVAL=1
139 | return
140 | fi
141 | stripped=""
142 | for arch in $binary_archs; do
143 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
144 | # Strip non-valid architectures in-place
145 | lipo -remove "$arch" -output "$binary" "$binary"
146 | stripped="$stripped $arch"
147 | fi
148 | done
149 | if [[ "$stripped" ]]; then
150 | echo "Stripped $binary of architectures:$stripped"
151 | fi
152 | STRIP_BINARY_RETVAL=0
153 | }
154 |
155 | # Copies the bcsymbolmap files of a vendored framework
156 | install_bcsymbolmap() {
157 | local bcsymbolmap_path="$1"
158 | local destination="${BUILT_PRODUCTS_DIR}"
159 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
160 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
161 | }
162 |
163 | # Signs a framework with the provided identity
164 | code_sign_if_enabled() {
165 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
166 | # Use the current code_sign_identity
167 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
168 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
169 |
170 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
171 | code_sign_cmd="$code_sign_cmd &"
172 | fi
173 | echo "$code_sign_cmd"
174 | eval "$code_sign_cmd"
175 | fi
176 | }
177 |
178 | if [[ "$CONFIGURATION" == "Debug" ]]; then
179 | install_framework "${BUILT_PRODUCTS_DIR}/LUAutocompleteView/LUAutocompleteView.framework"
180 | fi
181 | if [[ "$CONFIGURATION" == "Release" ]]; then
182 | install_framework "${BUILT_PRODUCTS_DIR}/LUAutocompleteView/LUAutocompleteView.framework"
183 | fi
184 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
185 | wait
186 | fi
187 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample-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_LUAutocompleteViewExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LUAutocompleteViewExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView/LUAutocompleteView.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
8 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView/LUAutocompleteView.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView"
9 | OTHER_LDFLAGS = $(inherited) -framework "LUAutocompleteView"
10 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
11 | PODS_BUILD_DIR = ${BUILD_DIR}
12 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
13 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
14 | PODS_ROOT = ${SRCROOT}/Pods
15 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
17 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LUAutocompleteViewExample {
2 | umbrella header "Pods-LUAutocompleteViewExample-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/LUAutocompleteViewExample/Pods/Target Support Files/Pods-LUAutocompleteViewExample/Pods-LUAutocompleteViewExample.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView/LUAutocompleteView.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
8 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView/LUAutocompleteView.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/LUAutocompleteView"
9 | OTHER_LDFLAGS = $(inherited) -framework "LUAutocompleteView"
10 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
11 | PODS_BUILD_DIR = ${BUILD_DIR}
12 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
13 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
14 | PODS_ROOT = ${SRCROOT}/Pods
15 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
16 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
17 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.9
2 |
3 | import PackageDescription
4 |
5 | let package = Package(
6 | name: "LUAutocompleteView",
7 | platforms: [.iOS(.v13)],
8 | products: [.library(name: "LUAutocompleteView", targets: ["LUAutocompleteView"])],
9 | targets: [.target(name: "LUAutocompleteView", path: "Sources")]
10 | )
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | # LUAutocompleteView
6 | Easy to use and highly configurable autocomplete view that is attachable to any `UITextField`
7 |
8 | 
9 | [](https://github.com/apple/swift-package-manager)
10 | [](https://cocoapods.org/pods/LUAutocompleteView/)
11 | 
12 | [](https://opensource.org/licenses/MIT)
13 |
14 | ## Installation
15 |
16 | ### CocoaPods
17 |
18 | [CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
19 |
20 | ```bash
21 | $ sudo gem install cocoapods
22 | ```
23 |
24 | > CocoaPods 1.13.0+ is required.
25 |
26 | To integrate `LUAutocompleteView` into your Xcode project using CocoaPods, specify it in your `Podfile`:
27 |
28 | ```ruby
29 | source 'https://github.com/CocoaPods/Specs.git'
30 | platform :ios, '13.0'
31 | use_frameworks!
32 |
33 | target '' do
34 | pod 'LUAutocompleteView'
35 | end
36 | ```
37 |
38 | Then, run the following command:
39 |
40 | ```bash
41 | $ pod install
42 | ```
43 |
44 | ### Swift Package Manager
45 |
46 | To integrate using Apple's [Swift Package Manager](https://swift.org/package-manager), add the following as a dependency to your `Package.swift`:
47 |
48 | ```Swift
49 | .package(url: "https://github.com/LaurentiuUngur/LUAutocompleteView", from: Version(5, 0, 0))
50 | ```
51 |
52 | ### Manually
53 |
54 | If you prefer not to use either of the before mentioned dependency managers, you can integrate `LUAutocompleteView` into your project manually.
55 |
56 | ## Usage
57 |
58 | * Import `LUAutocompleteView` into your project.
59 |
60 | ```Swift
61 | import LUAutocompleteView
62 | ```
63 |
64 | * Add autocomplete view as subview
65 |
66 | ```Swift
67 | view.addSubview(autocompleteView)
68 | ```
69 |
70 | * Assign to `textField` property the text field to which the autocomplete view you want be attached.
71 |
72 | ```Swift
73 | autocompleteView.textField = textField
74 | ```
75 |
76 | * Set as data source and delegate.
77 |
78 | ```Swift
79 | autocompleteView.dataSource = self
80 | autocompleteView.delegate = self
81 | ```
82 |
83 | * Implement `LUAutocompleteViewDataSource` and `LUAutocompleteViewDelegate` protocols.
84 |
85 | ````Swift
86 | // MARK: - LUAutocompleteViewDataSource
87 |
88 | extension ViewController: LUAutocompleteViewDataSource {
89 | func autocompleteView(_ autocompleteView: LUAutocompleteView, elementsFor text: String, completion: @escaping ([String]) -> Void) {
90 | let elementsThatMatchInput = elements.filter { $0.lowercased().contains(text.lowercased()) }
91 | completion(elementsThatMatchInput)
92 | }
93 | }
94 |
95 | // MARK: - LUAutocompleteViewDelegate
96 |
97 | extension ViewController: LUAutocompleteViewDelegate {
98 | func autocompleteView(_ autocompleteView: LUAutocompleteView, didSelect text: String) {
99 | print(text + " was selected from autocomplete view")
100 | }
101 | }
102 | ````
103 |
104 | ## Customisation
105 |
106 | * Create your custom autocomplete cell by subclassing `LUAutocompleteTableViewCell`.
107 | * Override `func set(text: String)` from `LUAutocompleteTableViewCell` that is called every time when given text should be displayed by the cell.
108 |
109 | ````Swift
110 | import UIKit
111 | import LUAutocompleteView
112 |
113 | final class CustomAutocompleteTableViewCell: LUAutocompleteTableViewCell {
114 | // MARK: - Base Class Overrides
115 |
116 | override func set(text: String) {
117 | textLabel?.text = text
118 | textLabel?.textColor = .red
119 | }
120 | }
121 | ````
122 |
123 | * Assign to `autocompleteCell` property your custom autocomplete cell.
124 |
125 | ```Swift
126 | autocompleteView.autocompleteCell = CustomAutocompleteTableViewCell.self
127 | ```
128 |
129 | ### For more usage details please see example app
130 |
131 | ## Requirements
132 |
133 | - Xcode 15.0+
134 | - Swift 5.9+
135 | - iOS 13.0+
136 |
137 | ## Author
138 | - [Laurentiu Ungur](https://github.com/LaurentiuUngur)
139 |
140 | ## License
141 | - LUAutocompleteView is available under the [MIT license](LICENSE).
142 |
--------------------------------------------------------------------------------
/ReadmeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LaurentiuUngur/LUAutocompleteView/4d7052a058a46bfce6711a8475ca1da576230a1b/ReadmeIcon.png
--------------------------------------------------------------------------------
/Sources/LUAutocompleteTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LUAutocompleteTableViewCell.swift
3 | // LUAutocompleteView
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | /// The base class for cells used in `LUAutocompleteView`
12 | open class LUAutocompleteTableViewCell: UITableViewCell {
13 | // MARK - Public Functions
14 |
15 | /** Function that is called when cell is configured with given text.
16 |
17 | - Parameter text: A string that should be displayed.
18 |
19 | - Warning: Must be implemented by each subclass.
20 | */
21 | open func set(text: String) {
22 | preconditionFailure("This function must be implemented by each subclass")
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Sources/LUAutocompleteView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LUAutocompleteView.swift
3 | // LUAutocompleteView
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | /// Highly configurable autocomplete view that is attachable to any `UITextField`.
12 | open class LUAutocompleteView: UIView {
13 | // MARK: - Public Properties
14 |
15 | /// The object that acts as the data source of the autocomplete view.
16 | public weak var dataSource: LUAutocompleteViewDataSource?
17 | /// The object that acts as the delegate of the autocomplete view.
18 | public weak var delegate: LUAutocompleteViewDelegate?
19 |
20 | /** The time interval responsible for regulating the rate of calling data source function.
21 | If typing stops for a time interval greater than `throttleTime`, then the data source function will be called.
22 | Default value is `0.4`.
23 | */
24 | public var throttleTime: TimeInterval = 0.4
25 | /// The maximum height of autocomplete view. Default value is `200.0`.
26 | public var maximumHeight: CGFloat = 200.0
27 | /// A boolean value that determines whether the view should hide after a suggestion is selected. Default value is `true`.
28 | public var shouldHideAfterSelecting = true
29 | /// A boolean value that determines whether the view should show even when no text has been digited. When text is empty, you can return a list of elements in order to show suggestions if this value is set to `true`. Default value is `false`.
30 | public var showElementsWithEmptyText = false
31 |
32 | /** The attributes for the text suggestions.
33 |
34 | - Note: This property will be ignored if `autocompleteCell` is not `nil`.
35 | */
36 | public var textAttributes: [NSAttributedString.Key: Any]?
37 | /// The text field to which the autocomplete view will be attached.
38 | public weak var textField: UITextField? {
39 | didSet {
40 | guard let textField else { return }
41 |
42 | textField.addTarget(self, action: #selector(textFieldEditingChanged), for: .editingChanged)
43 | textField.addTarget(self, action: #selector(textFieldEditingEnded), for: .editingDidEnd)
44 | textField.addTarget(self, action: #selector(textFieldEditingBegan), for: .editingDidBegin)
45 |
46 | setupConstraints()
47 | }
48 | }
49 | /** A `LUAutocompleteTableViewCell` subclass that will be used to show a text suggestion.
50 | Set your own in order to customise the appearance.
51 | Default value is `nil`, which means the default one will be used.
52 |
53 | - Note: `textAttributes` will be ignored if this property is not `nil`
54 | */
55 | public var autocompleteCell: LUAutocompleteTableViewCell.Type? {
56 | didSet {
57 | guard let autocompleteCell else { return }
58 |
59 | tableView.register(autocompleteCell, forCellReuseIdentifier: LUAutocompleteView.cellIdentifier)
60 | tableView.reloadData()
61 | }
62 | }
63 | /// The height of each row (that is, table cell) in the autocomplete table view. Default value is `40.0`.
64 | public var rowHeight: CGFloat = 40.0 {
65 | didSet {
66 | tableView.rowHeight = rowHeight
67 | }
68 | }
69 |
70 | // MARK: - Private Properties
71 |
72 | private let tableView = UITableView()
73 | private var heightConstraint: NSLayoutConstraint?
74 | private static let cellIdentifier = "AutocompleteCellIdentifier"
75 | private var elements = [String]() {
76 | didSet {
77 | tableView.reloadData()
78 | height = tableView.contentSize.height
79 | }
80 | }
81 | private var height: CGFloat = 0 {
82 | didSet {
83 | guard height != oldValue else {
84 | return
85 | }
86 |
87 | guard let superview else {
88 | heightConstraint?.constant = (height > maximumHeight) ? maximumHeight : height
89 | return
90 | }
91 |
92 | superview.layoutIfNeeded()
93 | UIView.animate(withDuration: 0.2) {
94 | self.heightConstraint?.constant = min(self.height, self.maximumHeight)
95 | superview.layoutIfNeeded()
96 | }
97 | }
98 | }
99 |
100 | // MARK: - Init
101 |
102 | /** Initializes and returns a table view object having the given frame and style.
103 |
104 | - Parameters:
105 | - frame: A rectangle specifying the initial location and size of the table view in its superview’s coordinates. The frame of the table view changes as table cells are added and deleted.
106 | - style: A constant that specifies the style of the table view. See `UITableViewStyle` for descriptions of valid constants.
107 |
108 | - Returns: Returns an initialized `UITableView` object, or `nil` if the object could not be successfully initialized.
109 | */
110 | public override init(frame: CGRect) {
111 | super.init(frame: frame)
112 |
113 | commonInit()
114 | }
115 |
116 | /** Returns an object initialized from data in a given unarchiver.
117 |
118 | - Parameter coder: An unarchiver object.
119 |
120 | - Retunrs: `self`, initialized using the data in *decoder*.
121 | */
122 | public required init?(coder aDecoder: NSCoder) {
123 | super.init(coder: aDecoder)
124 |
125 | commonInit()
126 | }
127 |
128 | // MARK: - Private Functions
129 |
130 | private func commonInit() {
131 | addSubview(tableView)
132 |
133 | tableView.register(UITableViewCell.self, forCellReuseIdentifier: LUAutocompleteView.cellIdentifier)
134 | tableView.dataSource = self
135 | tableView.delegate = self
136 | tableView.rowHeight = rowHeight
137 | tableView.tableFooterView = UIView()
138 | tableView.separatorInset = .zero
139 | tableView.contentInset = .zero
140 | tableView.bounces = false
141 | }
142 |
143 | private func setupConstraints() {
144 | guard let textField else {
145 | assertionFailure("Sanity check")
146 | return
147 | }
148 |
149 | tableView.removeConstraints(tableView.constraints)
150 | removeConstraints(self.constraints)
151 |
152 | tableView.translatesAutoresizingMaskIntoConstraints = false
153 | translatesAutoresizingMaskIntoConstraints = false
154 |
155 | heightConstraint = heightAnchor.constraint(equalToConstant: 0)
156 |
157 | let constraints = [
158 | tableView.leadingAnchor.constraint(equalTo: leadingAnchor),
159 | tableView.trailingAnchor.constraint(equalTo: trailingAnchor),
160 | tableView.topAnchor.constraint(equalTo: topAnchor),
161 | tableView.bottomAnchor.constraint(equalTo: bottomAnchor),
162 | leadingAnchor.constraint(equalTo: textField.leadingAnchor),
163 | trailingAnchor.constraint(equalTo: textField.trailingAnchor),
164 | topAnchor.constraint(equalTo: textField.bottomAnchor),
165 | heightConstraint!
166 | ]
167 |
168 | NSLayoutConstraint.activate(constraints)
169 | }
170 |
171 | @objc private func textFieldEditingChanged() {
172 | NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(getElements), object: nil)
173 | perform(#selector(getElements), with: nil, afterDelay: throttleTime)
174 | }
175 |
176 | @objc private func getElements() {
177 | guard let dataSource else { return }
178 |
179 | guard let text = textField?.text, !text.isEmpty || showElementsWithEmptyText else {
180 | elements.removeAll()
181 | return
182 | }
183 |
184 | dataSource.autocompleteView(self, elementsFor: text) { [weak self] in
185 | self?.elements = $0
186 | }
187 | }
188 |
189 | @objc private func textFieldEditingEnded() {
190 | height = 0
191 | delegate?.autocompleteViewEditingEnded(self)
192 | }
193 |
194 | @objc private func textFieldEditingBegan() {
195 | guard showElementsWithEmptyText else { return }
196 |
197 | NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(getElements), object: nil)
198 | perform(#selector(getElements), with: nil, afterDelay: throttleTime)
199 | }
200 | }
201 |
202 | // MARK: - UITableViewDataSource
203 |
204 | extension LUAutocompleteView: UITableViewDataSource {
205 | /** Tells the data source to return the number of rows in a given section of a table view.
206 |
207 | - Parameters:
208 | - tableView: The table-view object requesting this information.
209 | - section: An index number identifying a section of `tableView`.
210 |
211 | - Returns: The number of rows in `section`.
212 | */
213 | public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
214 | elements.count
215 | }
216 |
217 | /** Asks the data source for a cell to insert in a particular location of the table view.
218 |
219 | - Parameters:
220 | - tableView: A table-view object requesting the cell.
221 | - indexPath: An index path locating a row in `tableView`.
222 |
223 | - Returns: An object inheriting from `UITableViewCell` that the table view can use for the specified row. An assertion is raised if you return `nil`.
224 | */
225 | public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
226 | guard let cell = tableView.dequeueReusableCell(withIdentifier: LUAutocompleteView.cellIdentifier) else {
227 | assertionFailure("Cell shouldn't be nil")
228 | return UITableViewCell()
229 | }
230 |
231 | guard indexPath.row < elements.count else {
232 | assertionFailure("Sanity check")
233 | return cell
234 | }
235 |
236 | let text = elements[indexPath.row]
237 |
238 | guard autocompleteCell != nil, let customCell = cell as? LUAutocompleteTableViewCell else {
239 | cell.textLabel?.attributedText = NSAttributedString(string: text, attributes: textAttributes)
240 | cell.selectionStyle = .none
241 |
242 | return cell
243 | }
244 |
245 | customCell.set(text: text)
246 |
247 | return customCell
248 | }
249 | }
250 |
251 | // MARK: - UITableViewDelegate
252 |
253 | extension LUAutocompleteView: UITableViewDelegate {
254 | /** Tells the delegate that the specified row is now selected.
255 |
256 | - Parameters:
257 | - tableView: A table-view object informing the delegate about the new row selection.
258 | - indexPath: An index path locating the new selected row in `tableView`.
259 | */
260 | public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
261 | guard indexPath.row < elements.count else {
262 | assertionFailure("Sanity check")
263 | return
264 | }
265 |
266 | if shouldHideAfterSelecting {
267 | height = 0
268 | }
269 | textField?.text = elements[indexPath.row]
270 | delegate?.autocompleteView(self, didSelect: elements[indexPath.row])
271 | }
272 | }
273 |
--------------------------------------------------------------------------------
/Sources/LUAutocompleteViewDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LUAutocompleteViewDataSource.swift
3 | // LUAutocompleteView
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /** The `LUAutocompleteViewDataSource` protocol is adopted by an object that mediates the application’s data model for a `LUAutocompleteView` object.
12 | The data source provides the autocomplete view object with the information it needs to display.
13 | */
14 | public protocol LUAutocompleteViewDataSource: AnyObject {
15 | /** Asks the data source to provide elements that should be displayed for given text.
16 |
17 | - Parameters:
18 | - autocompleteView: An object representing the autocomplete view requesting this information.
19 | - text: A string representing the input from the text field.
20 | - completion: A closure that contains the elements matching `text` that will be displayed by autocomplete view.
21 | */
22 | func autocompleteView(_ autocompleteView: LUAutocompleteView, elementsFor text: String, completion: @escaping ([String]) -> Void)
23 | }
24 |
--------------------------------------------------------------------------------
/Sources/LUAutocompleteViewDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LUAutocompleteViewDelegate.swift
3 | // LUAutocompleteView
4 | //
5 | // Created by Laurentiu Ungur on 24/04/2017.
6 | // Copyright © 2017 Laurentiu Ungur. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// The delegate of a `LUAutocompleteView` object.
12 | public protocol LUAutocompleteViewDelegate: AnyObject {
13 | /** Tells the delegate the text that user selected.
14 |
15 | - Parameters:
16 | - autocompleteView: An autocomplete view object informing the delegate about the selected text.
17 | - text: A string that was selected in autocomplete view.
18 | */
19 | func autocompleteView(_ autocompleteView: LUAutocompleteView, didSelect text: String)
20 |
21 |
22 | /** Tells the delegate the editing of text view ended
23 |
24 | - Parameters:
25 | - autocompleteView: An autocomplete view object informing the delegate when editing ended.
26 | */
27 | func autocompleteViewEditingEnded(_ autocompleteView: LUAutocompleteView)
28 | }
29 |
30 | public extension LUAutocompleteViewDelegate {
31 | func autocompleteViewEditingEnded(_ autocompleteView: LUAutocompleteView) {
32 | }
33 | }
34 |
--------------------------------------------------------------------------------