Skip to content

Commit 5886ad8

Browse files
committed
The start of the EmbeddedDemo app, based off lemonmojo's PR gnachman#366 (gnachman#366). A key difference between lemonmojo's approach and this approach is instead of adding the embedded demo app as a target to the iTerm2 project, I've created an iEmbeddedDemo workspace and included the app's project and iTerm2Lib's project, thus not requiring any modification to the iTerm2 project.
1 parent 64a4f78 commit 5886ad8

File tree

16 files changed

+1317
-0
lines changed

16 files changed

+1317
-0
lines changed

embed/EmbedDemo.xcworkspace/contents.xcworkspacedata

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
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+
</plist>
Lines changed: 358 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,358 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 50;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
691E357A233708A5007FFF84 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 691E3579233708A5007FFF84 /* AppDelegate.m */; };
11+
691E357D233708A5007FFF84 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 691E357C233708A5007FFF84 /* ViewController.m */; };
12+
691E357F233708A6007FFF84 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 691E357E233708A6007FFF84 /* Assets.xcassets */; };
13+
691E3582233708A6007FFF84 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 691E3580233708A6007FFF84 /* Main.storyboard */; };
14+
691E3585233708A6007FFF84 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 691E3584233708A6007FFF84 /* main.m */; };
15+
692E72E3233A325E009EB4A2 /* iTerm2Lib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 692E72E2233A325E009EB4A2 /* iTerm2Lib.framework */; };
16+
6970749A233C59150092998B /* iTerm2Lib.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 692E72E2233A325E009EB4A2 /* iTerm2Lib.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
17+
/* End PBXBuildFile section */
18+
19+
/* Begin PBXCopyFilesBuildPhase section */
20+
69707493233C58550092998B /* CopyFiles */ = {
21+
isa = PBXCopyFilesBuildPhase;
22+
buildActionMask = 2147483647;
23+
dstPath = "";
24+
dstSubfolderSpec = 10;
25+
files = (
26+
6970749A233C59150092998B /* iTerm2Lib.framework in CopyFiles */,
27+
);
28+
runOnlyForDeploymentPostprocessing = 0;
29+
};
30+
/* End PBXCopyFilesBuildPhase section */
31+
32+
/* Begin PBXFileReference section */
33+
691E3575233708A5007FFF84 /* EmbedDemoApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EmbedDemoApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
34+
691E3578233708A5007FFF84 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
35+
691E3579233708A5007FFF84 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
36+
691E357B233708A5007FFF84 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
37+
691E357C233708A5007FFF84 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
38+
691E357E233708A6007FFF84 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
39+
691E3581233708A6007FFF84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
40+
691E3583233708A6007FFF84 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
41+
691E3584233708A6007FFF84 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
42+
691E3586233708A6007FFF84 /* EmbedDemoApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = EmbedDemoApp.entitlements; sourceTree = "<group>"; };
43+
692E72E2233A325E009EB4A2 /* iTerm2Lib.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = iTerm2Lib.framework; sourceTree = BUILT_PRODUCTS_DIR; };
44+
/* End PBXFileReference section */
45+
46+
/* Begin PBXFrameworksBuildPhase section */
47+
691E3572233708A5007FFF84 /* Frameworks */ = {
48+
isa = PBXFrameworksBuildPhase;
49+
buildActionMask = 2147483647;
50+
files = (
51+
692E72E3233A325E009EB4A2 /* iTerm2Lib.framework in Frameworks */,
52+
);
53+
runOnlyForDeploymentPostprocessing = 0;
54+
};
55+
/* End PBXFrameworksBuildPhase section */
56+
57+
/* Begin PBXGroup section */
58+
691E356C233708A5007FFF84 = {
59+
isa = PBXGroup;
60+
children = (
61+
691E3577233708A5007FFF84 /* EmbedDemoApp */,
62+
691E3576233708A5007FFF84 /* Products */,
63+
692E72E1233A325E009EB4A2 /* Frameworks */,
64+
);
65+
sourceTree = "<group>";
66+
};
67+
691E3576233708A5007FFF84 /* Products */ = {
68+
isa = PBXGroup;
69+
children = (
70+
691E3575233708A5007FFF84 /* EmbedDemoApp.app */,
71+
);
72+
name = Products;
73+
sourceTree = "<group>";
74+
};
75+
691E3577233708A5007FFF84 /* EmbedDemoApp */ = {
76+
isa = PBXGroup;
77+
children = (
78+
691E3578233708A5007FFF84 /* AppDelegate.h */,
79+
691E3579233708A5007FFF84 /* AppDelegate.m */,
80+
691E357B233708A5007FFF84 /* ViewController.h */,
81+
691E357C233708A5007FFF84 /* ViewController.m */,
82+
691E357E233708A6007FFF84 /* Assets.xcassets */,
83+
691E3580233708A6007FFF84 /* Main.storyboard */,
84+
691E3583233708A6007FFF84 /* Info.plist */,
85+
691E3584233708A6007FFF84 /* main.m */,
86+
691E3586233708A6007FFF84 /* EmbedDemoApp.entitlements */,
87+
);
88+
path = EmbedDemoApp;
89+
sourceTree = "<group>";
90+
};
91+
692E72E1233A325E009EB4A2 /* Frameworks */ = {
92+
isa = PBXGroup;
93+
children = (
94+
692E72E2233A325E009EB4A2 /* iTerm2Lib.framework */,
95+
);
96+
name = Frameworks;
97+
sourceTree = "<group>";
98+
};
99+
/* End PBXGroup section */
100+
101+
/* Begin PBXNativeTarget section */
102+
691E3574233708A5007FFF84 /* EmbedDemoApp */ = {
103+
isa = PBXNativeTarget;
104+
buildConfigurationList = 691E3589233708A6007FFF84 /* Build configuration list for PBXNativeTarget "EmbedDemoApp" */;
105+
buildPhases = (
106+
691E3571233708A5007FFF84 /* Sources */,
107+
691E3572233708A5007FFF84 /* Frameworks */,
108+
691E3573233708A5007FFF84 /* Resources */,
109+
69707493233C58550092998B /* CopyFiles */,
110+
);
111+
buildRules = (
112+
);
113+
dependencies = (
114+
);
115+
name = EmbedDemoApp;
116+
productName = EmbedDemoApp;
117+
productReference = 691E3575233708A5007FFF84 /* EmbedDemoApp.app */;
118+
productType = "com.apple.product-type.application";
119+
};
120+
/* End PBXNativeTarget section */
121+
122+
/* Begin PBXProject section */
123+
691E356D233708A5007FFF84 /* Project object */ = {
124+
isa = PBXProject;
125+
attributes = {
126+
LastUpgradeCheck = 1030;
127+
ORGANIZATIONNAME = "Heynow Software";
128+
TargetAttributes = {
129+
691E3574233708A5007FFF84 = {
130+
CreatedOnToolsVersion = 10.3;
131+
};
132+
};
133+
};
134+
buildConfigurationList = 691E3570233708A5007FFF84 /* Build configuration list for PBXProject "EmbedDemoApp" */;
135+
compatibilityVersion = "Xcode 9.3";
136+
developmentRegion = en;
137+
hasScannedForEncodings = 0;
138+
knownRegions = (
139+
en,
140+
Base,
141+
);
142+
mainGroup = 691E356C233708A5007FFF84;
143+
productRefGroup = 691E3576233708A5007FFF84 /* Products */;
144+
projectDirPath = "";
145+
projectRoot = "";
146+
targets = (
147+
691E3574233708A5007FFF84 /* EmbedDemoApp */,
148+
);
149+
};
150+
/* End PBXProject section */
151+
152+
/* Begin PBXResourcesBuildPhase section */
153+
691E3573233708A5007FFF84 /* Resources */ = {
154+
isa = PBXResourcesBuildPhase;
155+
buildActionMask = 2147483647;
156+
files = (
157+
691E357F233708A6007FFF84 /* Assets.xcassets in Resources */,
158+
691E3582233708A6007FFF84 /* Main.storyboard in Resources */,
159+
);
160+
runOnlyForDeploymentPostprocessing = 0;
161+
};
162+
/* End PBXResourcesBuildPhase section */
163+
164+
/* Begin PBXSourcesBuildPhase section */
165+
691E3571233708A5007FFF84 /* Sources */ = {
166+
isa = PBXSourcesBuildPhase;
167+
buildActionMask = 2147483647;
168+
files = (
169+
691E357D233708A5007FFF84 /* ViewController.m in Sources */,
170+
691E3585233708A6007FFF84 /* main.m in Sources */,
171+
691E357A233708A5007FFF84 /* AppDelegate.m in Sources */,
172+
);
173+
runOnlyForDeploymentPostprocessing = 0;
174+
};
175+
/* End PBXSourcesBuildPhase section */
176+
177+
/* Begin PBXVariantGroup section */
178+
691E3580233708A6007FFF84 /* Main.storyboard */ = {
179+
isa = PBXVariantGroup;
180+
children = (
181+
691E3581233708A6007FFF84 /* Base */,
182+
);
183+
name = Main.storyboard;
184+
sourceTree = "<group>";
185+
};
186+
/* End PBXVariantGroup section */
187+
188+
/* Begin XCBuildConfiguration section */
189+
691E3587233708A6007FFF84 /* Debug */ = {
190+
isa = XCBuildConfiguration;
191+
buildSettings = {
192+
ALWAYS_SEARCH_USER_PATHS = NO;
193+
CLANG_ANALYZER_NONNULL = YES;
194+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
195+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
196+
CLANG_CXX_LIBRARY = "libc++";
197+
CLANG_ENABLE_MODULES = YES;
198+
CLANG_ENABLE_OBJC_ARC = YES;
199+
CLANG_ENABLE_OBJC_WEAK = YES;
200+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
201+
CLANG_WARN_BOOL_CONVERSION = YES;
202+
CLANG_WARN_COMMA = YES;
203+
CLANG_WARN_CONSTANT_CONVERSION = YES;
204+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
205+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
206+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
207+
CLANG_WARN_EMPTY_BODY = YES;
208+
CLANG_WARN_ENUM_CONVERSION = YES;
209+
CLANG_WARN_INFINITE_RECURSION = YES;
210+
CLANG_WARN_INT_CONVERSION = YES;
211+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
212+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
213+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
214+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
215+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
216+
CLANG_WARN_STRICT_PROTOTYPES = YES;
217+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
218+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
219+
CLANG_WARN_UNREACHABLE_CODE = YES;
220+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
221+
CODE_SIGN_IDENTITY = "-";
222+
COPY_PHASE_STRIP = NO;
223+
DEBUG_INFORMATION_FORMAT = dwarf;
224+
ENABLE_STRICT_OBJC_MSGSEND = YES;
225+
ENABLE_TESTABILITY = YES;
226+
GCC_C_LANGUAGE_STANDARD = gnu11;
227+
GCC_DYNAMIC_NO_PIC = NO;
228+
GCC_NO_COMMON_BLOCKS = YES;
229+
GCC_OPTIMIZATION_LEVEL = 0;
230+
GCC_PREPROCESSOR_DEFINITIONS = (
231+
"DEBUG=1",
232+
"$(inherited)",
233+
);
234+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
235+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
236+
GCC_WARN_UNDECLARED_SELECTOR = YES;
237+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
238+
GCC_WARN_UNUSED_FUNCTION = YES;
239+
GCC_WARN_UNUSED_VARIABLE = YES;
240+
MACOSX_DEPLOYMENT_TARGET = 10.14;
241+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
242+
MTL_FAST_MATH = YES;
243+
ONLY_ACTIVE_ARCH = YES;
244+
SDKROOT = macosx;
245+
};
246+
name = Debug;
247+
};
248+
691E3588233708A6007FFF84 /* Release */ = {
249+
isa = XCBuildConfiguration;
250+
buildSettings = {
251+
ALWAYS_SEARCH_USER_PATHS = NO;
252+
CLANG_ANALYZER_NONNULL = YES;
253+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
254+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
255+
CLANG_CXX_LIBRARY = "libc++";
256+
CLANG_ENABLE_MODULES = YES;
257+
CLANG_ENABLE_OBJC_ARC = YES;
258+
CLANG_ENABLE_OBJC_WEAK = YES;
259+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
260+
CLANG_WARN_BOOL_CONVERSION = YES;
261+
CLANG_WARN_COMMA = YES;
262+
CLANG_WARN_CONSTANT_CONVERSION = YES;
263+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
264+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
265+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
266+
CLANG_WARN_EMPTY_BODY = YES;
267+
CLANG_WARN_ENUM_CONVERSION = YES;
268+
CLANG_WARN_INFINITE_RECURSION = YES;
269+
CLANG_WARN_INT_CONVERSION = YES;
270+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
271+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
272+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
273+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
274+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
275+
CLANG_WARN_STRICT_PROTOTYPES = YES;
276+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
277+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
278+
CLANG_WARN_UNREACHABLE_CODE = YES;
279+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
280+
CODE_SIGN_IDENTITY = "-";
281+
COPY_PHASE_STRIP = NO;
282+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
283+
ENABLE_NS_ASSERTIONS = NO;
284+
ENABLE_STRICT_OBJC_MSGSEND = YES;
285+
GCC_C_LANGUAGE_STANDARD = gnu11;
286+
GCC_NO_COMMON_BLOCKS = YES;
287+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
288+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
289+
GCC_WARN_UNDECLARED_SELECTOR = YES;
290+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
291+
GCC_WARN_UNUSED_FUNCTION = YES;
292+
GCC_WARN_UNUSED_VARIABLE = YES;
293+
MACOSX_DEPLOYMENT_TARGET = 10.14;
294+
MTL_ENABLE_DEBUG_INFO = NO;
295+
MTL_FAST_MATH = YES;
296+
SDKROOT = macosx;
297+
};
298+
name = Release;
299+
};
300+
691E358A233708A6007FFF84 /* Debug */ = {
301+
isa = XCBuildConfiguration;
302+
buildSettings = {
303+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
304+
CODE_SIGN_ENTITLEMENTS = EmbedDemoApp/EmbedDemoApp.entitlements;
305+
CODE_SIGN_STYLE = Automatic;
306+
COMBINE_HIDPI_IMAGES = YES;
307+
INFOPLIST_FILE = EmbedDemoApp/Info.plist;
308+
LD_RUNPATH_SEARCH_PATHS = (
309+
"$(inherited)",
310+
"@executable_path/../Frameworks",
311+
);
312+
PRODUCT_BUNDLE_IDENTIFIER = Heynow.EmbedDemoApp;
313+
PRODUCT_NAME = "$(TARGET_NAME)";
314+
};
315+
name = Debug;
316+
};
317+
691E358B233708A6007FFF84 /* Release */ = {
318+
isa = XCBuildConfiguration;
319+
buildSettings = {
320+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
321+
CODE_SIGN_ENTITLEMENTS = EmbedDemoApp/EmbedDemoApp.entitlements;
322+
CODE_SIGN_STYLE = Automatic;
323+
COMBINE_HIDPI_IMAGES = YES;
324+
INFOPLIST_FILE = EmbedDemoApp/Info.plist;
325+
LD_RUNPATH_SEARCH_PATHS = (
326+
"$(inherited)",
327+
"@executable_path/../Frameworks",
328+
);
329+
PRODUCT_BUNDLE_IDENTIFIER = Heynow.EmbedDemoApp;
330+
PRODUCT_NAME = "$(TARGET_NAME)";
331+
};
332+
name = Release;
333+
};
334+
/* End XCBuildConfiguration section */
335+
336+
/* Begin XCConfigurationList section */
337+
691E3570233708A5007FFF84 /* Build configuration list for PBXProject "EmbedDemoApp" */ = {
338+
isa = XCConfigurationList;
339+
buildConfigurations = (
340+
691E3587233708A6007FFF84 /* Debug */,
341+
691E3588233708A6007FFF84 /* Release */,
342+
);
343+
defaultConfigurationIsVisible = 0;
344+
defaultConfigurationName = Release;
345+
};
346+
691E3589233708A6007FFF84 /* Build configuration list for PBXNativeTarget "EmbedDemoApp" */ = {
347+
isa = XCConfigurationList;
348+
buildConfigurations = (
349+
691E358A233708A6007FFF84 /* Debug */,
350+
691E358B233708A6007FFF84 /* Release */,
351+
);
352+
defaultConfigurationIsVisible = 0;
353+
defaultConfigurationName = Release;
354+
};
355+
/* End XCConfigurationList section */
356+
};
357+
rootObject = 691E356D233708A5007FFF84 /* Project object */;
358+
}

embed/EmbedDemoApp/EmbedDemoApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)