├── .gitignore
├── .travis.yml
├── Example
├── AdCell.xib
├── LoadMoreTableViewController.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── LoadMoreTableViewController-Example.xcscheme
├── LoadMoreTableViewController.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── LoadMoreTableViewController
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Images.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Info.plist
│ ├── SampleCell.xib
│ └── ViewController.swift
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Local Podspecs
│ │ └── LoadMoreTableViewController.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── LoadMoreTableViewController.xcscheme
│ └── Target Support Files
│ │ ├── LoadMoreTableViewController
│ │ ├── Info.plist
│ │ ├── LoadMoreTableViewController-Info.plist
│ │ ├── LoadMoreTableViewController-dummy.m
│ │ ├── LoadMoreTableViewController-prefix.pch
│ │ ├── LoadMoreTableViewController-umbrella.h
│ │ ├── LoadMoreTableViewController.debug.xcconfig
│ │ ├── LoadMoreTableViewController.modulemap
│ │ ├── LoadMoreTableViewController.release.xcconfig
│ │ └── LoadMoreTableViewController.xcconfig
│ │ ├── Pods-LoadMoreTableViewController_Example
│ │ ├── Info.plist
│ │ ├── Pods-LoadMoreTableViewController_Example-Info.plist
│ │ ├── Pods-LoadMoreTableViewController_Example-acknowledgements.markdown
│ │ ├── Pods-LoadMoreTableViewController_Example-acknowledgements.plist
│ │ ├── Pods-LoadMoreTableViewController_Example-dummy.m
│ │ ├── Pods-LoadMoreTableViewController_Example-frameworks.sh
│ │ ├── Pods-LoadMoreTableViewController_Example-resources.sh
│ │ ├── Pods-LoadMoreTableViewController_Example-umbrella.h
│ │ ├── Pods-LoadMoreTableViewController_Example.debug.xcconfig
│ │ ├── Pods-LoadMoreTableViewController_Example.modulemap
│ │ └── Pods-LoadMoreTableViewController_Example.release.xcconfig
│ │ └── Pods-LoadMoreTableViewController_Tests
│ │ ├── Info.plist
│ │ ├── Pods-LoadMoreTableViewController_Tests-Info.plist
│ │ ├── Pods-LoadMoreTableViewController_Tests-acknowledgements.markdown
│ │ ├── Pods-LoadMoreTableViewController_Tests-acknowledgements.plist
│ │ ├── Pods-LoadMoreTableViewController_Tests-dummy.m
│ │ ├── Pods-LoadMoreTableViewController_Tests-frameworks.sh
│ │ ├── Pods-LoadMoreTableViewController_Tests-resources.sh
│ │ ├── Pods-LoadMoreTableViewController_Tests-umbrella.h
│ │ ├── Pods-LoadMoreTableViewController_Tests.debug.xcconfig
│ │ ├── Pods-LoadMoreTableViewController_Tests.modulemap
│ │ └── Pods-LoadMoreTableViewController_Tests.release.xcconfig
└── Tests
│ ├── Info.plist
│ └── Tests.swift
├── LICENSE
├── LoadMoreTableViewController.podspec
├── Pod
├── Assets
│ └── .gitkeep
└── Classes
│ ├── .gitkeep
│ ├── FooterCell.swift
│ ├── FooterCell.xib
│ └── LoadMoreTableViewController.swift
├── README.md
├── _Pods.xcodeproj
└── screen.gif
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | Carthage
26 | # We recommend against adding the Pods directory to your .gitignore. However
27 | # you should judge for yourself, the pros and cons are mentioned at:
28 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
29 | #
30 | # Note: if you ignore the Pods directory, make sure to uncomment
31 | # `pod install` in .travis.yml
32 | #
33 | # Pods/
34 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * http://www.objc.io/issue-6/travis-ci.html
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | language: objective-c
6 | osx_image: xcode11.2
7 | cache: cocoapods
8 | podfile: Example/Podfile
9 | before_install:
10 | - gem install cocoapods --pre # Since Travis is not always on latest version
11 | #- pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -workspace Example/LoadMoreTableViewController.xcworkspace -scheme LoadMoreTableViewController-Example -destination 'platform=iOS Simulator,name=iPhone 6' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/Example/AdCell.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 2DE4B87FD363305245FB2352 /* Pods_LoadMoreTableViewController_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E401790C384947E29DD5D352 /* Pods_LoadMoreTableViewController_Tests.framework */; };
11 | 4225547F41423E4185D2B8D8 /* Pods_LoadMoreTableViewController_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0002D804BFA0D2D430E6A41A /* Pods_LoadMoreTableViewController_Example.framework */; };
12 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
13 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
14 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
15 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
16 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
17 | 9E6A2C761CE2DF3D00A05D65 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6A2C741CE2DF2400A05D65 /* Tests.swift */; };
18 | 9ED628651DD984BB00D7CC0B /* AdCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9ED628641DD984BB00D7CC0B /* AdCell.xib */; };
19 | 9EEC499E1C156C3D00EF5E9E /* SampleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9EEC499D1C156C3D00EF5E9E /* SampleCell.xib */; };
20 | /* End PBXBuildFile section */
21 |
22 | /* Begin PBXContainerItemProxy section */
23 | 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = {
24 | isa = PBXContainerItemProxy;
25 | containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
26 | proxyType = 1;
27 | remoteGlobalIDString = 607FACCF1AFB9204008FA782;
28 | remoteInfo = LoadMoreTableViewController;
29 | };
30 | /* End PBXContainerItemProxy section */
31 |
32 | /* Begin PBXFileReference section */
33 | 0002D804BFA0D2D430E6A41A /* Pods_LoadMoreTableViewController_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LoadMoreTableViewController_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
34 | 0B01B9EAB5CA6917D1622012 /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LoadMoreTableViewController_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.release.xcconfig"; sourceTree = ""; };
35 | 3827132FC961254E5D6EEC6D /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
36 | 607FACD01AFB9204008FA782 /* LoadMoreTableViewController_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LoadMoreTableViewController_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
38 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
39 | 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
40 | 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
41 | 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
42 | 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
43 | 607FACE51AFB9204008FA782 /* LoadMoreTableViewController_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LoadMoreTableViewController_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
44 | 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | 6AA2CE3D97FCD85B9DB9B224 /* Pods-LoadMoreTableViewController_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LoadMoreTableViewController_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.release.xcconfig"; sourceTree = ""; };
46 | 739AF83EA3D4C8CE56A37447 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LoadMoreTableViewController_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.debug.xcconfig"; sourceTree = ""; };
47 | 8B379D67AF5CF8C52156F30C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
48 | 9E6A2C741CE2DF2400A05D65 /* Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; };
49 | 9ED628641DD984BB00D7CC0B /* AdCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AdCell.xib; sourceTree = SOURCE_ROOT; };
50 | 9EEC499D1C156C3D00EF5E9E /* SampleCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SampleCell.xib; sourceTree = ""; };
51 | B352AAECF6A62B69FA4C6AAC /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LoadMoreTableViewController_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.debug.xcconfig"; sourceTree = ""; };
52 | D49C552D866EE7F45E1B219C /* LoadMoreTableViewController.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LoadMoreTableViewController.podspec; path = ../LoadMoreTableViewController.podspec; sourceTree = ""; };
53 | E401790C384947E29DD5D352 /* Pods_LoadMoreTableViewController_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LoadMoreTableViewController_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
54 | /* End PBXFileReference section */
55 |
56 | /* Begin PBXFrameworksBuildPhase section */
57 | 607FACCD1AFB9204008FA782 /* Frameworks */ = {
58 | isa = PBXFrameworksBuildPhase;
59 | buildActionMask = 2147483647;
60 | files = (
61 | 4225547F41423E4185D2B8D8 /* Pods_LoadMoreTableViewController_Example.framework in Frameworks */,
62 | );
63 | runOnlyForDeploymentPostprocessing = 0;
64 | };
65 | 607FACE21AFB9204008FA782 /* Frameworks */ = {
66 | isa = PBXFrameworksBuildPhase;
67 | buildActionMask = 2147483647;
68 | files = (
69 | 2DE4B87FD363305245FB2352 /* Pods_LoadMoreTableViewController_Tests.framework in Frameworks */,
70 | );
71 | runOnlyForDeploymentPostprocessing = 0;
72 | };
73 | /* End PBXFrameworksBuildPhase section */
74 |
75 | /* Begin PBXGroup section */
76 | 36217A6930E21CACBDEBFB75 /* Pods */ = {
77 | isa = PBXGroup;
78 | children = (
79 | 739AF83EA3D4C8CE56A37447 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */,
80 | 6AA2CE3D97FCD85B9DB9B224 /* Pods-LoadMoreTableViewController_Example.release.xcconfig */,
81 | B352AAECF6A62B69FA4C6AAC /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */,
82 | 0B01B9EAB5CA6917D1622012 /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */,
83 | );
84 | name = Pods;
85 | sourceTree = "";
86 | };
87 | 607FACC71AFB9204008FA782 = {
88 | isa = PBXGroup;
89 | children = (
90 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
91 | 607FACD21AFB9204008FA782 /* Example for LoadMoreTableViewController */,
92 | 607FACE81AFB9204008FA782 /* Tests */,
93 | 607FACD11AFB9204008FA782 /* Products */,
94 | 36217A6930E21CACBDEBFB75 /* Pods */,
95 | E5735C84E73578A7DBE89C92 /* Frameworks */,
96 | );
97 | sourceTree = "";
98 | };
99 | 607FACD11AFB9204008FA782 /* Products */ = {
100 | isa = PBXGroup;
101 | children = (
102 | 607FACD01AFB9204008FA782 /* LoadMoreTableViewController_Example.app */,
103 | 607FACE51AFB9204008FA782 /* LoadMoreTableViewController_Tests.xctest */,
104 | );
105 | name = Products;
106 | sourceTree = "";
107 | };
108 | 607FACD21AFB9204008FA782 /* Example for LoadMoreTableViewController */ = {
109 | isa = PBXGroup;
110 | children = (
111 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */,
112 | 607FACD71AFB9204008FA782 /* ViewController.swift */,
113 | 9EEC499D1C156C3D00EF5E9E /* SampleCell.xib */,
114 | 9ED628641DD984BB00D7CC0B /* AdCell.xib */,
115 | 607FACD91AFB9204008FA782 /* Main.storyboard */,
116 | 607FACDC1AFB9204008FA782 /* Images.xcassets */,
117 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
118 | 607FACD31AFB9204008FA782 /* Supporting Files */,
119 | );
120 | name = "Example for LoadMoreTableViewController";
121 | path = LoadMoreTableViewController;
122 | sourceTree = "";
123 | };
124 | 607FACD31AFB9204008FA782 /* Supporting Files */ = {
125 | isa = PBXGroup;
126 | children = (
127 | 607FACD41AFB9204008FA782 /* Info.plist */,
128 | );
129 | name = "Supporting Files";
130 | sourceTree = "";
131 | };
132 | 607FACE81AFB9204008FA782 /* Tests */ = {
133 | isa = PBXGroup;
134 | children = (
135 | 9E6A2C741CE2DF2400A05D65 /* Tests.swift */,
136 | 607FACE91AFB9204008FA782 /* Supporting Files */,
137 | );
138 | path = Tests;
139 | sourceTree = "";
140 | };
141 | 607FACE91AFB9204008FA782 /* Supporting Files */ = {
142 | isa = PBXGroup;
143 | children = (
144 | 607FACEA1AFB9204008FA782 /* Info.plist */,
145 | );
146 | name = "Supporting Files";
147 | sourceTree = "";
148 | };
149 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
150 | isa = PBXGroup;
151 | children = (
152 | D49C552D866EE7F45E1B219C /* LoadMoreTableViewController.podspec */,
153 | 8B379D67AF5CF8C52156F30C /* README.md */,
154 | 3827132FC961254E5D6EEC6D /* LICENSE */,
155 | );
156 | name = "Podspec Metadata";
157 | sourceTree = "";
158 | };
159 | E5735C84E73578A7DBE89C92 /* Frameworks */ = {
160 | isa = PBXGroup;
161 | children = (
162 | 0002D804BFA0D2D430E6A41A /* Pods_LoadMoreTableViewController_Example.framework */,
163 | E401790C384947E29DD5D352 /* Pods_LoadMoreTableViewController_Tests.framework */,
164 | );
165 | name = Frameworks;
166 | sourceTree = "";
167 | };
168 | /* End PBXGroup section */
169 |
170 | /* Begin PBXNativeTarget section */
171 | 607FACCF1AFB9204008FA782 /* LoadMoreTableViewController_Example */ = {
172 | isa = PBXNativeTarget;
173 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController_Example" */;
174 | buildPhases = (
175 | 4B8BFBD7FB81342836E511C6 /* [CP] Check Pods Manifest.lock */,
176 | 607FACCC1AFB9204008FA782 /* Sources */,
177 | 607FACCD1AFB9204008FA782 /* Frameworks */,
178 | 607FACCE1AFB9204008FA782 /* Resources */,
179 | 7A7FEF8CA1AF140553AC6B17 /* [CP] Embed Pods Frameworks */,
180 | );
181 | buildRules = (
182 | );
183 | dependencies = (
184 | );
185 | name = LoadMoreTableViewController_Example;
186 | productName = LoadMoreTableViewController;
187 | productReference = 607FACD01AFB9204008FA782 /* LoadMoreTableViewController_Example.app */;
188 | productType = "com.apple.product-type.application";
189 | };
190 | 607FACE41AFB9204008FA782 /* LoadMoreTableViewController_Tests */ = {
191 | isa = PBXNativeTarget;
192 | buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController_Tests" */;
193 | buildPhases = (
194 | D23E087F9D39876E9446D3E0 /* [CP] Check Pods Manifest.lock */,
195 | 607FACE11AFB9204008FA782 /* Sources */,
196 | 607FACE21AFB9204008FA782 /* Frameworks */,
197 | 607FACE31AFB9204008FA782 /* Resources */,
198 | 2E5B4ED6227761D543B81B14 /* [CP] Embed Pods Frameworks */,
199 | );
200 | buildRules = (
201 | );
202 | dependencies = (
203 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */,
204 | );
205 | name = LoadMoreTableViewController_Tests;
206 | productName = Tests;
207 | productReference = 607FACE51AFB9204008FA782 /* LoadMoreTableViewController_Tests.xctest */;
208 | productType = "com.apple.product-type.bundle.unit-test";
209 | };
210 | /* End PBXNativeTarget section */
211 |
212 | /* Begin PBXProject section */
213 | 607FACC81AFB9204008FA782 /* Project object */ = {
214 | isa = PBXProject;
215 | attributes = {
216 | LastSwiftUpdateCheck = 0710;
217 | LastUpgradeCheck = 0800;
218 | ORGANIZATIONNAME = CocoaPods;
219 | TargetAttributes = {
220 | 607FACCF1AFB9204008FA782 = {
221 | CreatedOnToolsVersion = 6.3.1;
222 | };
223 | 607FACE41AFB9204008FA782 = {
224 | CreatedOnToolsVersion = 6.3.1;
225 | TestTargetID = 607FACCF1AFB9204008FA782;
226 | };
227 | };
228 | };
229 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "LoadMoreTableViewController" */;
230 | compatibilityVersion = "Xcode 3.2";
231 | developmentRegion = English;
232 | hasScannedForEncodings = 0;
233 | knownRegions = (
234 | English,
235 | en,
236 | Base,
237 | );
238 | mainGroup = 607FACC71AFB9204008FA782;
239 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
240 | projectDirPath = "";
241 | projectRoot = "";
242 | targets = (
243 | 607FACCF1AFB9204008FA782 /* LoadMoreTableViewController_Example */,
244 | 607FACE41AFB9204008FA782 /* LoadMoreTableViewController_Tests */,
245 | );
246 | };
247 | /* End PBXProject section */
248 |
249 | /* Begin PBXResourcesBuildPhase section */
250 | 607FACCE1AFB9204008FA782 /* Resources */ = {
251 | isa = PBXResourcesBuildPhase;
252 | buildActionMask = 2147483647;
253 | files = (
254 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
255 | 9ED628651DD984BB00D7CC0B /* AdCell.xib in Resources */,
256 | 9EEC499E1C156C3D00EF5E9E /* SampleCell.xib in Resources */,
257 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
258 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
259 | );
260 | runOnlyForDeploymentPostprocessing = 0;
261 | };
262 | 607FACE31AFB9204008FA782 /* Resources */ = {
263 | isa = PBXResourcesBuildPhase;
264 | buildActionMask = 2147483647;
265 | files = (
266 | );
267 | runOnlyForDeploymentPostprocessing = 0;
268 | };
269 | /* End PBXResourcesBuildPhase section */
270 |
271 | /* Begin PBXShellScriptBuildPhase section */
272 | 2E5B4ED6227761D543B81B14 /* [CP] Embed Pods Frameworks */ = {
273 | isa = PBXShellScriptBuildPhase;
274 | buildActionMask = 2147483647;
275 | files = (
276 | );
277 | inputPaths = (
278 | "${PODS_ROOT}/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-frameworks.sh",
279 | "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework",
280 | );
281 | name = "[CP] Embed Pods Frameworks";
282 | outputPaths = (
283 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LoadMoreTableViewController.framework",
284 | );
285 | runOnlyForDeploymentPostprocessing = 0;
286 | shellPath = /bin/sh;
287 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-frameworks.sh\"\n";
288 | showEnvVarsInLog = 0;
289 | };
290 | 4B8BFBD7FB81342836E511C6 /* [CP] Check Pods Manifest.lock */ = {
291 | isa = PBXShellScriptBuildPhase;
292 | buildActionMask = 2147483647;
293 | files = (
294 | );
295 | inputPaths = (
296 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
297 | "${PODS_ROOT}/Manifest.lock",
298 | );
299 | name = "[CP] Check Pods Manifest.lock";
300 | outputPaths = (
301 | "$(DERIVED_FILE_DIR)/Pods-LoadMoreTableViewController_Example-checkManifestLockResult.txt",
302 | );
303 | runOnlyForDeploymentPostprocessing = 0;
304 | shellPath = /bin/sh;
305 | 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";
306 | showEnvVarsInLog = 0;
307 | };
308 | 7A7FEF8CA1AF140553AC6B17 /* [CP] Embed Pods Frameworks */ = {
309 | isa = PBXShellScriptBuildPhase;
310 | buildActionMask = 2147483647;
311 | files = (
312 | );
313 | inputPaths = (
314 | "${PODS_ROOT}/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-frameworks.sh",
315 | "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework",
316 | );
317 | name = "[CP] Embed Pods Frameworks";
318 | outputPaths = (
319 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LoadMoreTableViewController.framework",
320 | );
321 | runOnlyForDeploymentPostprocessing = 0;
322 | shellPath = /bin/sh;
323 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-frameworks.sh\"\n";
324 | showEnvVarsInLog = 0;
325 | };
326 | D23E087F9D39876E9446D3E0 /* [CP] Check Pods Manifest.lock */ = {
327 | isa = PBXShellScriptBuildPhase;
328 | buildActionMask = 2147483647;
329 | files = (
330 | );
331 | inputPaths = (
332 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
333 | "${PODS_ROOT}/Manifest.lock",
334 | );
335 | name = "[CP] Check Pods Manifest.lock";
336 | outputPaths = (
337 | "$(DERIVED_FILE_DIR)/Pods-LoadMoreTableViewController_Tests-checkManifestLockResult.txt",
338 | );
339 | runOnlyForDeploymentPostprocessing = 0;
340 | shellPath = /bin/sh;
341 | 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";
342 | showEnvVarsInLog = 0;
343 | };
344 | /* End PBXShellScriptBuildPhase section */
345 |
346 | /* Begin PBXSourcesBuildPhase section */
347 | 607FACCC1AFB9204008FA782 /* Sources */ = {
348 | isa = PBXSourcesBuildPhase;
349 | buildActionMask = 2147483647;
350 | files = (
351 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
352 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
353 | );
354 | runOnlyForDeploymentPostprocessing = 0;
355 | };
356 | 607FACE11AFB9204008FA782 /* Sources */ = {
357 | isa = PBXSourcesBuildPhase;
358 | buildActionMask = 2147483647;
359 | files = (
360 | 9E6A2C761CE2DF3D00A05D65 /* Tests.swift in Sources */,
361 | );
362 | runOnlyForDeploymentPostprocessing = 0;
363 | };
364 | /* End PBXSourcesBuildPhase section */
365 |
366 | /* Begin PBXTargetDependency section */
367 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */ = {
368 | isa = PBXTargetDependency;
369 | target = 607FACCF1AFB9204008FA782 /* LoadMoreTableViewController_Example */;
370 | targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */;
371 | };
372 | /* End PBXTargetDependency section */
373 |
374 | /* Begin PBXVariantGroup section */
375 | 607FACD91AFB9204008FA782 /* Main.storyboard */ = {
376 | isa = PBXVariantGroup;
377 | children = (
378 | 607FACDA1AFB9204008FA782 /* Base */,
379 | );
380 | name = Main.storyboard;
381 | sourceTree = "";
382 | };
383 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
384 | isa = PBXVariantGroup;
385 | children = (
386 | 607FACDF1AFB9204008FA782 /* Base */,
387 | );
388 | name = LaunchScreen.xib;
389 | sourceTree = "";
390 | };
391 | /* End PBXVariantGroup section */
392 |
393 | /* Begin XCBuildConfiguration section */
394 | 607FACED1AFB9204008FA782 /* Debug */ = {
395 | isa = XCBuildConfiguration;
396 | buildSettings = {
397 | ALWAYS_SEARCH_USER_PATHS = NO;
398 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
399 | CLANG_CXX_LIBRARY = "libc++";
400 | CLANG_ENABLE_MODULES = YES;
401 | CLANG_ENABLE_OBJC_ARC = YES;
402 | CLANG_WARN_BOOL_CONVERSION = YES;
403 | CLANG_WARN_CONSTANT_CONVERSION = YES;
404 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
405 | CLANG_WARN_EMPTY_BODY = YES;
406 | CLANG_WARN_ENUM_CONVERSION = YES;
407 | CLANG_WARN_INFINITE_RECURSION = YES;
408 | CLANG_WARN_INT_CONVERSION = YES;
409 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
410 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
411 | CLANG_WARN_UNREACHABLE_CODE = YES;
412 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
413 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
414 | COPY_PHASE_STRIP = NO;
415 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
416 | ENABLE_STRICT_OBJC_MSGSEND = YES;
417 | ENABLE_TESTABILITY = YES;
418 | GCC_C_LANGUAGE_STANDARD = gnu99;
419 | GCC_DYNAMIC_NO_PIC = NO;
420 | GCC_NO_COMMON_BLOCKS = YES;
421 | GCC_OPTIMIZATION_LEVEL = 0;
422 | GCC_PREPROCESSOR_DEFINITIONS = (
423 | "DEBUG=1",
424 | "$(inherited)",
425 | );
426 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
427 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
428 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
429 | GCC_WARN_UNDECLARED_SELECTOR = YES;
430 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
431 | GCC_WARN_UNUSED_FUNCTION = YES;
432 | GCC_WARN_UNUSED_VARIABLE = YES;
433 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
434 | MTL_ENABLE_DEBUG_INFO = YES;
435 | ONLY_ACTIVE_ARCH = YES;
436 | SDKROOT = iphoneos;
437 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
438 | SWIFT_VERSION = 5.0;
439 | };
440 | name = Debug;
441 | };
442 | 607FACEE1AFB9204008FA782 /* Release */ = {
443 | isa = XCBuildConfiguration;
444 | buildSettings = {
445 | ALWAYS_SEARCH_USER_PATHS = NO;
446 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
447 | CLANG_CXX_LIBRARY = "libc++";
448 | CLANG_ENABLE_MODULES = YES;
449 | CLANG_ENABLE_OBJC_ARC = YES;
450 | CLANG_WARN_BOOL_CONVERSION = YES;
451 | CLANG_WARN_CONSTANT_CONVERSION = YES;
452 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
453 | CLANG_WARN_EMPTY_BODY = YES;
454 | CLANG_WARN_ENUM_CONVERSION = YES;
455 | CLANG_WARN_INFINITE_RECURSION = YES;
456 | CLANG_WARN_INT_CONVERSION = YES;
457 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
458 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
459 | CLANG_WARN_UNREACHABLE_CODE = YES;
460 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
461 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
462 | COPY_PHASE_STRIP = NO;
463 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
464 | ENABLE_NS_ASSERTIONS = NO;
465 | ENABLE_STRICT_OBJC_MSGSEND = YES;
466 | GCC_C_LANGUAGE_STANDARD = gnu99;
467 | GCC_NO_COMMON_BLOCKS = YES;
468 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
469 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
470 | GCC_WARN_UNDECLARED_SELECTOR = YES;
471 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
472 | GCC_WARN_UNUSED_FUNCTION = YES;
473 | GCC_WARN_UNUSED_VARIABLE = YES;
474 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
475 | MTL_ENABLE_DEBUG_INFO = NO;
476 | SDKROOT = iphoneos;
477 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
478 | SWIFT_VERSION = 5.0;
479 | VALIDATE_PRODUCT = YES;
480 | };
481 | name = Release;
482 | };
483 | 607FACF01AFB9204008FA782 /* Debug */ = {
484 | isa = XCBuildConfiguration;
485 | baseConfigurationReference = 739AF83EA3D4C8CE56A37447 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */;
486 | buildSettings = {
487 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
488 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
489 | INFOPLIST_FILE = LoadMoreTableViewController/Info.plist;
490 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)";
491 | MODULE_NAME = ExampleApp;
492 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.LoadMoreTableViewController-Example";
493 | PRODUCT_NAME = "$(TARGET_NAME)";
494 | SWIFT_VERSION = 5.0;
495 | };
496 | name = Debug;
497 | };
498 | 607FACF11AFB9204008FA782 /* Release */ = {
499 | isa = XCBuildConfiguration;
500 | baseConfigurationReference = 6AA2CE3D97FCD85B9DB9B224 /* Pods-LoadMoreTableViewController_Example.release.xcconfig */;
501 | buildSettings = {
502 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
503 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
504 | INFOPLIST_FILE = LoadMoreTableViewController/Info.plist;
505 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)";
506 | MODULE_NAME = ExampleApp;
507 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.LoadMoreTableViewController-Example";
508 | PRODUCT_NAME = "$(TARGET_NAME)";
509 | SWIFT_VERSION = 5.0;
510 | };
511 | name = Release;
512 | };
513 | 607FACF31AFB9204008FA782 /* Debug */ = {
514 | isa = XCBuildConfiguration;
515 | baseConfigurationReference = B352AAECF6A62B69FA4C6AAC /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */;
516 | buildSettings = {
517 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
518 | BUNDLE_LOADER = "$(TEST_HOST)";
519 | FRAMEWORK_SEARCH_PATHS = "$(inherited)";
520 | GCC_PREPROCESSOR_DEFINITIONS = (
521 | "DEBUG=1",
522 | "$(inherited)",
523 | );
524 | INFOPLIST_FILE = Tests/Info.plist;
525 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)";
526 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
527 | PRODUCT_NAME = "$(TARGET_NAME)";
528 | SWIFT_VERSION = 5.0;
529 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LoadMoreTableViewController_Example.app/LoadMoreTableViewController_Example";
530 | };
531 | name = Debug;
532 | };
533 | 607FACF41AFB9204008FA782 /* Release */ = {
534 | isa = XCBuildConfiguration;
535 | baseConfigurationReference = 0B01B9EAB5CA6917D1622012 /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */;
536 | buildSettings = {
537 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
538 | BUNDLE_LOADER = "$(TEST_HOST)";
539 | FRAMEWORK_SEARCH_PATHS = "$(inherited)";
540 | INFOPLIST_FILE = Tests/Info.plist;
541 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)";
542 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
543 | PRODUCT_NAME = "$(TARGET_NAME)";
544 | SWIFT_VERSION = 5.0;
545 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LoadMoreTableViewController_Example.app/LoadMoreTableViewController_Example";
546 | };
547 | name = Release;
548 | };
549 | /* End XCBuildConfiguration section */
550 |
551 | /* Begin XCConfigurationList section */
552 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "LoadMoreTableViewController" */ = {
553 | isa = XCConfigurationList;
554 | buildConfigurations = (
555 | 607FACED1AFB9204008FA782 /* Debug */,
556 | 607FACEE1AFB9204008FA782 /* Release */,
557 | );
558 | defaultConfigurationIsVisible = 0;
559 | defaultConfigurationName = Release;
560 | };
561 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController_Example" */ = {
562 | isa = XCConfigurationList;
563 | buildConfigurations = (
564 | 607FACF01AFB9204008FA782 /* Debug */,
565 | 607FACF11AFB9204008FA782 /* Release */,
566 | );
567 | defaultConfigurationIsVisible = 0;
568 | defaultConfigurationName = Release;
569 | };
570 | 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController_Tests" */ = {
571 | isa = XCConfigurationList;
572 | buildConfigurations = (
573 | 607FACF31AFB9204008FA782 /* Debug */,
574 | 607FACF41AFB9204008FA782 /* Release */,
575 | );
576 | defaultConfigurationIsVisible = 0;
577 | defaultConfigurationName = Release;
578 | };
579 | /* End XCConfigurationList section */
580 | };
581 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
582 | }
583 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController.xcodeproj/xcshareddata/xcschemes/LoadMoreTableViewController-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
45 |
46 |
48 |
54 |
55 |
56 |
57 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
80 |
82 |
88 |
89 |
90 |
91 |
92 |
93 |
99 |
101 |
107 |
108 |
109 |
110 |
112 |
113 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // LoadMoreTableViewController
4 | //
5 | // Created by mishimay on 10/22/2015.
6 | // Copyright (c) 2015 istyle Inc. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | private func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> 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 throttle down OpenGL ES frame rates. 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 inactive 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 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
21 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/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 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/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 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/SampleCell.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
28 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Example/LoadMoreTableViewController/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // LoadMoreTableViewController
4 | //
5 | // Created by mishimay on 10/22/2015.
6 | // Copyright (c) 2015 istyle Inc. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LoadMoreTableViewController
11 |
12 | func delay(_ delay: TimeInterval, block: @escaping () -> ()) {
13 | DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
14 | block()
15 | }
16 | }
17 |
18 | class ViewController: LoadMoreTableViewController {
19 |
20 | private var count = 0
21 |
22 | override func viewDidLoad() {
23 | super.viewDidLoad()
24 |
25 | navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Clear", style: .plain, target: self, action: #selector(clear))
26 | navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Refresh", style: .plain, target: self, action: #selector(refresh))
27 |
28 | refreshControl = UIRefreshControl()
29 | refreshControl?.addTarget(self, action: #selector(refresh), for: .valueChanged)
30 |
31 | tableView.register(UINib(nibName: "SampleCell", bundle: nil), forCellReuseIdentifier: cellReuseIdentifier)
32 | tableView.register(UINib(nibName: "AdCell", bundle: nil), forCellReuseIdentifier: "Ad")
33 |
34 | LoadMoreTableViewController.retryText = "Custom Retry Text"
35 | fetchCellReuseIdentifier = { [weak self] row in
36 | return self?.sourceObjects[row] is NSNull ? "Ad" : nil
37 | }
38 | fetchSourceObjects = { [weak self] completion in
39 | var newNumbers = [Int]()
40 | for _ in 0..<5 {
41 | self?.count += 1
42 | newNumbers.append(self?.count ?? 0)
43 | }
44 |
45 | delay(1) { // Pretend to fetch data
46 |
47 | // Test retry button
48 | let showRetryButton = newNumbers.filter { $0 % 20 == 0 }.count > 0
49 | if showRetryButton {
50 | delay(0.1) {
51 | self?.showRetryButton()
52 | }
53 | }
54 |
55 | let refreshing = self?.refreshControl?.isRefreshing == true
56 | if refreshing {
57 | self?.refreshControl?.endRefreshing()
58 | }
59 |
60 | delay(refreshing ? 0.3 : 0) {
61 | completion(newNumbers.map { "sample \($0)" } + [NSNull()], true)
62 | }
63 | }
64 | }
65 | configureCell = { [weak self] cell, row in
66 | if cell.reuseIdentifier == self?.cellReuseIdentifier {
67 | cell.textLabel?.text = self?.sourceObjects[row] as? String
68 | cell.detailTextLabel?.text = NSDate().description
69 | }
70 | return cell
71 | }
72 | didSelectRow = { [weak self] row in
73 | if let title = self?.sourceObjects[row] as? String {
74 | print("did select \(title)")
75 | }
76 | }
77 | }
78 |
79 | @objc func clear() {
80 | count = 0
81 | safeRefreshData(immediately: true)
82 | }
83 |
84 | @objc func refresh() {
85 | count = 0
86 | safeRefreshData(immediately: false)
87 | }
88 |
89 | }
90 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '13.0'
3 | use_frameworks!
4 |
5 | target 'LoadMoreTableViewController_Example' do
6 | pod "LoadMoreTableViewController", :path => "../"
7 | end
8 |
9 | target 'LoadMoreTableViewController_Tests' do
10 | pod "LoadMoreTableViewController", :path => "../"
11 | end
12 |
13 | # cf. http://stackoverflow.com/questions/38446097/xcode-8-beta-3-use-legacy-swift-issue
14 | post_install do |installer|
15 | installer.pods_project.targets.each do |target|
16 | target.build_configurations.each do |config|
17 | config.build_settings['SWIFT_VERSION'] = '5.3'
18 | end
19 | end
20 | end
21 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LoadMoreTableViewController (2.1.3)
3 |
4 | DEPENDENCIES:
5 | - LoadMoreTableViewController (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | LoadMoreTableViewController:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | LoadMoreTableViewController: 63f2ed3f6607927dad644dd44f7c8c620df3247c
13 |
14 | PODFILE CHECKSUM: 25f21d1f8d3bb49e8003c83b8feae2e44d0b6311
15 |
16 | COCOAPODS: 1.10.1
17 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/LoadMoreTableViewController.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "LoadMoreTableViewController",
3 | "version": "2.1.3",
4 | "summary": "Automatic cell loading on UITableViewController.",
5 | "homepage": "https://github.com/istyle-inc/LoadMoreTableViewController",
6 | "license": "MIT",
7 | "authors": {
8 | "mishimay": "mishimay@istyle.co.jp"
9 | },
10 | "source": {
11 | "git": "https://github.com/istyle-inc/LoadMoreTableViewController.git",
12 | "tag": "2.1.3"
13 | },
14 | "platforms": {
15 | "ios": "8.0"
16 | },
17 | "requires_arc": true,
18 | "source_files": "Pod/Classes/**/*"
19 | }
20 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LoadMoreTableViewController (2.1.3)
3 |
4 | DEPENDENCIES:
5 | - LoadMoreTableViewController (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | LoadMoreTableViewController:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | LoadMoreTableViewController: 63f2ed3f6607927dad644dd44f7c8c620df3247c
13 |
14 | PODFILE CHECKSUM: 25f21d1f8d3bb49e8003c83b8feae2e44d0b6311
15 |
16 | COCOAPODS: 1.10.1
17 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 41AF35E33AEFFECA4EE0549D1A53AC7D /* FooterCell.xib in Sources */ = {isa = PBXBuildFile; fileRef = 62A2111F60B61EE6ACC913B2A2A9297F /* FooterCell.xib */; };
11 | 56D96C97B7FDCF9BDDE3BFC0C2A2F0B8 /* LoadMoreTableViewController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC3A93C46B6F3495C1EA8F6FEC6189D /* LoadMoreTableViewController-dummy.m */; };
12 | 58A4CB3589EA050F4B940998AE56F28A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
13 | 624BA0C426EF11BF0471A2E41855F121 /* Pods-LoadMoreTableViewController_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ACC3E4C5D0047F1381DC58D9F41DAFFC /* Pods-LoadMoreTableViewController_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
14 | 7565B967A5E572F4A912EE87ACD9563E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
15 | 7A0490ECA6AAD9FE5BB52C4E767CA7B8 /* LoadMoreTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B276E019D444D04DFF656BEE2BFB6B7 /* LoadMoreTableViewController.swift */; };
16 | 8333FFA9ACC758133392DD3466E97480 /* LoadMoreTableViewController-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 32E76965F590A2B941E8A63397B44A0E /* LoadMoreTableViewController-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
17 | 94A893F69F4E621B5373C439E069B4E6 /* Pods-LoadMoreTableViewController_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EF5E65C7914C9DBA4EF8C442A7859DDE /* Pods-LoadMoreTableViewController_Example-dummy.m */; };
18 | B2C1508E8132AA69524402928323B4D3 /* FooterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE28A5A875741C3F063BE4D26985322 /* FooterCell.swift */; };
19 | BA1F8A573BB434B7134C6E540C87CCFF /* Pods-LoadMoreTableViewController_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 951A76E4AC2F36872747311B30077546 /* Pods-LoadMoreTableViewController_Tests-dummy.m */; };
20 | CE6D11A9CE868B37BE18EE816E2FCCF4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
21 | EB8E2F9BF1B48A7E42075EBA05C9C28E /* Pods-LoadMoreTableViewController_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F53BC28E6A646E5EE2A9642A167FFE1A /* Pods-LoadMoreTableViewController_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
22 | /* End PBXBuildFile section */
23 |
24 | /* Begin PBXContainerItemProxy section */
25 | 44287ED67038AE57364BFF1FF8BC1EB4 /* PBXContainerItemProxy */ = {
26 | isa = PBXContainerItemProxy;
27 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
28 | proxyType = 1;
29 | remoteGlobalIDString = C23D2D5CCE2A5AA4497717758CA91780;
30 | remoteInfo = LoadMoreTableViewController;
31 | };
32 | 90EDD4C28507212950C207CC7EC2FDF9 /* PBXContainerItemProxy */ = {
33 | isa = PBXContainerItemProxy;
34 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
35 | proxyType = 1;
36 | remoteGlobalIDString = C23D2D5CCE2A5AA4497717758CA91780;
37 | remoteInfo = LoadMoreTableViewController;
38 | };
39 | /* End PBXContainerItemProxy section */
40 |
41 | /* Begin PBXFileReference section */
42 | 09AAB550CACB147640372F9DCCE1785A /* Pods-LoadMoreTableViewController_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LoadMoreTableViewController_Example.release.xcconfig"; sourceTree = ""; };
43 | 1F70BD1097E2219323D155A0D91230C5 /* Pods-LoadMoreTableViewController_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LoadMoreTableViewController_Tests.modulemap"; sourceTree = ""; };
44 | 32E76965F590A2B941E8A63397B44A0E /* LoadMoreTableViewController-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LoadMoreTableViewController-umbrella.h"; sourceTree = ""; };
45 | 35D8B7200CA2262DFC801AA75850108A /* Pods-LoadMoreTableViewController_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LoadMoreTableViewController_Tests-acknowledgements.plist"; sourceTree = ""; };
46 | 3D873DCF91CED1A5416417C041A5F04E /* LoadMoreTableViewController-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LoadMoreTableViewController-Info.plist"; sourceTree = ""; };
47 | 62A2111F60B61EE6ACC913B2A2A9297F /* FooterCell.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = FooterCell.xib; path = Pod/Classes/FooterCell.xib; sourceTree = ""; };
48 | 69034C6D4BB42EAAA09763CCB0B69052 /* Pods-LoadMoreTableViewController_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LoadMoreTableViewController_Example-acknowledgements.markdown"; sourceTree = ""; };
49 | 72DE605EAE613A1A1003E5B085A44F4D /* Pods_LoadMoreTableViewController_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LoadMoreTableViewController_Example.framework; path = "Pods-LoadMoreTableViewController_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
50 | 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; };
51 | 756D063DD3966A6B963E041FC569F046 /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LoadMoreTableViewController_Tests.debug.xcconfig"; sourceTree = ""; };
52 | 7B276E019D444D04DFF656BEE2BFB6B7 /* LoadMoreTableViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LoadMoreTableViewController.swift; path = Pod/Classes/LoadMoreTableViewController.swift; sourceTree = ""; };
53 | 80E28A16F5B1F0208526FEBAE5F212CA /* LoadMoreTableViewController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LoadMoreTableViewController.framework; path = LoadMoreTableViewController.framework; sourceTree = BUILT_PRODUCTS_DIR; };
54 | 8CC23B2456A7C2CE4CCD4CB1A9988364 /* LoadMoreTableViewController.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = LoadMoreTableViewController.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
55 | 8DB93701CB7E12B55BE7E40505897A75 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
56 | 951A76E4AC2F36872747311B30077546 /* Pods-LoadMoreTableViewController_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LoadMoreTableViewController_Tests-dummy.m"; sourceTree = ""; };
57 | 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; };
58 | 9FB66F973DCBBB9EB3206D1BE50FD7FD /* Pods-LoadMoreTableViewController_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LoadMoreTableViewController_Example.modulemap"; sourceTree = ""; };
59 | A23BE063BB07A2158B3535F459EE8A9C /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LoadMoreTableViewController_Tests.release.xcconfig"; sourceTree = ""; };
60 | A42CE07EF6BF35B903BCF1305750BE2A /* Pods-LoadMoreTableViewController_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LoadMoreTableViewController_Example-Info.plist"; sourceTree = ""; };
61 | A66EB08DB3A70E30EA15BC38A03C8B29 /* Pods-LoadMoreTableViewController_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LoadMoreTableViewController_Example-acknowledgements.plist"; sourceTree = ""; };
62 | AC6300A58640C4C4D5280298DD8A96A0 /* Pods-LoadMoreTableViewController_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LoadMoreTableViewController_Tests-acknowledgements.markdown"; sourceTree = ""; };
63 | ACC3E4C5D0047F1381DC58D9F41DAFFC /* Pods-LoadMoreTableViewController_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LoadMoreTableViewController_Tests-umbrella.h"; sourceTree = ""; };
64 | AFAC469F7DA92E1E04F3C94284643B99 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
65 | B7C879285B0AEE843CA18713D254A517 /* Pods-LoadMoreTableViewController_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LoadMoreTableViewController_Example-frameworks.sh"; sourceTree = ""; };
66 | B9942ED942CAB9655D24F8ED386496F0 /* LoadMoreTableViewController.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LoadMoreTableViewController.release.xcconfig; sourceTree = ""; };
67 | C1AEFC14A28453DAE3896C25AAE6A638 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LoadMoreTableViewController_Example.debug.xcconfig"; sourceTree = ""; };
68 | CEE28A5A875741C3F063BE4D26985322 /* FooterCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FooterCell.swift; path = Pod/Classes/FooterCell.swift; sourceTree = ""; };
69 | D13C908040948AC8B2684FD9BF51CD24 /* LoadMoreTableViewController-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LoadMoreTableViewController-prefix.pch"; sourceTree = ""; };
70 | D5C4C1B98CF6E38441ABCC25B52453DE /* Pods_LoadMoreTableViewController_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LoadMoreTableViewController_Tests.framework; path = "Pods-LoadMoreTableViewController_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
71 | D6801D913F07C2EDC907A2CBDEA276E3 /* Pods-LoadMoreTableViewController_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LoadMoreTableViewController_Tests-frameworks.sh"; sourceTree = ""; };
72 | D9B1D7B4FD8EFF3CE3F98411DA2787DE /* LoadMoreTableViewController.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LoadMoreTableViewController.modulemap; sourceTree = ""; };
73 | EF5E65C7914C9DBA4EF8C442A7859DDE /* Pods-LoadMoreTableViewController_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LoadMoreTableViewController_Example-dummy.m"; sourceTree = ""; };
74 | EF8D8168CCF5EA8215BF8B560D03ED03 /* Pods-LoadMoreTableViewController_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LoadMoreTableViewController_Tests-Info.plist"; sourceTree = ""; };
75 | EFC3A93C46B6F3495C1EA8F6FEC6189D /* LoadMoreTableViewController-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LoadMoreTableViewController-dummy.m"; sourceTree = ""; };
76 | F53BC28E6A646E5EE2A9642A167FFE1A /* Pods-LoadMoreTableViewController_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LoadMoreTableViewController_Example-umbrella.h"; sourceTree = ""; };
77 | FB9AB6E03CD1A4C695FD6B3833FC91A3 /* LoadMoreTableViewController.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LoadMoreTableViewController.debug.xcconfig; sourceTree = ""; };
78 | /* End PBXFileReference section */
79 |
80 | /* Begin PBXFrameworksBuildPhase section */
81 | A3477DB9F09E53852F6046A196FD0BEE /* Frameworks */ = {
82 | isa = PBXFrameworksBuildPhase;
83 | buildActionMask = 2147483647;
84 | files = (
85 | 58A4CB3589EA050F4B940998AE56F28A /* Foundation.framework in Frameworks */,
86 | );
87 | runOnlyForDeploymentPostprocessing = 0;
88 | };
89 | C617D8914FF8C356C00F5550BB67E1CD /* Frameworks */ = {
90 | isa = PBXFrameworksBuildPhase;
91 | buildActionMask = 2147483647;
92 | files = (
93 | 7565B967A5E572F4A912EE87ACD9563E /* Foundation.framework in Frameworks */,
94 | );
95 | runOnlyForDeploymentPostprocessing = 0;
96 | };
97 | C74CA1DB5FE43CD2A1AB69A07BDCE95B /* Frameworks */ = {
98 | isa = PBXFrameworksBuildPhase;
99 | buildActionMask = 2147483647;
100 | files = (
101 | CE6D11A9CE868B37BE18EE816E2FCCF4 /* Foundation.framework in Frameworks */,
102 | );
103 | runOnlyForDeploymentPostprocessing = 0;
104 | };
105 | /* End PBXFrameworksBuildPhase section */
106 |
107 | /* Begin PBXGroup section */
108 | 0958AEDF2ABDB6CEDB41FFC5A95D929F /* Support Files */ = {
109 | isa = PBXGroup;
110 | children = (
111 | D9B1D7B4FD8EFF3CE3F98411DA2787DE /* LoadMoreTableViewController.modulemap */,
112 | EFC3A93C46B6F3495C1EA8F6FEC6189D /* LoadMoreTableViewController-dummy.m */,
113 | 3D873DCF91CED1A5416417C041A5F04E /* LoadMoreTableViewController-Info.plist */,
114 | D13C908040948AC8B2684FD9BF51CD24 /* LoadMoreTableViewController-prefix.pch */,
115 | 32E76965F590A2B941E8A63397B44A0E /* LoadMoreTableViewController-umbrella.h */,
116 | FB9AB6E03CD1A4C695FD6B3833FC91A3 /* LoadMoreTableViewController.debug.xcconfig */,
117 | B9942ED942CAB9655D24F8ED386496F0 /* LoadMoreTableViewController.release.xcconfig */,
118 | );
119 | name = "Support Files";
120 | path = "Example/Pods/Target Support Files/LoadMoreTableViewController";
121 | sourceTree = "";
122 | };
123 | 0D6BCCCA2B18BFD9960CCE9C796D7C4B /* Pods-LoadMoreTableViewController_Tests */ = {
124 | isa = PBXGroup;
125 | children = (
126 | 1F70BD1097E2219323D155A0D91230C5 /* Pods-LoadMoreTableViewController_Tests.modulemap */,
127 | AC6300A58640C4C4D5280298DD8A96A0 /* Pods-LoadMoreTableViewController_Tests-acknowledgements.markdown */,
128 | 35D8B7200CA2262DFC801AA75850108A /* Pods-LoadMoreTableViewController_Tests-acknowledgements.plist */,
129 | 951A76E4AC2F36872747311B30077546 /* Pods-LoadMoreTableViewController_Tests-dummy.m */,
130 | D6801D913F07C2EDC907A2CBDEA276E3 /* Pods-LoadMoreTableViewController_Tests-frameworks.sh */,
131 | EF8D8168CCF5EA8215BF8B560D03ED03 /* Pods-LoadMoreTableViewController_Tests-Info.plist */,
132 | ACC3E4C5D0047F1381DC58D9F41DAFFC /* Pods-LoadMoreTableViewController_Tests-umbrella.h */,
133 | 756D063DD3966A6B963E041FC569F046 /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */,
134 | A23BE063BB07A2158B3535F459EE8A9C /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */,
135 | );
136 | name = "Pods-LoadMoreTableViewController_Tests";
137 | path = "Target Support Files/Pods-LoadMoreTableViewController_Tests";
138 | sourceTree = "";
139 | };
140 | 1A33744BDA34F8278FF5676E9BC87C97 /* Pod */ = {
141 | isa = PBXGroup;
142 | children = (
143 | AFAC469F7DA92E1E04F3C94284643B99 /* LICENSE */,
144 | 8CC23B2456A7C2CE4CCD4CB1A9988364 /* LoadMoreTableViewController.podspec */,
145 | 8DB93701CB7E12B55BE7E40505897A75 /* README.md */,
146 | );
147 | name = Pod;
148 | sourceTree = "";
149 | };
150 | 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
151 | isa = PBXGroup;
152 | children = (
153 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
154 | );
155 | name = iOS;
156 | sourceTree = "";
157 | };
158 | 61FAE1C6731A15F727AEC73B02565D3F /* Products */ = {
159 | isa = PBXGroup;
160 | children = (
161 | 80E28A16F5B1F0208526FEBAE5F212CA /* LoadMoreTableViewController.framework */,
162 | 72DE605EAE613A1A1003E5B085A44F4D /* Pods_LoadMoreTableViewController_Example.framework */,
163 | D5C4C1B98CF6E38441ABCC25B52453DE /* Pods_LoadMoreTableViewController_Tests.framework */,
164 | );
165 | name = Products;
166 | sourceTree = "";
167 | };
168 | 7A6A697FC6083D025136EA2DABFAA80B /* Pods-LoadMoreTableViewController_Example */ = {
169 | isa = PBXGroup;
170 | children = (
171 | 9FB66F973DCBBB9EB3206D1BE50FD7FD /* Pods-LoadMoreTableViewController_Example.modulemap */,
172 | 69034C6D4BB42EAAA09763CCB0B69052 /* Pods-LoadMoreTableViewController_Example-acknowledgements.markdown */,
173 | A66EB08DB3A70E30EA15BC38A03C8B29 /* Pods-LoadMoreTableViewController_Example-acknowledgements.plist */,
174 | EF5E65C7914C9DBA4EF8C442A7859DDE /* Pods-LoadMoreTableViewController_Example-dummy.m */,
175 | B7C879285B0AEE843CA18713D254A517 /* Pods-LoadMoreTableViewController_Example-frameworks.sh */,
176 | A42CE07EF6BF35B903BCF1305750BE2A /* Pods-LoadMoreTableViewController_Example-Info.plist */,
177 | F53BC28E6A646E5EE2A9642A167FFE1A /* Pods-LoadMoreTableViewController_Example-umbrella.h */,
178 | C1AEFC14A28453DAE3896C25AAE6A638 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */,
179 | 09AAB550CACB147640372F9DCCE1785A /* Pods-LoadMoreTableViewController_Example.release.xcconfig */,
180 | );
181 | name = "Pods-LoadMoreTableViewController_Example";
182 | path = "Target Support Files/Pods-LoadMoreTableViewController_Example";
183 | sourceTree = "";
184 | };
185 | A5E86484090FFE7E92EFBBD09138262F /* LoadMoreTableViewController */ = {
186 | isa = PBXGroup;
187 | children = (
188 | CEE28A5A875741C3F063BE4D26985322 /* FooterCell.swift */,
189 | 62A2111F60B61EE6ACC913B2A2A9297F /* FooterCell.xib */,
190 | 7B276E019D444D04DFF656BEE2BFB6B7 /* LoadMoreTableViewController.swift */,
191 | 1A33744BDA34F8278FF5676E9BC87C97 /* Pod */,
192 | 0958AEDF2ABDB6CEDB41FFC5A95D929F /* Support Files */,
193 | );
194 | name = LoadMoreTableViewController;
195 | path = ../..;
196 | sourceTree = "";
197 | };
198 | C7E8AABEDFA7C0A7BFA81DC09866E10A /* Targets Support Files */ = {
199 | isa = PBXGroup;
200 | children = (
201 | 7A6A697FC6083D025136EA2DABFAA80B /* Pods-LoadMoreTableViewController_Example */,
202 | 0D6BCCCA2B18BFD9960CCE9C796D7C4B /* Pods-LoadMoreTableViewController_Tests */,
203 | );
204 | name = "Targets Support Files";
205 | sourceTree = "";
206 | };
207 | CF1408CF629C7361332E53B88F7BD30C = {
208 | isa = PBXGroup;
209 | children = (
210 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
211 | D19A3D57167B18A9FB26B93DE0279064 /* Development Pods */,
212 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
213 | 61FAE1C6731A15F727AEC73B02565D3F /* Products */,
214 | C7E8AABEDFA7C0A7BFA81DC09866E10A /* Targets Support Files */,
215 | );
216 | sourceTree = "";
217 | };
218 | D19A3D57167B18A9FB26B93DE0279064 /* Development Pods */ = {
219 | isa = PBXGroup;
220 | children = (
221 | A5E86484090FFE7E92EFBBD09138262F /* LoadMoreTableViewController */,
222 | );
223 | name = "Development Pods";
224 | sourceTree = "";
225 | };
226 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
227 | isa = PBXGroup;
228 | children = (
229 | 578452D2E740E91742655AC8F1636D1F /* iOS */,
230 | );
231 | name = Frameworks;
232 | sourceTree = "";
233 | };
234 | /* End PBXGroup section */
235 |
236 | /* Begin PBXHeadersBuildPhase section */
237 | 0B46CF1FB0DC71FDCFFDF9DD3C61E65B /* Headers */ = {
238 | isa = PBXHeadersBuildPhase;
239 | buildActionMask = 2147483647;
240 | files = (
241 | 624BA0C426EF11BF0471A2E41855F121 /* Pods-LoadMoreTableViewController_Tests-umbrella.h in Headers */,
242 | );
243 | runOnlyForDeploymentPostprocessing = 0;
244 | };
245 | 1FCD77FAAA3EFC990C3B5240CAF2805F /* Headers */ = {
246 | isa = PBXHeadersBuildPhase;
247 | buildActionMask = 2147483647;
248 | files = (
249 | 8333FFA9ACC758133392DD3466E97480 /* LoadMoreTableViewController-umbrella.h in Headers */,
250 | );
251 | runOnlyForDeploymentPostprocessing = 0;
252 | };
253 | 4CDB0E6BAA5B3C241A8728ECE942152B /* Headers */ = {
254 | isa = PBXHeadersBuildPhase;
255 | buildActionMask = 2147483647;
256 | files = (
257 | EB8E2F9BF1B48A7E42075EBA05C9C28E /* Pods-LoadMoreTableViewController_Example-umbrella.h in Headers */,
258 | );
259 | runOnlyForDeploymentPostprocessing = 0;
260 | };
261 | /* End PBXHeadersBuildPhase section */
262 |
263 | /* Begin PBXNativeTarget section */
264 | A62FAA0ADCF664C87BBDABBFF643532A /* Pods-LoadMoreTableViewController_Tests */ = {
265 | isa = PBXNativeTarget;
266 | buildConfigurationList = 41A98BBD38465B96DDBD594BDD90C806 /* Build configuration list for PBXNativeTarget "Pods-LoadMoreTableViewController_Tests" */;
267 | buildPhases = (
268 | 0B46CF1FB0DC71FDCFFDF9DD3C61E65B /* Headers */,
269 | 86F182CF4E298EBE62E3DF04257EF765 /* Sources */,
270 | C74CA1DB5FE43CD2A1AB69A07BDCE95B /* Frameworks */,
271 | 632772FFBD754E85C5B3D89F6E6587FC /* Resources */,
272 | );
273 | buildRules = (
274 | );
275 | dependencies = (
276 | 9FEB883B486A3B965D83756DC247DF1D /* PBXTargetDependency */,
277 | );
278 | name = "Pods-LoadMoreTableViewController_Tests";
279 | productName = "Pods-LoadMoreTableViewController_Tests";
280 | productReference = D5C4C1B98CF6E38441ABCC25B52453DE /* Pods_LoadMoreTableViewController_Tests.framework */;
281 | productType = "com.apple.product-type.framework";
282 | };
283 | C23D2D5CCE2A5AA4497717758CA91780 /* LoadMoreTableViewController */ = {
284 | isa = PBXNativeTarget;
285 | buildConfigurationList = 0AC049300E34A6D404F801E85009BCD4 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController" */;
286 | buildPhases = (
287 | 1FCD77FAAA3EFC990C3B5240CAF2805F /* Headers */,
288 | D942C872F11F31AF02668A26E0311378 /* Sources */,
289 | A3477DB9F09E53852F6046A196FD0BEE /* Frameworks */,
290 | E36BF6D09B1D3AFD465912C64ED3936F /* Resources */,
291 | );
292 | buildRules = (
293 | );
294 | dependencies = (
295 | );
296 | name = LoadMoreTableViewController;
297 | productName = LoadMoreTableViewController;
298 | productReference = 80E28A16F5B1F0208526FEBAE5F212CA /* LoadMoreTableViewController.framework */;
299 | productType = "com.apple.product-type.framework";
300 | };
301 | CB5A43596405F5B25C8EB7A1A138A057 /* Pods-LoadMoreTableViewController_Example */ = {
302 | isa = PBXNativeTarget;
303 | buildConfigurationList = 9D83D48D31533725FAC5BD9E4F1148CF /* Build configuration list for PBXNativeTarget "Pods-LoadMoreTableViewController_Example" */;
304 | buildPhases = (
305 | 4CDB0E6BAA5B3C241A8728ECE942152B /* Headers */,
306 | 5D1D4A2D2BA28F68326659FBDB7BBD6B /* Sources */,
307 | C617D8914FF8C356C00F5550BB67E1CD /* Frameworks */,
308 | 600AFE3A8D8DB4CE26A7C2C891B7AB1E /* Resources */,
309 | );
310 | buildRules = (
311 | );
312 | dependencies = (
313 | AA94F6052CD0F729C4C70CABCBF6E1A8 /* PBXTargetDependency */,
314 | );
315 | name = "Pods-LoadMoreTableViewController_Example";
316 | productName = "Pods-LoadMoreTableViewController_Example";
317 | productReference = 72DE605EAE613A1A1003E5B085A44F4D /* Pods_LoadMoreTableViewController_Example.framework */;
318 | productType = "com.apple.product-type.framework";
319 | };
320 | /* End PBXNativeTarget section */
321 |
322 | /* Begin PBXProject section */
323 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
324 | isa = PBXProject;
325 | attributes = {
326 | LastSwiftUpdateCheck = 1100;
327 | LastUpgradeCheck = 1100;
328 | };
329 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
330 | compatibilityVersion = "Xcode 3.2";
331 | developmentRegion = en;
332 | hasScannedForEncodings = 0;
333 | knownRegions = (
334 | en,
335 | Base,
336 | );
337 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
338 | productRefGroup = 61FAE1C6731A15F727AEC73B02565D3F /* Products */;
339 | projectDirPath = "";
340 | projectRoot = "";
341 | targets = (
342 | C23D2D5CCE2A5AA4497717758CA91780 /* LoadMoreTableViewController */,
343 | CB5A43596405F5B25C8EB7A1A138A057 /* Pods-LoadMoreTableViewController_Example */,
344 | A62FAA0ADCF664C87BBDABBFF643532A /* Pods-LoadMoreTableViewController_Tests */,
345 | );
346 | };
347 | /* End PBXProject section */
348 |
349 | /* Begin PBXResourcesBuildPhase section */
350 | 600AFE3A8D8DB4CE26A7C2C891B7AB1E /* Resources */ = {
351 | isa = PBXResourcesBuildPhase;
352 | buildActionMask = 2147483647;
353 | files = (
354 | );
355 | runOnlyForDeploymentPostprocessing = 0;
356 | };
357 | 632772FFBD754E85C5B3D89F6E6587FC /* Resources */ = {
358 | isa = PBXResourcesBuildPhase;
359 | buildActionMask = 2147483647;
360 | files = (
361 | );
362 | runOnlyForDeploymentPostprocessing = 0;
363 | };
364 | E36BF6D09B1D3AFD465912C64ED3936F /* Resources */ = {
365 | isa = PBXResourcesBuildPhase;
366 | buildActionMask = 2147483647;
367 | files = (
368 | );
369 | runOnlyForDeploymentPostprocessing = 0;
370 | };
371 | /* End PBXResourcesBuildPhase section */
372 |
373 | /* Begin PBXSourcesBuildPhase section */
374 | 5D1D4A2D2BA28F68326659FBDB7BBD6B /* Sources */ = {
375 | isa = PBXSourcesBuildPhase;
376 | buildActionMask = 2147483647;
377 | files = (
378 | 94A893F69F4E621B5373C439E069B4E6 /* Pods-LoadMoreTableViewController_Example-dummy.m in Sources */,
379 | );
380 | runOnlyForDeploymentPostprocessing = 0;
381 | };
382 | 86F182CF4E298EBE62E3DF04257EF765 /* Sources */ = {
383 | isa = PBXSourcesBuildPhase;
384 | buildActionMask = 2147483647;
385 | files = (
386 | BA1F8A573BB434B7134C6E540C87CCFF /* Pods-LoadMoreTableViewController_Tests-dummy.m in Sources */,
387 | );
388 | runOnlyForDeploymentPostprocessing = 0;
389 | };
390 | D942C872F11F31AF02668A26E0311378 /* Sources */ = {
391 | isa = PBXSourcesBuildPhase;
392 | buildActionMask = 2147483647;
393 | files = (
394 | B2C1508E8132AA69524402928323B4D3 /* FooterCell.swift in Sources */,
395 | 41AF35E33AEFFECA4EE0549D1A53AC7D /* FooterCell.xib in Sources */,
396 | 56D96C97B7FDCF9BDDE3BFC0C2A2F0B8 /* LoadMoreTableViewController-dummy.m in Sources */,
397 | 7A0490ECA6AAD9FE5BB52C4E767CA7B8 /* LoadMoreTableViewController.swift in Sources */,
398 | );
399 | runOnlyForDeploymentPostprocessing = 0;
400 | };
401 | /* End PBXSourcesBuildPhase section */
402 |
403 | /* Begin PBXTargetDependency section */
404 | 9FEB883B486A3B965D83756DC247DF1D /* PBXTargetDependency */ = {
405 | isa = PBXTargetDependency;
406 | name = LoadMoreTableViewController;
407 | target = C23D2D5CCE2A5AA4497717758CA91780 /* LoadMoreTableViewController */;
408 | targetProxy = 90EDD4C28507212950C207CC7EC2FDF9 /* PBXContainerItemProxy */;
409 | };
410 | AA94F6052CD0F729C4C70CABCBF6E1A8 /* PBXTargetDependency */ = {
411 | isa = PBXTargetDependency;
412 | name = LoadMoreTableViewController;
413 | target = C23D2D5CCE2A5AA4497717758CA91780 /* LoadMoreTableViewController */;
414 | targetProxy = 44287ED67038AE57364BFF1FF8BC1EB4 /* PBXContainerItemProxy */;
415 | };
416 | /* End PBXTargetDependency section */
417 |
418 | /* Begin XCBuildConfiguration section */
419 | 3545240BEA3AD9988DD62A51437CE450 /* Release */ = {
420 | isa = XCBuildConfiguration;
421 | baseConfigurationReference = B9942ED942CAB9655D24F8ED386496F0 /* LoadMoreTableViewController.release.xcconfig */;
422 | buildSettings = {
423 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
424 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
425 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
426 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
427 | CURRENT_PROJECT_VERSION = 1;
428 | DEFINES_MODULE = YES;
429 | DYLIB_COMPATIBILITY_VERSION = 1;
430 | DYLIB_CURRENT_VERSION = 1;
431 | DYLIB_INSTALL_NAME_BASE = "@rpath";
432 | GCC_PREFIX_HEADER = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-prefix.pch";
433 | INFOPLIST_FILE = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-Info.plist";
434 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
435 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
436 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
437 | MODULEMAP_FILE = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.modulemap";
438 | PRODUCT_MODULE_NAME = LoadMoreTableViewController;
439 | PRODUCT_NAME = LoadMoreTableViewController;
440 | SDKROOT = iphoneos;
441 | SKIP_INSTALL = YES;
442 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
443 | SWIFT_VERSION = 5.3;
444 | TARGETED_DEVICE_FAMILY = "1,2";
445 | VALIDATE_PRODUCT = YES;
446 | VERSIONING_SYSTEM = "apple-generic";
447 | VERSION_INFO_PREFIX = "";
448 | };
449 | name = Release;
450 | };
451 | 76D12442520AE3A57201F851DCC817EB /* Release */ = {
452 | isa = XCBuildConfiguration;
453 | baseConfigurationReference = A23BE063BB07A2158B3535F459EE8A9C /* Pods-LoadMoreTableViewController_Tests.release.xcconfig */;
454 | buildSettings = {
455 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
456 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
457 | CLANG_ENABLE_OBJC_WEAK = NO;
458 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
459 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
460 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
461 | CURRENT_PROJECT_VERSION = 1;
462 | DEFINES_MODULE = YES;
463 | DYLIB_COMPATIBILITY_VERSION = 1;
464 | DYLIB_CURRENT_VERSION = 1;
465 | DYLIB_INSTALL_NAME_BASE = "@rpath";
466 | INFOPLIST_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-Info.plist";
467 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
468 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
469 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
470 | MACH_O_TYPE = staticlib;
471 | MODULEMAP_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.modulemap";
472 | OTHER_LDFLAGS = "";
473 | OTHER_LIBTOOLFLAGS = "";
474 | PODS_ROOT = "$(SRCROOT)";
475 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
476 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
477 | SDKROOT = iphoneos;
478 | SKIP_INSTALL = YES;
479 | SWIFT_VERSION = 5.3;
480 | TARGETED_DEVICE_FAMILY = "1,2";
481 | VALIDATE_PRODUCT = YES;
482 | VERSIONING_SYSTEM = "apple-generic";
483 | VERSION_INFO_PREFIX = "";
484 | };
485 | name = Release;
486 | };
487 | 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = {
488 | isa = XCBuildConfiguration;
489 | buildSettings = {
490 | ALWAYS_SEARCH_USER_PATHS = NO;
491 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
492 | CLANG_ANALYZER_NONNULL = YES;
493 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
494 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
495 | CLANG_CXX_LIBRARY = "libc++";
496 | CLANG_ENABLE_MODULES = YES;
497 | CLANG_ENABLE_OBJC_ARC = YES;
498 | CLANG_ENABLE_OBJC_WEAK = YES;
499 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
500 | CLANG_WARN_BOOL_CONVERSION = YES;
501 | CLANG_WARN_COMMA = YES;
502 | CLANG_WARN_CONSTANT_CONVERSION = YES;
503 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
504 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
505 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
506 | CLANG_WARN_EMPTY_BODY = YES;
507 | CLANG_WARN_ENUM_CONVERSION = YES;
508 | CLANG_WARN_INFINITE_RECURSION = YES;
509 | CLANG_WARN_INT_CONVERSION = YES;
510 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
511 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
512 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
513 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
514 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
515 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
516 | CLANG_WARN_STRICT_PROTOTYPES = YES;
517 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
518 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
519 | CLANG_WARN_UNREACHABLE_CODE = YES;
520 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
521 | COPY_PHASE_STRIP = NO;
522 | DEBUG_INFORMATION_FORMAT = dwarf;
523 | ENABLE_STRICT_OBJC_MSGSEND = YES;
524 | ENABLE_TESTABILITY = YES;
525 | GCC_C_LANGUAGE_STANDARD = gnu11;
526 | GCC_DYNAMIC_NO_PIC = NO;
527 | GCC_NO_COMMON_BLOCKS = YES;
528 | GCC_OPTIMIZATION_LEVEL = 0;
529 | GCC_PREPROCESSOR_DEFINITIONS = (
530 | "POD_CONFIGURATION_DEBUG=1",
531 | "DEBUG=1",
532 | "$(inherited)",
533 | );
534 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
535 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
536 | GCC_WARN_UNDECLARED_SELECTOR = YES;
537 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
538 | GCC_WARN_UNUSED_FUNCTION = YES;
539 | GCC_WARN_UNUSED_VARIABLE = YES;
540 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
541 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
542 | MTL_FAST_MATH = YES;
543 | ONLY_ACTIVE_ARCH = YES;
544 | PRODUCT_NAME = "$(TARGET_NAME)";
545 | STRIP_INSTALLED_PRODUCT = NO;
546 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
547 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
548 | SWIFT_VERSION = 5.0;
549 | SYMROOT = "${SRCROOT}/../build";
550 | };
551 | name = Debug;
552 | };
553 | 8EABAEFB7A53D09464A89112ED2EBB2F /* Release */ = {
554 | isa = XCBuildConfiguration;
555 | baseConfigurationReference = 09AAB550CACB147640372F9DCCE1785A /* Pods-LoadMoreTableViewController_Example.release.xcconfig */;
556 | buildSettings = {
557 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
558 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
559 | CLANG_ENABLE_OBJC_WEAK = NO;
560 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
561 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
562 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
563 | CURRENT_PROJECT_VERSION = 1;
564 | DEFINES_MODULE = YES;
565 | DYLIB_COMPATIBILITY_VERSION = 1;
566 | DYLIB_CURRENT_VERSION = 1;
567 | DYLIB_INSTALL_NAME_BASE = "@rpath";
568 | INFOPLIST_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-Info.plist";
569 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
570 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
571 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
572 | MACH_O_TYPE = staticlib;
573 | MODULEMAP_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.modulemap";
574 | OTHER_LDFLAGS = "";
575 | OTHER_LIBTOOLFLAGS = "";
576 | PODS_ROOT = "$(SRCROOT)";
577 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
578 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
579 | SDKROOT = iphoneos;
580 | SKIP_INSTALL = YES;
581 | SWIFT_VERSION = 5.3;
582 | TARGETED_DEVICE_FAMILY = "1,2";
583 | VALIDATE_PRODUCT = YES;
584 | VERSIONING_SYSTEM = "apple-generic";
585 | VERSION_INFO_PREFIX = "";
586 | };
587 | name = Release;
588 | };
589 | 992E4ABCB96AC685778C259B2A63FA90 /* Debug */ = {
590 | isa = XCBuildConfiguration;
591 | baseConfigurationReference = C1AEFC14A28453DAE3896C25AAE6A638 /* Pods-LoadMoreTableViewController_Example.debug.xcconfig */;
592 | buildSettings = {
593 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
594 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
595 | CLANG_ENABLE_OBJC_WEAK = NO;
596 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
597 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
598 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
599 | CURRENT_PROJECT_VERSION = 1;
600 | DEFINES_MODULE = YES;
601 | DYLIB_COMPATIBILITY_VERSION = 1;
602 | DYLIB_CURRENT_VERSION = 1;
603 | DYLIB_INSTALL_NAME_BASE = "@rpath";
604 | INFOPLIST_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-Info.plist";
605 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
606 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
607 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
608 | MACH_O_TYPE = staticlib;
609 | MODULEMAP_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.modulemap";
610 | OTHER_LDFLAGS = "";
611 | OTHER_LIBTOOLFLAGS = "";
612 | PODS_ROOT = "$(SRCROOT)";
613 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
614 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
615 | SDKROOT = iphoneos;
616 | SKIP_INSTALL = YES;
617 | SWIFT_VERSION = 5.3;
618 | TARGETED_DEVICE_FAMILY = "1,2";
619 | VERSIONING_SYSTEM = "apple-generic";
620 | VERSION_INFO_PREFIX = "";
621 | };
622 | name = Debug;
623 | };
624 | 9E406C6AAF85E580207CD97B0044DEAB /* Release */ = {
625 | isa = XCBuildConfiguration;
626 | buildSettings = {
627 | ALWAYS_SEARCH_USER_PATHS = NO;
628 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
629 | CLANG_ANALYZER_NONNULL = YES;
630 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
631 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
632 | CLANG_CXX_LIBRARY = "libc++";
633 | CLANG_ENABLE_MODULES = YES;
634 | CLANG_ENABLE_OBJC_ARC = YES;
635 | CLANG_ENABLE_OBJC_WEAK = YES;
636 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
637 | CLANG_WARN_BOOL_CONVERSION = YES;
638 | CLANG_WARN_COMMA = YES;
639 | CLANG_WARN_CONSTANT_CONVERSION = YES;
640 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
641 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
642 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
643 | CLANG_WARN_EMPTY_BODY = YES;
644 | CLANG_WARN_ENUM_CONVERSION = YES;
645 | CLANG_WARN_INFINITE_RECURSION = YES;
646 | CLANG_WARN_INT_CONVERSION = YES;
647 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
648 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
649 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
650 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
651 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
652 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
653 | CLANG_WARN_STRICT_PROTOTYPES = YES;
654 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
655 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
656 | CLANG_WARN_UNREACHABLE_CODE = YES;
657 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
658 | COPY_PHASE_STRIP = NO;
659 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
660 | ENABLE_NS_ASSERTIONS = NO;
661 | ENABLE_STRICT_OBJC_MSGSEND = YES;
662 | GCC_C_LANGUAGE_STANDARD = gnu11;
663 | GCC_NO_COMMON_BLOCKS = YES;
664 | GCC_PREPROCESSOR_DEFINITIONS = (
665 | "POD_CONFIGURATION_RELEASE=1",
666 | "$(inherited)",
667 | );
668 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
669 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
670 | GCC_WARN_UNDECLARED_SELECTOR = YES;
671 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
672 | GCC_WARN_UNUSED_FUNCTION = YES;
673 | GCC_WARN_UNUSED_VARIABLE = YES;
674 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
675 | MTL_ENABLE_DEBUG_INFO = NO;
676 | MTL_FAST_MATH = YES;
677 | PRODUCT_NAME = "$(TARGET_NAME)";
678 | STRIP_INSTALLED_PRODUCT = NO;
679 | SWIFT_COMPILATION_MODE = wholemodule;
680 | SWIFT_OPTIMIZATION_LEVEL = "-O";
681 | SWIFT_VERSION = 5.0;
682 | SYMROOT = "${SRCROOT}/../build";
683 | };
684 | name = Release;
685 | };
686 | B5BB27F0B691C2183421684B8529E314 /* Debug */ = {
687 | isa = XCBuildConfiguration;
688 | baseConfigurationReference = FB9AB6E03CD1A4C695FD6B3833FC91A3 /* LoadMoreTableViewController.debug.xcconfig */;
689 | buildSettings = {
690 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
691 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
692 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
693 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
694 | CURRENT_PROJECT_VERSION = 1;
695 | DEFINES_MODULE = YES;
696 | DYLIB_COMPATIBILITY_VERSION = 1;
697 | DYLIB_CURRENT_VERSION = 1;
698 | DYLIB_INSTALL_NAME_BASE = "@rpath";
699 | GCC_PREFIX_HEADER = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-prefix.pch";
700 | INFOPLIST_FILE = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-Info.plist";
701 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
702 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
703 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
704 | MODULEMAP_FILE = "Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.modulemap";
705 | PRODUCT_MODULE_NAME = LoadMoreTableViewController;
706 | PRODUCT_NAME = LoadMoreTableViewController;
707 | SDKROOT = iphoneos;
708 | SKIP_INSTALL = YES;
709 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
710 | SWIFT_VERSION = 5.3;
711 | TARGETED_DEVICE_FAMILY = "1,2";
712 | VERSIONING_SYSTEM = "apple-generic";
713 | VERSION_INFO_PREFIX = "";
714 | };
715 | name = Debug;
716 | };
717 | F682B0B5C0DB9E27AD92BFBB5434FBB3 /* Debug */ = {
718 | isa = XCBuildConfiguration;
719 | baseConfigurationReference = 756D063DD3966A6B963E041FC569F046 /* Pods-LoadMoreTableViewController_Tests.debug.xcconfig */;
720 | buildSettings = {
721 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
722 | ARCHS = "$(ARCHS_STANDARD_64_BIT)";
723 | CLANG_ENABLE_OBJC_WEAK = NO;
724 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
725 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
726 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
727 | CURRENT_PROJECT_VERSION = 1;
728 | DEFINES_MODULE = YES;
729 | DYLIB_COMPATIBILITY_VERSION = 1;
730 | DYLIB_CURRENT_VERSION = 1;
731 | DYLIB_INSTALL_NAME_BASE = "@rpath";
732 | INFOPLIST_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-Info.plist";
733 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
734 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
735 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
736 | MACH_O_TYPE = staticlib;
737 | MODULEMAP_FILE = "Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.modulemap";
738 | OTHER_LDFLAGS = "";
739 | OTHER_LIBTOOLFLAGS = "";
740 | PODS_ROOT = "$(SRCROOT)";
741 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
742 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
743 | SDKROOT = iphoneos;
744 | SKIP_INSTALL = YES;
745 | SWIFT_VERSION = 5.3;
746 | TARGETED_DEVICE_FAMILY = "1,2";
747 | VERSIONING_SYSTEM = "apple-generic";
748 | VERSION_INFO_PREFIX = "";
749 | };
750 | name = Debug;
751 | };
752 | /* End XCBuildConfiguration section */
753 |
754 | /* Begin XCConfigurationList section */
755 | 0AC049300E34A6D404F801E85009BCD4 /* Build configuration list for PBXNativeTarget "LoadMoreTableViewController" */ = {
756 | isa = XCConfigurationList;
757 | buildConfigurations = (
758 | B5BB27F0B691C2183421684B8529E314 /* Debug */,
759 | 3545240BEA3AD9988DD62A51437CE450 /* Release */,
760 | );
761 | defaultConfigurationIsVisible = 0;
762 | defaultConfigurationName = Release;
763 | };
764 | 41A98BBD38465B96DDBD594BDD90C806 /* Build configuration list for PBXNativeTarget "Pods-LoadMoreTableViewController_Tests" */ = {
765 | isa = XCConfigurationList;
766 | buildConfigurations = (
767 | F682B0B5C0DB9E27AD92BFBB5434FBB3 /* Debug */,
768 | 76D12442520AE3A57201F851DCC817EB /* Release */,
769 | );
770 | defaultConfigurationIsVisible = 0;
771 | defaultConfigurationName = Release;
772 | };
773 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
774 | isa = XCConfigurationList;
775 | buildConfigurations = (
776 | 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
777 | 9E406C6AAF85E580207CD97B0044DEAB /* Release */,
778 | );
779 | defaultConfigurationIsVisible = 0;
780 | defaultConfigurationName = Release;
781 | };
782 | 9D83D48D31533725FAC5BD9E4F1148CF /* Build configuration list for PBXNativeTarget "Pods-LoadMoreTableViewController_Example" */ = {
783 | isa = XCConfigurationList;
784 | buildConfigurations = (
785 | 992E4ABCB96AC685778C259B2A63FA90 /* Debug */,
786 | 8EABAEFB7A53D09464A89112ED2EBB2F /* Release */,
787 | );
788 | defaultConfigurationIsVisible = 0;
789 | defaultConfigurationName = Release;
790 | };
791 | /* End XCConfigurationList section */
792 | };
793 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
794 | }
795 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LoadMoreTableViewController.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
57 |
63 |
64 |
65 |
66 |
67 |
68 |
74 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.1.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_LoadMoreTableViewController : NSObject
3 | @end
4 | @implementation PodsDummy_LoadMoreTableViewController
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController-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 LoadMoreTableViewControllerVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char LoadMoreTableViewControllerVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.modulemap:
--------------------------------------------------------------------------------
1 | framework module LoadMoreTableViewController {
2 | umbrella header "LoadMoreTableViewController-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LoadMoreTableViewController/LoadMoreTableViewController.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## LoadMoreTableViewController
5 |
6 | Copyright (c) 2015 istyle Inc.
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2015 istyle Inc.
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | LoadMoreTableViewController
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LoadMoreTableViewController_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LoadMoreTableViewController_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 | 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 "${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 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
117 | fi
118 | fi
119 | }
120 |
121 | # Used as a return value for each invocation of `strip_invalid_archs` function.
122 | STRIP_BINARY_RETVAL=0
123 |
124 | # Strip invalid architectures
125 | strip_invalid_archs() {
126 | binary="$1"
127 | warn_missing_arch=${2:-true}
128 | # Get architectures for current target binary
129 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
130 | # Intersect them with the architectures we are building for
131 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
132 | # If there are no archs supported by this binary then warn the user
133 | if [[ -z "$intersected_archs" ]]; then
134 | if [[ "$warn_missing_arch" == "true" ]]; then
135 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
136 | fi
137 | STRIP_BINARY_RETVAL=1
138 | return
139 | fi
140 | stripped=""
141 | for arch in $binary_archs; do
142 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
143 | # Strip non-valid architectures in-place
144 | lipo -remove "$arch" -output "$binary" "$binary"
145 | stripped="$stripped $arch"
146 | fi
147 | done
148 | if [[ "$stripped" ]]; then
149 | echo "Stripped $binary of architectures:$stripped"
150 | fi
151 | STRIP_BINARY_RETVAL=0
152 | }
153 |
154 | # Copies the bcsymbolmap files of a vendored framework
155 | install_bcsymbolmap() {
156 | local bcsymbolmap_path="$1"
157 | local destination="${BUILT_PRODUCTS_DIR}"
158 | 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}""
159 | 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 | }
161 |
162 | # Signs a framework with the provided identity
163 | code_sign_if_enabled() {
164 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
165 | # Use the current code_sign_identity
166 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
167 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
168 |
169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
170 | code_sign_cmd="$code_sign_cmd &"
171 | fi
172 | echo "$code_sign_cmd"
173 | eval "$code_sign_cmd"
174 | fi
175 | }
176 |
177 | if [[ "$CONFIGURATION" == "Debug" ]]; then
178 | install_framework "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework"
179 | fi
180 | if [[ "$CONFIGURATION" == "Release" ]]; then
181 | install_framework "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework"
182 | fi
183 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
184 | wait
185 | fi
186 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-resources.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
7 | # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
8 | # resources to, so exit 0 (signalling the script phase was successful).
9 | exit 0
10 | fi
11 |
12 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
13 |
14 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
15 | > "$RESOURCES_TO_COPY"
16 |
17 | XCASSET_FILES=()
18 |
19 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
20 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
21 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
22 |
23 | case "${TARGETED_DEVICE_FAMILY:-}" in
24 | 1,2)
25 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
26 | ;;
27 | 1)
28 | TARGET_DEVICE_ARGS="--target-device iphone"
29 | ;;
30 | 2)
31 | TARGET_DEVICE_ARGS="--target-device ipad"
32 | ;;
33 | 3)
34 | TARGET_DEVICE_ARGS="--target-device tv"
35 | ;;
36 | 4)
37 | TARGET_DEVICE_ARGS="--target-device watch"
38 | ;;
39 | *)
40 | TARGET_DEVICE_ARGS="--target-device mac"
41 | ;;
42 | esac
43 |
44 | install_resource()
45 | {
46 | if [[ "$1" = /* ]] ; then
47 | RESOURCE_PATH="$1"
48 | else
49 | RESOURCE_PATH="${PODS_ROOT}/$1"
50 | fi
51 | if [[ ! -e "$RESOURCE_PATH" ]] ; then
52 | cat << EOM
53 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
54 | EOM
55 | exit 1
56 | fi
57 | case $RESOURCE_PATH in
58 | *.storyboard)
59 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
60 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
61 | ;;
62 | *.xib)
63 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
64 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
65 | ;;
66 | *.framework)
67 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
68 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
69 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
70 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
71 | ;;
72 | *.xcdatamodel)
73 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true
74 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
75 | ;;
76 | *.xcdatamodeld)
77 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true
78 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
79 | ;;
80 | *.xcmappingmodel)
81 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true
82 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
83 | ;;
84 | *.xcassets)
85 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
86 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
87 | ;;
88 | *)
89 | echo "$RESOURCE_PATH" || true
90 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
91 | ;;
92 | esac
93 | }
94 |
95 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
96 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
97 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
98 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
99 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
100 | fi
101 | rm -f "$RESOURCES_TO_COPY"
102 |
103 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
104 | then
105 | # Find all other xcassets (this unfortunately includes those of path pods and other targets).
106 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
107 | while read line; do
108 | if [[ $line != "${PODS_ROOT}*" ]]; then
109 | XCASSET_FILES+=("$line")
110 | fi
111 | done <<<"$OTHER_XCASSETS"
112 |
113 | if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
114 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
115 | else
116 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
117 | fi
118 | fi
119 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_LoadMoreTableViewController_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LoadMoreTableViewController_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.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}/LoadMoreTableViewController"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "LoadMoreTableViewController"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LoadMoreTableViewController_Example {
2 | umbrella header "Pods-LoadMoreTableViewController_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Example/Pods-LoadMoreTableViewController_Example.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}/LoadMoreTableViewController"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "LoadMoreTableViewController"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## LoadMoreTableViewController
5 |
6 | Copyright (c) 2015 istyle Inc.
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2015 istyle Inc.
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | LoadMoreTableViewController
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LoadMoreTableViewController_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LoadMoreTableViewController_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 | 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 "${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 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
117 | fi
118 | fi
119 | }
120 |
121 | # Used as a return value for each invocation of `strip_invalid_archs` function.
122 | STRIP_BINARY_RETVAL=0
123 |
124 | # Strip invalid architectures
125 | strip_invalid_archs() {
126 | binary="$1"
127 | warn_missing_arch=${2:-true}
128 | # Get architectures for current target binary
129 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
130 | # Intersect them with the architectures we are building for
131 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
132 | # If there are no archs supported by this binary then warn the user
133 | if [[ -z "$intersected_archs" ]]; then
134 | if [[ "$warn_missing_arch" == "true" ]]; then
135 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
136 | fi
137 | STRIP_BINARY_RETVAL=1
138 | return
139 | fi
140 | stripped=""
141 | for arch in $binary_archs; do
142 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
143 | # Strip non-valid architectures in-place
144 | lipo -remove "$arch" -output "$binary" "$binary"
145 | stripped="$stripped $arch"
146 | fi
147 | done
148 | if [[ "$stripped" ]]; then
149 | echo "Stripped $binary of architectures:$stripped"
150 | fi
151 | STRIP_BINARY_RETVAL=0
152 | }
153 |
154 | # Copies the bcsymbolmap files of a vendored framework
155 | install_bcsymbolmap() {
156 | local bcsymbolmap_path="$1"
157 | local destination="${BUILT_PRODUCTS_DIR}"
158 | 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}""
159 | 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 | }
161 |
162 | # Signs a framework with the provided identity
163 | code_sign_if_enabled() {
164 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
165 | # Use the current code_sign_identity
166 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
167 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
168 |
169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
170 | code_sign_cmd="$code_sign_cmd &"
171 | fi
172 | echo "$code_sign_cmd"
173 | eval "$code_sign_cmd"
174 | fi
175 | }
176 |
177 | if [[ "$CONFIGURATION" == "Debug" ]]; then
178 | install_framework "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework"
179 | fi
180 | if [[ "$CONFIGURATION" == "Release" ]]; then
181 | install_framework "${BUILT_PRODUCTS_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework"
182 | fi
183 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
184 | wait
185 | fi
186 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-resources.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
7 | # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
8 | # resources to, so exit 0 (signalling the script phase was successful).
9 | exit 0
10 | fi
11 |
12 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
13 |
14 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
15 | > "$RESOURCES_TO_COPY"
16 |
17 | XCASSET_FILES=()
18 |
19 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
20 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
21 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
22 |
23 | case "${TARGETED_DEVICE_FAMILY:-}" in
24 | 1,2)
25 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
26 | ;;
27 | 1)
28 | TARGET_DEVICE_ARGS="--target-device iphone"
29 | ;;
30 | 2)
31 | TARGET_DEVICE_ARGS="--target-device ipad"
32 | ;;
33 | 3)
34 | TARGET_DEVICE_ARGS="--target-device tv"
35 | ;;
36 | 4)
37 | TARGET_DEVICE_ARGS="--target-device watch"
38 | ;;
39 | *)
40 | TARGET_DEVICE_ARGS="--target-device mac"
41 | ;;
42 | esac
43 |
44 | install_resource()
45 | {
46 | if [[ "$1" = /* ]] ; then
47 | RESOURCE_PATH="$1"
48 | else
49 | RESOURCE_PATH="${PODS_ROOT}/$1"
50 | fi
51 | if [[ ! -e "$RESOURCE_PATH" ]] ; then
52 | cat << EOM
53 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
54 | EOM
55 | exit 1
56 | fi
57 | case $RESOURCE_PATH in
58 | *.storyboard)
59 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
60 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
61 | ;;
62 | *.xib)
63 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
64 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
65 | ;;
66 | *.framework)
67 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
68 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
69 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
70 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
71 | ;;
72 | *.xcdatamodel)
73 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true
74 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
75 | ;;
76 | *.xcdatamodeld)
77 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true
78 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
79 | ;;
80 | *.xcmappingmodel)
81 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true
82 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
83 | ;;
84 | *.xcassets)
85 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
86 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
87 | ;;
88 | *)
89 | echo "$RESOURCE_PATH" || true
90 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
91 | ;;
92 | esac
93 | }
94 |
95 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
96 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
97 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
98 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
99 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
100 | fi
101 | rm -f "$RESOURCES_TO_COPY"
102 |
103 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
104 | then
105 | # Find all other xcassets (this unfortunately includes those of path pods and other targets).
106 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
107 | while read line; do
108 | if [[ $line != "${PODS_ROOT}*" ]]; then
109 | XCASSET_FILES+=("$line")
110 | fi
111 | done <<<"$OTHER_XCASSETS"
112 |
113 | if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
114 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
115 | else
116 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
117 | fi
118 | fi
119 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_LoadMoreTableViewController_TestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LoadMoreTableViewController_TestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.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}/LoadMoreTableViewController"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "LoadMoreTableViewController"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LoadMoreTableViewController_Tests {
2 | umbrella header "Pods-LoadMoreTableViewController_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LoadMoreTableViewController_Tests/Pods-LoadMoreTableViewController_Tests.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}/LoadMoreTableViewController"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LoadMoreTableViewController/LoadMoreTableViewController.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "LoadMoreTableViewController"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | import LoadMoreTableViewController
3 |
4 | class ExampleTests: XCTestCase {
5 |
6 | override func setUp() {
7 | super.setUp()
8 | }
9 |
10 | override func tearDown() {
11 | super.tearDown()
12 | }
13 |
14 | func testExample() {
15 | XCTAssert(true)
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 istyle Inc.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/LoadMoreTableViewController.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint LoadMoreTableViewController.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = "LoadMoreTableViewController"
11 | s.version = "2.2.0"
12 | s.summary = "Automatic cell loading on UITableViewController."
13 | s.swift_version = "5.5"
14 |
15 | # This description is used to generate tags and improve search results.
16 | # * Think: What does it do? Why did you write it? What is the focus?
17 | # * Try to keep it short, snappy and to the point.
18 | # * Write the description between the DESC delimiters below.
19 | # * Finally, don't worry about the indent, CocoaPods strips it!
20 | # s.description = <<-DESC
21 | # DESC
22 |
23 | s.homepage = "https://github.com/istyle-inc/LoadMoreTableViewController"
24 | # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
25 | s.license = 'MIT'
26 | s.author = { "mishimay" => "mishimay@istyle.co.jp" }
27 | s.source = { :git => "https://github.com/istyle-inc/LoadMoreTableViewController.git", :tag => s.version.to_s }
28 | # s.social_media_url = 'https://twitter.com/'
29 |
30 | s.platform = :ios, '13.0'
31 | s.requires_arc = true
32 |
33 | s.source_files = 'Pod/Classes/**/*'
34 | # s.resource_bundles = {
35 | # 'LoadMoreTableViewController' => ['Pod/Assets/*.png']
36 | # }
37 |
38 | # s.public_header_files = 'Pod/Classes/**/*.h'
39 | # s.frameworks = 'UIKit', 'MapKit'
40 | # s.dependency 'AFNetworking', '~> 2.3'
41 | end
42 |
--------------------------------------------------------------------------------
/Pod/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/istyle-inc/LoadMoreTableViewController/c8b5daa6a82399dd2a0d45af07281fed7d375c69/Pod/Assets/.gitkeep
--------------------------------------------------------------------------------
/Pod/Classes/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/istyle-inc/LoadMoreTableViewController/c8b5daa6a82399dd2a0d45af07281fed7d375c69/Pod/Classes/.gitkeep
--------------------------------------------------------------------------------
/Pod/Classes/FooterCell.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | public class FooterCell: UITableViewCell {
4 |
5 | @IBOutlet private weak var activityIndecator: UIActivityIndicatorView!
6 | @IBOutlet weak var retryButton: UIButton!
7 |
8 | var showsRetryButton = false {
9 | didSet {
10 | if showsRetryButton {
11 | activityIndecator.isHidden = true
12 | retryButton.isHidden = false
13 | } else {
14 | activityIndecator.isHidden = false
15 | retryButton.isHidden = true
16 | }
17 | }
18 | }
19 | var retryButtonTapped: (() -> ())?
20 |
21 | public override func awakeFromNib() {
22 | super.awakeFromNib()
23 |
24 | showsRetryButton = false
25 | }
26 |
27 | override public func layoutSubviews() {
28 | super.layoutSubviews()
29 |
30 | activityIndecator.startAnimating()
31 | }
32 |
33 | @IBAction func retryButtonTapped(_ sender: UIButton) {
34 | retryButtonTapped?()
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/Pod/Classes/FooterCell.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/Pod/Classes/LoadMoreTableViewController.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | open class LoadMoreTableViewController: UITableViewController {
4 |
5 | private enum SectionType {
6 | case main
7 | case footer
8 | }
9 |
10 | public static var retryText: String?
11 | public static var retryImage: UIImage?
12 |
13 | private let sectionTypes: [SectionType] = [.main, .footer]
14 | private let footerCellReuseIdentifier = "FooterCell"
15 |
16 | private var cellHeights = [IndexPath: CGFloat]()
17 |
18 | private var hidesFooter = false
19 | private var showsRetryButton = false
20 | private var isRequesting = false
21 |
22 | private var isScrolling = false {
23 | didSet {
24 | if !isScrolling && pendingProcess != nil {
25 | pendingProcess?()
26 | pendingProcess = nil
27 | }
28 | }
29 | }
30 | private var pendingProcess: (() -> ())?
31 |
32 | open var cellReuseIdentifier = "Cell"
33 | open var sourceObjects = [Any]()
34 |
35 | public var fetchCellReuseIdentifier: (_ row: Int) -> String? = { _ in return nil }
36 | public var fetchSourceObjects: (_ completion: @escaping (_ sourceObjects: [Any], _ hasNext: Bool) -> ()) -> () = { _ in }
37 | public var configureCell: (_ cell: UITableViewCell, _ row: Int) -> UITableViewCell = { (_, _) in return UITableViewCell() }
38 |
39 | public var didSelectRow: ((Int) -> ())?
40 |
41 | // MARK: - Lifecycle
42 |
43 | open override func viewDidLoad() {
44 | super.viewDidLoad()
45 |
46 | tableView.tableFooterView = UIView() // cf. http://stackoverflow.com/questions/1369831/eliminate-extra-separators-below-uitableview-in-iphone-sdk
47 |
48 | tableView.register(UINib(nibName: "FooterCell", bundle: Bundle(for: FooterCell.self)), forCellReuseIdentifier: footerCellReuseIdentifier)
49 | }
50 |
51 | open override func viewWillAppear(_ animated: Bool) {
52 | super.viewWillAppear(animated)
53 |
54 | if let indexPath = tableView.indexPathForSelectedRow {
55 | tableView.deselectRow(at: indexPath, animated: animated)
56 | }
57 | }
58 |
59 | // MARK: - TableViewDataSource
60 |
61 | open override func numberOfSections(in tableView: UITableView) -> Int {
62 | return sectionTypes.count
63 | }
64 |
65 | open override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
66 | let sectionType = sectionTypes[section]
67 | switch sectionType {
68 | case .main:
69 | return sourceObjects.count
70 | case .footer:
71 | return (hidesFooter ? 0 : 1)
72 | }
73 | }
74 |
75 | open override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
76 | let sectionType = sectionTypes[indexPath.section]
77 | switch sectionType {
78 | case .main:
79 | let identifier = fetchCellReuseIdentifier(indexPath.row) ?? cellReuseIdentifier
80 | let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath)
81 | if indexPath.row < sourceObjects.count {
82 | return configureCell(cell, indexPath.row)
83 | } else {
84 | return cell
85 | }
86 |
87 | case .footer:
88 | let cell = tableView.dequeueReusableCell(withIdentifier: footerCellReuseIdentifier, for: indexPath) as! FooterCell
89 | cell.backgroundColor = .clear
90 | cell.separatorInset = UIEdgeInsets(top: 0, left: CGFloat.greatestFiniteMagnitude, bottom: 0, right: 0) // cf. http://stackoverflow.com/questions/8561774/hide-separator-line-on-one-uitableviewcell
91 | cell.showsRetryButton = showsRetryButton
92 | cell.retryButtonTapped = { [weak self] in
93 | self?.loadMore()
94 | self?.showsRetryButton = false
95 | cell.showsRetryButton = false
96 | }
97 | if let retryText = LoadMoreTableViewController.retryText {
98 | cell.retryButton.setTitle(retryText, for: .normal)
99 | }
100 | if let retryImage = LoadMoreTableViewController.retryImage {
101 | cell.retryButton.setImage(retryImage, for: .normal)
102 | }
103 | return cell
104 | }
105 | }
106 |
107 | // MARK: - TableViewDelegate
108 |
109 | open override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
110 | cellHeights[indexPath] = cell.frame.height
111 |
112 | if sectionTypes[indexPath.section] == .footer && !showsRetryButton {
113 | loadMore()
114 | }
115 | }
116 |
117 | // cf. http://stackoverflow.com/questions/26917728/ios-uitableviewautomaticdimension-rowheight-poor-performance-jumping
118 | open override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
119 | return UITableView.automaticDimension
120 | }
121 |
122 | open override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
123 |
124 | // cf. http://stackoverflow.com/questions/19355182/sdnestedtable-expand-does-not-work-on-ios-7
125 | if let cachedHeight = cellHeights[IndexPath(row: indexPath.row, section: indexPath.section)] {
126 | return cachedHeight
127 | } else {
128 | return 50
129 | }
130 | }
131 |
132 | open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
133 | didSelectRow?(indexPath.row)
134 | }
135 |
136 | // MARK: - ScrollViewDelegate
137 |
138 | open override func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
139 | isScrolling = true
140 | }
141 |
142 | open override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
143 | if !decelerate {
144 | isScrolling = false
145 | }
146 | }
147 |
148 | open override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
149 | isScrolling = false
150 | }
151 |
152 | // MARK: - Public
153 |
154 | /// - Parameters:
155 | /// - immediately:
156 | /// - true: It will show an activity indicator on the top then fetch the data.
157 | /// - false: It will refresh the table view after fetching the data.
158 | @available(*, deprecated, renamed: "safeRefreshData")
159 | open func refreshData(immediately: Bool) {
160 | sourceObjects.removeAll()
161 | showsRetryButton = false
162 |
163 | // To refresh the table view when it is scrolling
164 | if immediately {
165 | isScrolling = false
166 | }
167 |
168 | DispatchQueue.main.async {
169 | if immediately {
170 | self.tableView.reloadData()
171 | self.updateFooter(show: true)
172 | } else {
173 | self.loadMore(reload: true)
174 | }
175 | }
176 | }
177 |
178 | open func safeRefreshData(immediately: Bool) {
179 | DispatchQueue.main.async {
180 | self.sourceObjects.removeAll()
181 | self.showsRetryButton = false
182 |
183 | // To refresh the table view when it is scrolling
184 | if immediately {
185 | self.isScrolling = false
186 | }
187 |
188 | if immediately {
189 | self.tableView.reloadData()
190 | self.updateFooter(show: true)
191 | } else {
192 | self.loadMore(reload: true)
193 | }
194 | }
195 | }
196 |
197 | public func showRetryButton() {
198 | isRequesting = false
199 | showsRetryButton = true
200 | updateFooter(show: true)
201 | }
202 |
203 | // MARK: - Private
204 |
205 | private func loadMore(reload: Bool = false) {
206 | guard !isRequesting else {
207 | return
208 | }
209 | isRequesting = true
210 |
211 | let oldDataCount = sourceObjects.count
212 |
213 | DispatchQueue.global().async {
214 | self.fetchSourceObjects() { [weak self] sourceObjects, hasNext in
215 |
216 | // Prevent data mismatch when cleared existing data while fetching new data
217 | if oldDataCount == self?.sourceObjects.count {
218 | self?.sourceObjects += sourceObjects
219 | }
220 |
221 | if self?.isScrolling == true {
222 | if self?.pendingProcess == nil {
223 | self?.pendingProcess = {
224 | self?.updateTable(reload: reload, hasNext: hasNext)
225 | }
226 | }
227 | } else {
228 | self?.updateTable(reload: reload, hasNext: hasNext)
229 | }
230 |
231 | self?.isRequesting = false
232 | }
233 | }
234 | }
235 |
236 | private func updateTable(reload: Bool, hasNext: Bool) {
237 | DispatchQueue.main.async {
238 | UIView.setAnimationsEnabled(false)
239 | if let mainSection = self.sectionTypes.firstIndex(of: .main) {
240 | let newDataCount = self.sourceObjects.count
241 | let currentDataCount = self.tableView.numberOfRows(inSection: mainSection)
242 | if currentDataCount < newDataCount {
243 | self.tableView.insertRows(
244 | at: Array(currentDataCount..
6 |
7 | ## Basic Usage
8 |
9 | ### Prepare a Cell
10 |
11 | You need to prepare a cell that is displayed on a LoadMoreTableViewController.
12 |
13 | - Xib file way
14 |
15 | 1. Create a xib file then put a Table View Cell on it.
16 | 1. Register the cell to the table of the LoadMoreTableViewController with using UITableView method `register(_:forCellReuseIdentifier:)`.
17 | - The cellReuseIdentifier should be the same as the LoadMoreTableViewController property `public var cellReuseIdentifier`.
18 |
19 | - Storyboard way
20 |
21 | 1. On a Storyboard, add a Table View Cell to a Table View Controller that inherits LoadMoreTableViewController.
22 | 1. Set the Identifier of the Table View cell as it is the same as the LoadMoreTableViewController property `public var cellReuseIdentifier`.
23 |
24 | The cell's identifier should be the same as the LoadMoreTableViewController property `public var cellReuseIdentifier` on the both ways.
25 | The default value is `"Cell"` and it is configureable.
26 |
27 | The cell should be designed with using Auto Layout.
28 | The LoadMoreTableViewController is using Automatic Dimension feature of UITableView so it will adjust the cell height.
29 |
30 | ### Set Closures
31 |
32 | - `public var fetchSourceObjects: (_ completion: @escaping (_ sourceObjects: [Any], _ hasNext: Bool) -> ()) -> ()`
33 | - Fetch the new data in this closure.
34 | - Call `completion` closure to return these information.
35 | - The fetched new objects (`sourceObjects`).
36 | - If the next loading exists (`hasNext`).
37 |
38 | - `public var configureCell: (_ cell: UITableViewCell, _ row: Int) -> UITableViewCell`
39 | - Configure the cell and return it in this closure.
40 | - The cell type is the same as you prepared.
41 |
42 | ### Example
43 |
44 | ```swift
45 | import LoadMoreTableViewController
46 |
47 | class MyTableViewController: LoadMoreTableViewController {
48 |
49 | override func viewDidLoad() {
50 | super.viewDidLoad()
51 |
52 | tableView.registerNib(UINib(nibName: "StandardCell", bundle: nil), forCellReuseIdentifier: cellReuseIdentifier)
53 |
54 | fetchSourceObjects = { [weak self] completion in
55 | self?.request(offset: sourceObjects.count) { products in
56 | completion(products, true)
57 | }
58 | }
59 | configureCell = { [weak self] cell, row in
60 | cell.textLabel?.text = (self?.sourceObjects[row] as? Product)?.title
61 | return cell
62 | }
63 | }
64 |
65 | }
66 | ```
67 |
68 | See also the example project.
69 |
70 | ## Additional Usage
71 |
72 | ### Data Source
73 |
74 | The fetched data are stored to the array `public var sourceObjects: [Any]`.
75 | You can directly access or manipulate this array.
76 |
77 | ### Refreshing Data
78 |
79 | Use function `public func refreshData(immediately immediately: Bool)`.
80 | - immediately: true
81 | - Immediately makes the tableView empty and starts fetching the data from the first.
82 | - The loading activity indicator shows on the top.
83 | - immediately: false
84 | - Refreshes the tableView after fetching the data from the first.
85 | - This prevents the loading activity indicator is displayed on the top when UIRefreshControl is used.
86 |
87 | ### Other Settings
88 |
89 | - `public func showRetryButton()`
90 | - Changes the loading activity indicator to retry button.
91 | - When retry button is tapped, next loading starts.
92 |
93 | - `public static var retryText: String?`
94 | - Changes retry button text.
95 |
96 | - `public static var retryImage: UIImage?`
97 | - Changes retry button image.
98 |
99 | - `public var didSelectRow: ((Int) -> ())?`
100 | - Notifies what row is selected.
101 |
102 | ## Requirements
103 | - iOS 13
104 | - Xcode 13
105 | - Swift 5.5
106 |
107 | ## Installation
108 |
109 | ```ruby
110 | pod "LoadMoreTableViewController"
111 | ```
112 |
113 | ## Author
114 |
115 | mishimay, mishimay@istyle.co.jp
116 |
117 | ## License
118 |
119 | LoadMoreTableViewController is available under the MIT license. See the LICENSE file for more info.
120 |
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/screen.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/istyle-inc/LoadMoreTableViewController/c8b5daa6a82399dd2a0d45af07281fed7d375c69/screen.gif
--------------------------------------------------------------------------------