Skip to content

Commit d243f93

Browse files
committedNov 2, 2015
Add Carthage support
1 parent c0ec3f3 commit d243f93

File tree

6 files changed

+432
-0
lines changed

6 files changed

+432
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,299 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 46;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
6568D6911BE8101700A9E37C /* GearRefreshControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6568D6901BE8101700A9E37C /* GearRefreshControl.h */; settings = {ATTRIBUTES = (Public, ); }; };
11+
65BCCD7B1BE8108700054F58 /* BigGear.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65BCCD781BE8108700054F58 /* BigGear.swift */; };
12+
65BCCD7C1BE8108700054F58 /* GearRefreshControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65BCCD791BE8108700054F58 /* GearRefreshControl.swift */; };
13+
65BCCD7D1BE8108700054F58 /* MainGear.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65BCCD7A1BE8108700054F58 /* MainGear.swift */; };
14+
/* End PBXBuildFile section */
15+
16+
/* Begin PBXFileReference section */
17+
6568D68D1BE8101700A9E37C /* GearRefreshControl.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GearRefreshControl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
18+
6568D6901BE8101700A9E37C /* GearRefreshControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GearRefreshControl.h; sourceTree = "<group>"; };
19+
6568D6921BE8101700A9E37C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
20+
65BCCD781BE8108700054F58 /* BigGear.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BigGear.swift; path = Source/BigGear.swift; sourceTree = SOURCE_ROOT; };
21+
65BCCD791BE8108700054F58 /* GearRefreshControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GearRefreshControl.swift; path = Source/GearRefreshControl.swift; sourceTree = SOURCE_ROOT; };
22+
65BCCD7A1BE8108700054F58 /* MainGear.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainGear.swift; path = Source/MainGear.swift; sourceTree = SOURCE_ROOT; };
23+
/* End PBXFileReference section */
24+
25+
/* Begin PBXFrameworksBuildPhase section */
26+
6568D6891BE8101700A9E37C /* Frameworks */ = {
27+
isa = PBXFrameworksBuildPhase;
28+
buildActionMask = 2147483647;
29+
files = (
30+
);
31+
runOnlyForDeploymentPostprocessing = 0;
32+
};
33+
/* End PBXFrameworksBuildPhase section */
34+
35+
/* Begin PBXGroup section */
36+
6568D6831BE8101700A9E37C = {
37+
isa = PBXGroup;
38+
children = (
39+
6568D68F1BE8101700A9E37C /* GearRefreshControl */,
40+
6568D68E1BE8101700A9E37C /* Products */,
41+
);
42+
sourceTree = "<group>";
43+
};
44+
6568D68E1BE8101700A9E37C /* Products */ = {
45+
isa = PBXGroup;
46+
children = (
47+
6568D68D1BE8101700A9E37C /* GearRefreshControl.framework */,
48+
);
49+
name = Products;
50+
sourceTree = "<group>";
51+
};
52+
6568D68F1BE8101700A9E37C /* GearRefreshControl */ = {
53+
isa = PBXGroup;
54+
children = (
55+
6568D6901BE8101700A9E37C /* GearRefreshControl.h */,
56+
65BCCD781BE8108700054F58 /* BigGear.swift */,
57+
65BCCD791BE8108700054F58 /* GearRefreshControl.swift */,
58+
65BCCD7A1BE8108700054F58 /* MainGear.swift */,
59+
6568D6921BE8101700A9E37C /* Info.plist */,
60+
);
61+
path = GearRefreshControl;
62+
sourceTree = "<group>";
63+
};
64+
/* End PBXGroup section */
65+
66+
/* Begin PBXHeadersBuildPhase section */
67+
6568D68A1BE8101700A9E37C /* Headers */ = {
68+
isa = PBXHeadersBuildPhase;
69+
buildActionMask = 2147483647;
70+
files = (
71+
6568D6911BE8101700A9E37C /* GearRefreshControl.h in Headers */,
72+
);
73+
runOnlyForDeploymentPostprocessing = 0;
74+
};
75+
/* End PBXHeadersBuildPhase section */
76+
77+
/* Begin PBXNativeTarget section */
78+
6568D68C1BE8101700A9E37C /* GearRefreshControl */ = {
79+
isa = PBXNativeTarget;
80+
buildConfigurationList = 6568D6951BE8101700A9E37C /* Build configuration list for PBXNativeTarget "GearRefreshControl" */;
81+
buildPhases = (
82+
6568D6881BE8101700A9E37C /* Sources */,
83+
6568D6891BE8101700A9E37C /* Frameworks */,
84+
6568D68A1BE8101700A9E37C /* Headers */,
85+
6568D68B1BE8101700A9E37C /* Resources */,
86+
);
87+
buildRules = (
88+
);
89+
dependencies = (
90+
);
91+
name = GearRefreshControl;
92+
productName = GearRefreshControl;
93+
productReference = 6568D68D1BE8101700A9E37C /* GearRefreshControl.framework */;
94+
productType = "com.apple.product-type.framework";
95+
};
96+
/* End PBXNativeTarget section */
97+
98+
/* Begin PBXProject section */
99+
6568D6841BE8101700A9E37C /* Project object */ = {
100+
isa = PBXProject;
101+
attributes = {
102+
LastUpgradeCheck = 0710;
103+
ORGANIZATIONNAME = "Fancy Pixel";
104+
TargetAttributes = {
105+
6568D68C1BE8101700A9E37C = {
106+
CreatedOnToolsVersion = 7.1;
107+
};
108+
};
109+
};
110+
buildConfigurationList = 6568D6871BE8101700A9E37C /* Build configuration list for PBXProject "GearRefreshControl" */;
111+
compatibilityVersion = "Xcode 3.2";
112+
developmentRegion = English;
113+
hasScannedForEncodings = 0;
114+
knownRegions = (
115+
en,
116+
);
117+
mainGroup = 6568D6831BE8101700A9E37C;
118+
productRefGroup = 6568D68E1BE8101700A9E37C /* Products */;
119+
projectDirPath = "";
120+
projectRoot = "";
121+
targets = (
122+
6568D68C1BE8101700A9E37C /* GearRefreshControl */,
123+
);
124+
};
125+
/* End PBXProject section */
126+
127+
/* Begin PBXResourcesBuildPhase section */
128+
6568D68B1BE8101700A9E37C /* Resources */ = {
129+
isa = PBXResourcesBuildPhase;
130+
buildActionMask = 2147483647;
131+
files = (
132+
);
133+
runOnlyForDeploymentPostprocessing = 0;
134+
};
135+
/* End PBXResourcesBuildPhase section */
136+
137+
/* Begin PBXSourcesBuildPhase section */
138+
6568D6881BE8101700A9E37C /* Sources */ = {
139+
isa = PBXSourcesBuildPhase;
140+
buildActionMask = 2147483647;
141+
files = (
142+
65BCCD7D1BE8108700054F58 /* MainGear.swift in Sources */,
143+
65BCCD7C1BE8108700054F58 /* GearRefreshControl.swift in Sources */,
144+
65BCCD7B1BE8108700054F58 /* BigGear.swift in Sources */,
145+
);
146+
runOnlyForDeploymentPostprocessing = 0;
147+
};
148+
/* End PBXSourcesBuildPhase section */
149+
150+
/* Begin XCBuildConfiguration section */
151+
6568D6931BE8101700A9E37C /* Debug */ = {
152+
isa = XCBuildConfiguration;
153+
buildSettings = {
154+
ALWAYS_SEARCH_USER_PATHS = NO;
155+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
156+
CLANG_CXX_LIBRARY = "libc++";
157+
CLANG_ENABLE_MODULES = YES;
158+
CLANG_ENABLE_OBJC_ARC = YES;
159+
CLANG_WARN_BOOL_CONVERSION = YES;
160+
CLANG_WARN_CONSTANT_CONVERSION = YES;
161+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
162+
CLANG_WARN_EMPTY_BODY = YES;
163+
CLANG_WARN_ENUM_CONVERSION = YES;
164+
CLANG_WARN_INT_CONVERSION = YES;
165+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
166+
CLANG_WARN_UNREACHABLE_CODE = YES;
167+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
168+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
169+
COPY_PHASE_STRIP = NO;
170+
CURRENT_PROJECT_VERSION = 1;
171+
DEBUG_INFORMATION_FORMAT = dwarf;
172+
ENABLE_STRICT_OBJC_MSGSEND = YES;
173+
ENABLE_TESTABILITY = YES;
174+
GCC_C_LANGUAGE_STANDARD = gnu99;
175+
GCC_DYNAMIC_NO_PIC = NO;
176+
GCC_NO_COMMON_BLOCKS = YES;
177+
GCC_OPTIMIZATION_LEVEL = 0;
178+
GCC_PREPROCESSOR_DEFINITIONS = (
179+
"DEBUG=1",
180+
"$(inherited)",
181+
);
182+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
183+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
184+
GCC_WARN_UNDECLARED_SELECTOR = YES;
185+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
186+
GCC_WARN_UNUSED_FUNCTION = YES;
187+
GCC_WARN_UNUSED_VARIABLE = YES;
188+
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
189+
MTL_ENABLE_DEBUG_INFO = YES;
190+
ONLY_ACTIVE_ARCH = YES;
191+
SDKROOT = iphoneos;
192+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
193+
TARGETED_DEVICE_FAMILY = "1,2";
194+
VERSIONING_SYSTEM = "apple-generic";
195+
VERSION_INFO_PREFIX = "";
196+
};
197+
name = Debug;
198+
};
199+
6568D6941BE8101700A9E37C /* Release */ = {
200+
isa = XCBuildConfiguration;
201+
buildSettings = {
202+
ALWAYS_SEARCH_USER_PATHS = NO;
203+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
204+
CLANG_CXX_LIBRARY = "libc++";
205+
CLANG_ENABLE_MODULES = YES;
206+
CLANG_ENABLE_OBJC_ARC = YES;
207+
CLANG_WARN_BOOL_CONVERSION = YES;
208+
CLANG_WARN_CONSTANT_CONVERSION = YES;
209+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
210+
CLANG_WARN_EMPTY_BODY = YES;
211+
CLANG_WARN_ENUM_CONVERSION = YES;
212+
CLANG_WARN_INT_CONVERSION = YES;
213+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
214+
CLANG_WARN_UNREACHABLE_CODE = YES;
215+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
216+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
217+
COPY_PHASE_STRIP = NO;
218+
CURRENT_PROJECT_VERSION = 1;
219+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
220+
ENABLE_NS_ASSERTIONS = NO;
221+
ENABLE_STRICT_OBJC_MSGSEND = YES;
222+
GCC_C_LANGUAGE_STANDARD = gnu99;
223+
GCC_NO_COMMON_BLOCKS = YES;
224+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
225+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
226+
GCC_WARN_UNDECLARED_SELECTOR = YES;
227+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
228+
GCC_WARN_UNUSED_FUNCTION = YES;
229+
GCC_WARN_UNUSED_VARIABLE = YES;
230+
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
231+
MTL_ENABLE_DEBUG_INFO = NO;
232+
SDKROOT = iphoneos;
233+
TARGETED_DEVICE_FAMILY = "1,2";
234+
VALIDATE_PRODUCT = YES;
235+
VERSIONING_SYSTEM = "apple-generic";
236+
VERSION_INFO_PREFIX = "";
237+
};
238+
name = Release;
239+
};
240+
6568D6961BE8101700A9E37C /* Debug */ = {
241+
isa = XCBuildConfiguration;
242+
buildSettings = {
243+
CLANG_ENABLE_MODULES = YES;
244+
DEFINES_MODULE = YES;
245+
DYLIB_COMPATIBILITY_VERSION = 1;
246+
DYLIB_CURRENT_VERSION = 1;
247+
DYLIB_INSTALL_NAME_BASE = "@rpath";
248+
INFOPLIST_FILE = GearRefreshControl/Info.plist;
249+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
250+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
251+
PRODUCT_BUNDLE_IDENTIFIER = it.fancypixel.GearRefreshControl;
252+
PRODUCT_NAME = "$(TARGET_NAME)";
253+
SKIP_INSTALL = YES;
254+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
255+
};
256+
name = Debug;
257+
};
258+
6568D6971BE8101700A9E37C /* Release */ = {
259+
isa = XCBuildConfiguration;
260+
buildSettings = {
261+
CLANG_ENABLE_MODULES = YES;
262+
DEFINES_MODULE = YES;
263+
DYLIB_COMPATIBILITY_VERSION = 1;
264+
DYLIB_CURRENT_VERSION = 1;
265+
DYLIB_INSTALL_NAME_BASE = "@rpath";
266+
INFOPLIST_FILE = GearRefreshControl/Info.plist;
267+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
268+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
269+
PRODUCT_BUNDLE_IDENTIFIER = it.fancypixel.GearRefreshControl;
270+
PRODUCT_NAME = "$(TARGET_NAME)";
271+
SKIP_INSTALL = YES;
272+
};
273+
name = Release;
274+
};
275+
/* End XCBuildConfiguration section */
276+
277+
/* Begin XCConfigurationList section */
278+
6568D6871BE8101700A9E37C /* Build configuration list for PBXProject "GearRefreshControl" */ = {
279+
isa = XCConfigurationList;
280+
buildConfigurations = (
281+
6568D6931BE8101700A9E37C /* Debug */,
282+
6568D6941BE8101700A9E37C /* Release */,
283+
);
284+
defaultConfigurationIsVisible = 0;
285+
defaultConfigurationName = Release;
286+
};
287+
6568D6951BE8101700A9E37C /* Build configuration list for PBXNativeTarget "GearRefreshControl" */ = {
288+
isa = XCConfigurationList;
289+
buildConfigurations = (
290+
6568D6961BE8101700A9E37C /* Debug */,
291+
6568D6971BE8101700A9E37C /* Release */,
292+
);
293+
defaultConfigurationIsVisible = 0;
294+
defaultConfigurationName = Release;
295+
};
296+
/* End XCConfigurationList section */
297+
};
298+
rootObject = 6568D6841BE8101700A9E37C /* Project object */;
299+
}

