Skip to content

Commit b85f3ff

Browse files
committed
Create an OS X example app that creates everything in code
1 parent 9e69728 commit b85f3ff

File tree

9 files changed

+594
-0
lines changed

9 files changed

+594
-0
lines changed
Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 46;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
2C136A2517641106004C7401 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C136A2417641106004C7401 /* Cocoa.framework */; };
11+
2C136A2F17641106004C7401 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A2D17641106004C7401 /* InfoPlist.strings */; };
12+
2C136A3117641106004C7401 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A3017641106004C7401 /* main.m */; };
13+
2C136A3517641106004C7401 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A3317641106004C7401 /* Credits.rtf */; };
14+
2C136A3817641106004C7401 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A3717641106004C7401 /* AppDelegate.m */; };
15+
2C136A4217641236004C7401 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C136A4117641236004C7401 /* WebKit.framework */; };
16+
2C136A4E176421B9004C7401 /* ExampleApp.html in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A4D176421B9004C7401 /* ExampleApp.html */; };
17+
2C136A5617642680004C7401 /* WebViewJavascriptBridge.js.txt in Resources */ = {isa = PBXBuildFile; fileRef = 2C136A5117642680004C7401 /* WebViewJavascriptBridge.js.txt */; };
18+
2C136A5717642680004C7401 /* WebViewJavascriptBridgeAbstract.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A5317642680004C7401 /* WebViewJavascriptBridgeAbstract.m */; };
19+
2C136A5817642680004C7401 /* WebViewJavascriptBridge_OSX.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C136A5517642680004C7401 /* WebViewJavascriptBridge_OSX.m */; };
20+
/* End PBXBuildFile section */
21+
22+
/* Begin PBXFileReference section */
23+
2C136A2117641106004C7401 /* ExampleApp-OSX.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ExampleApp-OSX.app"; sourceTree = BUILT_PRODUCTS_DIR; };
24+
2C136A2417641106004C7401 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
25+
2C136A2717641106004C7401 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
26+
2C136A2817641106004C7401 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
27+
2C136A2917641106004C7401 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
28+
2C136A2C17641106004C7401 /* ExampleApp-OSX-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ExampleApp-OSX-Info.plist"; sourceTree = "<group>"; };
29+
2C136A2E17641106004C7401 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
30+
2C136A3017641106004C7401 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
31+
2C136A3217641106004C7401 /* ExampleApp-OSX-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ExampleApp-OSX-Prefix.pch"; sourceTree = "<group>"; };
32+
2C136A3417641106004C7401 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
33+
2C136A3617641106004C7401 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
34+
2C136A3717641106004C7401 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
35+
2C136A4117641236004C7401 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
36+
2C136A4D176421B9004C7401 /* ExampleApp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ExampleApp.html; sourceTree = "<group>"; };
37+
2C136A5117642680004C7401 /* WebViewJavascriptBridge.js.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebViewJavascriptBridge.js.txt; sourceTree = "<group>"; };
38+
2C136A5217642680004C7401 /* WebViewJavascriptBridgeAbstract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridgeAbstract.h; sourceTree = "<group>"; };
39+
2C136A5317642680004C7401 /* WebViewJavascriptBridgeAbstract.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridgeAbstract.m; sourceTree = "<group>"; };
40+
2C136A5417642680004C7401 /* WebViewJavascriptBridge_OSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewJavascriptBridge_OSX.h; sourceTree = "<group>"; };
41+
2C136A5517642680004C7401 /* WebViewJavascriptBridge_OSX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebViewJavascriptBridge_OSX.m; sourceTree = "<group>"; };
42+
/* End PBXFileReference section */
43+
44+
/* Begin PBXFrameworksBuildPhase section */
45+
2C136A1E17641106004C7401 /* Frameworks */ = {
46+
isa = PBXFrameworksBuildPhase;
47+
buildActionMask = 2147483647;
48+
files = (
49+
2C136A4217641236004C7401 /* WebKit.framework in Frameworks */,
50+
2C136A2517641106004C7401 /* Cocoa.framework in Frameworks */,
51+
);
52+
runOnlyForDeploymentPostprocessing = 0;
53+
};
54+
/* End PBXFrameworksBuildPhase section */
55+
56+
/* Begin PBXGroup section */
57+
2C136A1817641106004C7401 = {
58+
isa = PBXGroup;
59+
children = (
60+
2C136A4117641236004C7401 /* WebKit.framework */,
61+
2C136A2A17641106004C7401 /* ExampleApp-OSX */,
62+
2C136A2317641106004C7401 /* Frameworks */,
63+
2C136A2217641106004C7401 /* Products */,
64+
);
65+
sourceTree = "<group>";
66+
};
67+
2C136A2217641106004C7401 /* Products */ = {
68+
isa = PBXGroup;
69+
children = (
70+
2C136A2117641106004C7401 /* ExampleApp-OSX.app */,
71+
);
72+
name = Products;
73+
sourceTree = "<group>";
74+
};
75+
2C136A2317641106004C7401 /* Frameworks */ = {
76+
isa = PBXGroup;
77+
children = (
78+
2C136A2417641106004C7401 /* Cocoa.framework */,
79+
2C136A2617641106004C7401 /* Other Frameworks */,
80+
);
81+
name = Frameworks;
82+
sourceTree = "<group>";
83+
};
84+
2C136A2617641106004C7401 /* Other Frameworks */ = {
85+
isa = PBXGroup;
86+
children = (
87+
2C136A2717641106004C7401 /* AppKit.framework */,
88+
2C136A2817641106004C7401 /* CoreData.framework */,
89+
2C136A2917641106004C7401 /* Foundation.framework */,
90+
);
91+
name = "Other Frameworks";
92+
sourceTree = "<group>";
93+
};
94+
2C136A2A17641106004C7401 /* ExampleApp-OSX */ = {
95+
isa = PBXGroup;
96+
children = (
97+
2C136A3617641106004C7401 /* AppDelegate.h */,
98+
2C136A3717641106004C7401 /* AppDelegate.m */,
99+
2C136A4D176421B9004C7401 /* ExampleApp.html */,
100+
2C136A4F17642680004C7401 /* WebViewJavascriptBridge_OSX */,
101+
2C136A2B17641106004C7401 /* Supporting Files */,
102+
);
103+
path = "ExampleApp-OSX";
104+
sourceTree = "<group>";
105+
};
106+
2C136A2B17641106004C7401 /* Supporting Files */ = {
107+
isa = PBXGroup;
108+
children = (
109+
2C136A2C17641106004C7401 /* ExampleApp-OSX-Info.plist */,
110+
2C136A2D17641106004C7401 /* InfoPlist.strings */,
111+
2C136A3017641106004C7401 /* main.m */,
112+
2C136A3217641106004C7401 /* ExampleApp-OSX-Prefix.pch */,
113+
2C136A3317641106004C7401 /* Credits.rtf */,
114+
);
115+
name = "Supporting Files";
116+
sourceTree = "<group>";
117+
};
118+
2C136A4F17642680004C7401 /* WebViewJavascriptBridge_OSX */ = {
119+
isa = PBXGroup;
120+
children = (
121+
2C136A5017642680004C7401 /* WebViewJavascriptAbstract */,
122+
2C136A5417642680004C7401 /* WebViewJavascriptBridge_OSX.h */,
123+
2C136A5517642680004C7401 /* WebViewJavascriptBridge_OSX.m */,
124+
);
125+
name = WebViewJavascriptBridge_OSX;
126+
path = ../../WebViewJavascriptBridge_OSX;
127+
sourceTree = "<group>";
128+
};
129+
2C136A5017642680004C7401 /* WebViewJavascriptAbstract */ = {
130+
isa = PBXGroup;
131+
children = (
132+
2C136A5117642680004C7401 /* WebViewJavascriptBridge.js.txt */,
133+
2C136A5217642680004C7401 /* WebViewJavascriptBridgeAbstract.h */,
134+
2C136A5317642680004C7401 /* WebViewJavascriptBridgeAbstract.m */,
135+
);
136+
path = WebViewJavascriptAbstract;
137+
sourceTree = "<group>";
138+
};
139+
/* End PBXGroup section */
140+
141+
/* Begin PBXNativeTarget section */
142+
2C136A2017641106004C7401 /* ExampleApp-OSX */ = {
143+
isa = PBXNativeTarget;
144+
buildConfigurationList = 2C136A3E17641106004C7401 /* Build configuration list for PBXNativeTarget "ExampleApp-OSX" */;
145+
buildPhases = (
146+
2C136A1D17641106004C7401 /* Sources */,
147+
2C136A1E17641106004C7401 /* Frameworks */,
148+
2C136A1F17641106004C7401 /* Resources */,
149+
);
150+
buildRules = (
151+
);
152+
dependencies = (
153+
);
154+
name = "ExampleApp-OSX";
155+
productName = "ExampleApp-OSX";
156+
productReference = 2C136A2117641106004C7401 /* ExampleApp-OSX.app */;
157+
productType = "com.apple.product-type.application";
158+
};
159+
/* End PBXNativeTarget section */
160+
161+
/* Begin PBXProject section */
162+
2C136A1917641106004C7401 /* Project object */ = {
163+
isa = PBXProject;
164+
attributes = {
165+
LastUpgradeCheck = 0460;
166+
ORGANIZATIONNAME = "Marcus Westin";
167+
};
168+
buildConfigurationList = 2C136A1C17641106004C7401 /* Build configuration list for PBXProject "ExampleApp-OSX" */;
169+
compatibilityVersion = "Xcode 3.2";
170+
developmentRegion = English;
171+
hasScannedForEncodings = 0;
172+
knownRegions = (
173+
en,
174+
);
175+
mainGroup = 2C136A1817641106004C7401;
176+
productRefGroup = 2C136A2217641106004C7401 /* Products */;
177+
projectDirPath = "";
178+
projectRoot = "";
179+
targets = (
180+
2C136A2017641106004C7401 /* ExampleApp-OSX */,
181+
);
182+
};
183+
/* End PBXProject section */
184+
185+
/* Begin PBXResourcesBuildPhase section */
186+
2C136A1F17641106004C7401 /* Resources */ = {
187+
isa = PBXResourcesBuildPhase;
188+
buildActionMask = 2147483647;
189+
files = (
190+
2C136A2F17641106004C7401 /* InfoPlist.strings in Resources */,
191+
2C136A3517641106004C7401 /* Credits.rtf in Resources */,
192+
2C136A4E176421B9004C7401 /* ExampleApp.html in Resources */,
193+
2C136A5617642680004C7401 /* WebViewJavascriptBridge.js.txt in Resources */,
194+
);
195+
runOnlyForDeploymentPostprocessing = 0;
196+
};
197+
/* End PBXResourcesBuildPhase section */
198+
199+
/* Begin PBXSourcesBuildPhase section */
200+
2C136A1D17641106004C7401 /* Sources */ = {
201+
isa = PBXSourcesBuildPhase;
202+
buildActionMask = 2147483647;
203+
files = (
204+
2C136A3117641106004C7401 /* main.m in Sources */,
205+
2C136A3817641106004C7401 /* AppDelegate.m in Sources */,
206+
2C136A5717642680004C7401 /* WebViewJavascriptBridgeAbstract.m in Sources */,
207+
2C136A5817642680004C7401 /* WebViewJavascriptBridge_OSX.m in Sources */,
208+
);
209+
runOnlyForDeploymentPostprocessing = 0;
210+
};
211+
/* End PBXSourcesBuildPhase section */
212+
213+
/* Begin PBXVariantGroup section */
214+
2C136A2D17641106004C7401 /* InfoPlist.strings */ = {
215+
isa = PBXVariantGroup;
216+
children = (
217+
2C136A2E17641106004C7401 /* en */,
218+
);
219+
name = InfoPlist.strings;
220+
sourceTree = "<group>";
221+
};
222+
2C136A3317641106004C7401 /* Credits.rtf */ = {
223+
isa = PBXVariantGroup;
224+
children = (
225+
2C136A3417641106004C7401 /* en */,
226+
);
227+
name = Credits.rtf;
228+
sourceTree = "<group>";
229+
};
230+
/* End PBXVariantGroup section */
231+
232+
/* Begin XCBuildConfiguration section */
233+
2C136A3C17641106004C7401 /* Debug */ = {
234+
isa = XCBuildConfiguration;
235+
buildSettings = {
236+
ALWAYS_SEARCH_USER_PATHS = NO;
237+
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
238+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
239+
CLANG_CXX_LIBRARY = "libc++";
240+
CLANG_ENABLE_OBJC_ARC = YES;
241+
CLANG_WARN_CONSTANT_CONVERSION = YES;
242+
CLANG_WARN_EMPTY_BODY = YES;
243+
CLANG_WARN_ENUM_CONVERSION = YES;
244+
CLANG_WARN_INT_CONVERSION = YES;
245+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
246+
COPY_PHASE_STRIP = NO;
247+
GCC_C_LANGUAGE_STANDARD = gnu99;
248+
GCC_DYNAMIC_NO_PIC = NO;
249+
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
250+
GCC_OPTIMIZATION_LEVEL = 0;
251+
GCC_PREPROCESSOR_DEFINITIONS = (
252+
"DEBUG=1",
253+
"$(inherited)",
254+
);
255+
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
256+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
257+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
258+
GCC_WARN_UNINITIALIZED_AUTOS = YES;
259+
GCC_WARN_UNUSED_VARIABLE = YES;
260+
MACOSX_DEPLOYMENT_TARGET = 10.8;
261+
ONLY_ACTIVE_ARCH = YES;
262+
SDKROOT = macosx;
263+
};
264+
name = Debug;
265+
};
266+
2C136A3D17641106004C7401 /* Release */ = {
267+
isa = XCBuildConfiguration;
268+
buildSettings = {
269+
ALWAYS_SEARCH_USER_PATHS = NO;
270+
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
271+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
272+
CLANG_CXX_LIBRARY = "libc++";
273+
CLANG_ENABLE_OBJC_ARC = YES;
274+
CLANG_WARN_CONSTANT_CONVERSION = YES;
275+
CLANG_WARN_EMPTY_BODY = YES;
276+
CLANG_WARN_ENUM_CONVERSION = YES;
277+
CLANG_WARN_INT_CONVERSION = YES;
278+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
279+
COPY_PHASE_STRIP = YES;
280+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
281+
GCC_C_LANGUAGE_STANDARD = gnu99;
282+
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
283+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
284+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
285+
GCC_WARN_UNINITIALIZED_AUTOS = YES;
286+
GCC_WARN_UNUSED_VARIABLE = YES;
287+
MACOSX_DEPLOYMENT_TARGET = 10.8;
288+
SDKROOT = macosx;
289+
};
290+
name = Release;
291+
};
292+
2C136A3F17641106004C7401 /* Debug */ = {
293+
isa = XCBuildConfiguration;
294+
buildSettings = {
295+
COMBINE_HIDPI_IMAGES = YES;
296+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
297+
GCC_PREFIX_HEADER = "ExampleApp-OSX/ExampleApp-OSX-Prefix.pch";
298+
INFOPLIST_FILE = "ExampleApp-OSX/ExampleApp-OSX-Info.plist";
299+
PRODUCT_NAME = "$(TARGET_NAME)";
300+
WRAPPER_EXTENSION = app;
301+
};
302+
name = Debug;
303+
};
304+
2C136A4017641106004C7401 /* Release */ = {
305+
isa = XCBuildConfiguration;
306+
buildSettings = {
307+
COMBINE_HIDPI_IMAGES = YES;
308+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
309+
GCC_PREFIX_HEADER = "ExampleApp-OSX/ExampleApp-OSX-Prefix.pch";
310+
INFOPLIST_FILE = "ExampleApp-OSX/ExampleApp-OSX-Info.plist";
311+
PRODUCT_NAME = "$(TARGET_NAME)";
312+
WRAPPER_EXTENSION = app;
313+
};
314+
name = Release;
315+
};
316+
/* End XCBuildConfiguration section */
317+
318+
/* Begin XCConfigurationList section */
319+
2C136A1C17641106004C7401 /* Build configuration list for PBXProject "ExampleApp-OSX" */ = {
320+
isa = XCConfigurationList;
321+
buildConfigurations = (
322+
2C136A3C17641106004C7401 /* Debug */,
323+
2C136A3D17641106004C7401 /* Release */,
324+
);
325+
defaultConfigurationIsVisible = 0;
326+
defaultConfigurationName = Release;
327+
};
328+
2C136A3E17641106004C7401 /* Build configuration list for PBXNativeTarget "ExampleApp-OSX" */ = {
329+
isa = XCConfigurationList;
330+
buildConfigurations = (
331+
2C136A3F17641106004C7401 /* Debug */,
332+
2C136A4017641106004C7401 /* Release */,
333+
);
334+
defaultConfigurationIsVisible = 0;
335+
defaultConfigurationName = Release;
336+
};
337+
/* End XCConfigurationList section */
338+
};
339+
rootObject = 2C136A1917641106004C7401 /* Project object */;
340+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//
2+
// AppDelegate.h
3+
// ExampleApp-OSX
4+
//
5+
// Created by Marcus Westin on 6/8/13.
6+
// Copyright (c) 2013 Marcus Westin. All rights reserved.
7+
//
8+
9+
#import <Cocoa/Cocoa.h>
10+
11+
@interface AppDelegate : NSObject <NSApplicationDelegate>
12+
13+
@property (assign) IBOutlet NSWindow *window;
14+
15+
@end

0 commit comments

Comments
 (0)