Skip to content

Commit 99e5fbe

Browse files
committed
replicator layer example
1 parent e475896 commit 99e5fbe

File tree

7 files changed

+471
-0
lines changed

7 files changed

+471
-0
lines changed
Lines changed: 290 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 46;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
32F0A2011BD94018005D1D0C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0A2001BD94018005D1D0C /* AppDelegate.swift */; };
11+
32F0A2031BD94018005D1D0C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0A2021BD94018005D1D0C /* ViewController.swift */; };
12+
32F0A2061BD94018005D1D0C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 32F0A2041BD94018005D1D0C /* Main.storyboard */; };
13+
32F0A2081BD94018005D1D0C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32F0A2071BD94018005D1D0C /* Assets.xcassets */; };
14+
32F0A20B1BD94018005D1D0C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 32F0A2091BD94018005D1D0C /* LaunchScreen.storyboard */; };
15+
/* End PBXBuildFile section */
16+
17+
/* Begin PBXFileReference section */
18+
32F0A1FD1BD94018005D1D0C /* Replicator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Replicator.app; sourceTree = BUILT_PRODUCTS_DIR; };
19+
32F0A2001BD94018005D1D0C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
20+
32F0A2021BD94018005D1D0C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
21+
32F0A2051BD94018005D1D0C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
22+
32F0A2071BD94018005D1D0C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
23+
32F0A20A1BD94018005D1D0C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
24+
32F0A20C1BD94018005D1D0C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
25+
/* End PBXFileReference section */
26+
27+
/* Begin PBXFrameworksBuildPhase section */
28+
32F0A1FA1BD94018005D1D0C /* Frameworks */ = {
29+
isa = PBXFrameworksBuildPhase;
30+
buildActionMask = 2147483647;
31+
files = (
32+
);
33+
runOnlyForDeploymentPostprocessing = 0;
34+
};
35+
/* End PBXFrameworksBuildPhase section */
36+
37+
/* Begin PBXGroup section */
38+
32F0A1F41BD94018005D1D0C = {
39+
isa = PBXGroup;
40+
children = (
41+
32F0A1FF1BD94018005D1D0C /* Replicator */,
42+
32F0A1FE1BD94018005D1D0C /* Products */,
43+
);
44+
sourceTree = "<group>";
45+
};
46+
32F0A1FE1BD94018005D1D0C /* Products */ = {
47+
isa = PBXGroup;
48+
children = (
49+
32F0A1FD1BD94018005D1D0C /* Replicator.app */,
50+
);
51+
name = Products;
52+
sourceTree = "<group>";
53+
};
54+
32F0A1FF1BD94018005D1D0C /* Replicator */ = {
55+
isa = PBXGroup;
56+
children = (
57+
32F0A2001BD94018005D1D0C /* AppDelegate.swift */,
58+
32F0A2021BD94018005D1D0C /* ViewController.swift */,
59+
32F0A2041BD94018005D1D0C /* Main.storyboard */,
60+
32F0A2071BD94018005D1D0C /* Assets.xcassets */,
61+
32F0A2091BD94018005D1D0C /* LaunchScreen.storyboard */,
62+
32F0A20C1BD94018005D1D0C /* Info.plist */,
63+
);
64+
path = Replicator;
65+
sourceTree = "<group>";
66+
};
67+
/* End PBXGroup section */
68+
69+
/* Begin PBXNativeTarget section */
70+
32F0A1FC1BD94018005D1D0C /* Replicator */ = {
71+
isa = PBXNativeTarget;
72+
buildConfigurationList = 32F0A20F1BD94018005D1D0C /* Build configuration list for PBXNativeTarget "Replicator" */;
73+
buildPhases = (
74+
32F0A1F91BD94018005D1D0C /* Sources */,
75+
32F0A1FA1BD94018005D1D0C /* Frameworks */,
76+
32F0A1FB1BD94018005D1D0C /* Resources */,
77+
);
78+
buildRules = (
79+
);
80+
dependencies = (
81+
);
82+
name = Replicator;
83+
productName = Replicator;
84+
productReference = 32F0A1FD1BD94018005D1D0C /* Replicator.app */;
85+
productType = "com.apple.product-type.application";
86+
};
87+
/* End PBXNativeTarget section */
88+
89+
/* Begin PBXProject section */
90+
32F0A1F51BD94018005D1D0C /* Project object */ = {
91+
isa = PBXProject;
92+
attributes = {
93+
LastUpgradeCheck = 0700;
94+
ORGANIZATIONNAME = "Matt Neuburg";
95+
TargetAttributes = {
96+
32F0A1FC1BD94018005D1D0C = {
97+
CreatedOnToolsVersion = 7.0.1;
98+
};
99+
};
100+
};
101+
buildConfigurationList = 32F0A1F81BD94018005D1D0C /* Build configuration list for PBXProject "Replicator" */;
102+
compatibilityVersion = "Xcode 3.2";
103+
developmentRegion = English;
104+
hasScannedForEncodings = 0;
105+
knownRegions = (
106+
en,
107+
Base,
108+
);
109+
mainGroup = 32F0A1F41BD94018005D1D0C;
110+
productRefGroup = 32F0A1FE1BD94018005D1D0C /* Products */;
111+
projectDirPath = "";
112+
projectRoot = "";
113+
targets = (
114+
32F0A1FC1BD94018005D1D0C /* Replicator */,
115+
);
116+
};
117+
/* End PBXProject section */
118+
119+
/* Begin PBXResourcesBuildPhase section */
120+
32F0A1FB1BD94018005D1D0C /* Resources */ = {
121+
isa = PBXResourcesBuildPhase;
122+
buildActionMask = 2147483647;
123+
files = (
124+
32F0A20B1BD94018005D1D0C /* LaunchScreen.storyboard in Resources */,
125+
32F0A2081BD94018005D1D0C /* Assets.xcassets in Resources */,
126+
32F0A2061BD94018005D1D0C /* Main.storyboard in Resources */,
127+
);
128+
runOnlyForDeploymentPostprocessing = 0;
129+
};
130+
/* End PBXResourcesBuildPhase section */
131+
132+
/* Begin PBXSourcesBuildPhase section */
133+
32F0A1F91BD94018005D1D0C /* Sources */ = {
134+
isa = PBXSourcesBuildPhase;
135+
buildActionMask = 2147483647;
136+
files = (
137+
32F0A2031BD94018005D1D0C /* ViewController.swift in Sources */,
138+
32F0A2011BD94018005D1D0C /* AppDelegate.swift in Sources */,
139+
);
140+
runOnlyForDeploymentPostprocessing = 0;
141+
};
142+
/* End PBXSourcesBuildPhase section */
143+
144+
/* Begin PBXVariantGroup section */
145+
32F0A2041BD94018005D1D0C /* Main.storyboard */ = {
146+
isa = PBXVariantGroup;
147+
children = (
148+
32F0A2051BD94018005D1D0C /* Base */,
149+
);
150+
name = Main.storyboard;
151+
sourceTree = "<group>";
152+
};
153+
32F0A2091BD94018005D1D0C /* LaunchScreen.storyboard */ = {
154+
isa = PBXVariantGroup;
155+
children = (
156+
32F0A20A1BD94018005D1D0C /* Base */,
157+
);
158+
name = LaunchScreen.storyboard;
159+
sourceTree = "<group>";
160+
};
161+
/* End PBXVariantGroup section */
162+
163+
/* Begin XCBuildConfiguration section */
164+
32F0A20D1BD94018005D1D0C /* Debug */ = {
165+
isa = XCBuildConfiguration;
166+
buildSettings = {
167+
ALWAYS_SEARCH_USER_PATHS = NO;
168+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
169+
CLANG_CXX_LIBRARY = "libc++";
170+
CLANG_ENABLE_MODULES = YES;
171+
CLANG_ENABLE_OBJC_ARC = YES;
172+
CLANG_WARN_BOOL_CONVERSION = YES;
173+
CLANG_WARN_CONSTANT_CONVERSION = YES;
174+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
175+
CLANG_WARN_EMPTY_BODY = YES;
176+
CLANG_WARN_ENUM_CONVERSION = YES;
177+
CLANG_WARN_INT_CONVERSION = YES;
178+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
179+
CLANG_WARN_UNREACHABLE_CODE = YES;
180+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
181+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
182+
COPY_PHASE_STRIP = NO;
183+
DEBUG_INFORMATION_FORMAT = dwarf;
184+
ENABLE_STRICT_OBJC_MSGSEND = YES;
185+
ENABLE_TESTABILITY = YES;
186+
GCC_C_LANGUAGE_STANDARD = gnu99;
187+
GCC_DYNAMIC_NO_PIC = NO;
188+
GCC_NO_COMMON_BLOCKS = YES;
189+
GCC_OPTIMIZATION_LEVEL = 0;
190+
GCC_PREPROCESSOR_DEFINITIONS = (
191+
"DEBUG=1",
192+
"$(inherited)",
193+
);
194+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
195+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
196+
GCC_WARN_UNDECLARED_SELECTOR = YES;
197+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
198+
GCC_WARN_UNUSED_FUNCTION = YES;
199+
GCC_WARN_UNUSED_VARIABLE = YES;
200+
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
201+
MTL_ENABLE_DEBUG_INFO = YES;
202+
ONLY_ACTIVE_ARCH = YES;
203+
SDKROOT = iphoneos;
204+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
205+
};
206+
name = Debug;
207+
};
208+
32F0A20E1BD94018005D1D0C /* Release */ = {
209+
isa = XCBuildConfiguration;
210+
buildSettings = {
211+
ALWAYS_SEARCH_USER_PATHS = NO;
212+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
213+
CLANG_CXX_LIBRARY = "libc++";
214+
CLANG_ENABLE_MODULES = YES;
215+
CLANG_ENABLE_OBJC_ARC = YES;
216+
CLANG_WARN_BOOL_CONVERSION = YES;
217+
CLANG_WARN_CONSTANT_CONVERSION = YES;
218+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
219+
CLANG_WARN_EMPTY_BODY = YES;
220+
CLANG_WARN_ENUM_CONVERSION = YES;
221+
CLANG_WARN_INT_CONVERSION = YES;
222+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
223+
CLANG_WARN_UNREACHABLE_CODE = YES;
224+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
225+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
226+
COPY_PHASE_STRIP = NO;
227+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
228+
ENABLE_NS_ASSERTIONS = NO;
229+
ENABLE_STRICT_OBJC_MSGSEND = YES;
230+
GCC_C_LANGUAGE_STANDARD = gnu99;
231+
GCC_NO_COMMON_BLOCKS = YES;
232+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
233+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
234+
GCC_WARN_UNDECLARED_SELECTOR = YES;
235+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
236+
GCC_WARN_UNUSED_FUNCTION = YES;
237+
GCC_WARN_UNUSED_VARIABLE = YES;
238+
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
239+
MTL_ENABLE_DEBUG_INFO = NO;
240+
SDKROOT = iphoneos;
241+
VALIDATE_PRODUCT = YES;
242+
};
243+
name = Release;
244+
};
245+
32F0A2101BD94018005D1D0C /* Debug */ = {
246+
isa = XCBuildConfiguration;
247+
buildSettings = {
248+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
249+
INFOPLIST_FILE = Replicator/Info.plist;
250+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
251+
PRODUCT_BUNDLE_IDENTIFIER = com.neuburg.matt.Replicator;
252+
PRODUCT_NAME = "$(TARGET_NAME)";
253+
};
254+
name = Debug;
255+
};
256+
32F0A2111BD94018005D1D0C /* Release */ = {
257+
isa = XCBuildConfiguration;
258+
buildSettings = {
259+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
260+
INFOPLIST_FILE = Replicator/Info.plist;
261+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
262+
PRODUCT_BUNDLE_IDENTIFIER = com.neuburg.matt.Replicator;
263+
PRODUCT_NAME = "$(TARGET_NAME)";
264+
};
265+
name = Release;
266+
};
267+
/* End XCBuildConfiguration section */
268+
269+
/* Begin XCConfigurationList section */
270+
32F0A1F81BD94018005D1D0C /* Build configuration list for PBXProject "Replicator" */ = {
271+
isa = XCConfigurationList;
272+
buildConfigurations = (
273+
32F0A20D1BD94018005D1D0C /* Debug */,
274+
32F0A20E1BD94018005D1D0C /* Release */,
275+
);
276+
defaultConfigurationIsVisible = 0;
277+
defaultConfigurationName = Release;
278+
};
279+
32F0A20F1BD94018005D1D0C /* Build configuration list for PBXNativeTarget "Replicator" */ = {
280+
isa = XCConfigurationList;
281+
buildConfigurations = (
282+
32F0A2101BD94018005D1D0C /* Debug */,
283+
32F0A2111BD94018005D1D0C /* Release */,
284+
);
285+
defaultConfigurationIsVisible = 0;
286+
};
287+
/* End XCConfigurationList section */
288+
};
289+
rootObject = 32F0A1F51BD94018005D1D0C /* Project object */;
290+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
3+
import UIKit
4+
5+
@UIApplicationMain
6+
class AppDelegate: UIResponder, UIApplicationDelegate {
7+
8+
var window: UIWindow?
9+
10+
11+
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
12+
// Override point for customization after application launch.
13+
return true
14+
}
15+
16+
17+
18+
}
19+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
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+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
3+
<dependencies>
4+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
5+
</dependencies>
6+
<scenes>
7+
<!--View Controller-->
8+
<scene sceneID="EHf-IW-A2E">
9+
<objects>
10+
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
11+
<layoutGuides>
12+
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
13+
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
14+
</layoutGuides>
15+
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
16+
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
17+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18+
<animations/>
19+
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
20+
</view>
21+
</viewController>
22+
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
23+
</objects>
24+
<point key="canvasLocation" x="53" y="375"/>
25+
</scene>
26+
</scenes>
27+
</document>

0 commit comments

Comments
 (0)