‎GearRefreshControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "0710"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "6568D68C1BE8101700A9E37C"
18+
BuildableName = "GearRefreshControl.framework"
19+
BlueprintName = "GearRefreshControl"
20+
ReferencedContainer = "container:GearRefreshControl.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES">
30+
<Testables>
31+
</Testables>
32+
<AdditionalOptions>
33+
</AdditionalOptions>
34+
</TestAction>
35+
<LaunchAction
36+
buildConfiguration = "Debug"
37+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
38+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
39+
launchStyle = "0"
40+
useCustomWorkingDirectory = "NO"
41+
ignoresPersistentStateOnLaunch = "NO"
42+
debugDocumentVersioning = "YES"
43+
debugServiceExtension = "internal"
44+
allowLocationSimulation = "YES">
45+
<MacroExpansion>
46+
<BuildableReference
47+
BuildableIdentifier = "primary"
48+
BlueprintIdentifier = "6568D68C1BE8101700A9E37C"
49+
BuildableName = "GearRefreshControl.framework"
50+
BlueprintName = "GearRefreshControl"
51+
ReferencedContainer = "container:GearRefreshControl.xcodeproj">
52+
</BuildableReference>
53+
</MacroExpansion>
54+
<AdditionalOptions>
55+
</AdditionalOptions>
56+
</LaunchAction>
57+
<ProfileAction
58+
buildConfiguration = "Release"
59+
shouldUseLaunchSchemeArgsEnv = "YES"
60+
savedToolIdentifier = ""
61+
useCustomWorkingDirectory = "NO"
62+
debugDocumentVersioning = "YES">
63+
<MacroExpansion>
64+
<BuildableReference
65+
BuildableIdentifier = "primary"
66+
BlueprintIdentifier = "6568D68C1BE8101700A9E37C"
67+
BuildableName = "GearRefreshControl.framework"
68+
BlueprintName = "GearRefreshControl"
69+
ReferencedContainer = "container:GearRefreshControl.xcodeproj">
70+
</BuildableReference>
71+
</MacroExpansion>
72+
</ProfileAction>
73+
<AnalyzeAction
74+
buildConfiguration = "Debug">
75+
</AnalyzeAction>
76+
<ArchiveAction
77+
buildConfiguration = "Release"
78+
revealArchiveInOrganizer = "YES">
79+
</ArchiveAction>
80+
</Scheme>
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// GearRefreshControl.h
3+
// GearRefreshControl
4+
//
5+
// Created by Andrea Mazzini on 02/11/15.
6+
// Copyright © 2015 Fancy Pixel. All rights reserved.
7+
//
8+
9+
#import <UIKit/UIKit.h>
10+
11+
//! Project version number for GearRefreshControl.
12+
FOUNDATION_EXPORT double GearRefreshControlVersionNumber;
13+
14+
//! Project version string for GearRefreshControl.
15+
FOUNDATION_EXPORT const unsigned char GearRefreshControlVersionString[];
16+
17+
// In this header, you should import all the public headers of your framework using statements like #import <GearRefreshControl/PublicHeader.h>
18+
19+

‎GearRefreshControl/Info.plist

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>FMWK</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleSignature</key>
20+
<string>????</string>
21+
<key>CFBundleVersion</key>
22+
<string>$(CURRENT_PROJECT_VERSION)</string>
23+
<key>NSPrincipalClass</key>
24+
<string></string>
25+
</dict>
26+
</plist>

‎README.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
</p>
44

55
[![Cocoapods](https://cocoapod-badges.herokuapp.com/v/GearRefreshControl/badge.svg)](http://cocoapods.org/?q=gearrefreshcontrol)
6+
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
67
![Swift 2.0](https://img.shields.io/badge/swift-2.0-orange.svg)
78

89
A custom animation for the UIRefreshControl. Inspired by this [Dribble shot](https://dribbble.com/shots/1974767-gear-powered-pull-to-refresh-animation?list=animated&sort=popular&timeframe=now&offset=19) and [this tutorial](http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/).

0 commit comments

Comments
 (0)
Please sign in to comment.