Skip to content

Commit ba91882

Browse files
committed
Updated Github Workflow, added Demo Project, and updated the build commands.
1 parent aeb52d2 commit ba91882

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+967
-1029
lines changed

.github/workflows/build-test.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,17 @@ jobs:
1717
- name: Install
1818
run: pod install
1919
- name: Build
20-
run: xcodebuild build-for-testing -workspace gars-ios.xcworkspace -scheme gars-ios -destination 'platform=iOS Simulator,OS=latest,name=iPhone 14'
20+
run: |
21+
iphone_names=$(xcrun simctl list devices available --json | jq -r '.devices | to_entries[] | .value[] | select(.name | test("^iPhone [0-9]+")) | .name')
22+
if [ -z "$iphone_names" ]; then echo "Error: No iPhone simulators found."; exit 1; fi
23+
latest_iphone=$(echo "$iphone_names" | sort | tail -n 1)
24+
echo "latest_iphone: $latest_iphone"
25+
xcodebuild build -scheme GARS -destination "platform=iOS Simulator,OS=latest,name=$latest_iphone"
26+
27+
- name: Test
28+
run: |
29+
iphone_names=$(xcrun simctl list devices available --json | jq -r '.devices | to_entries[] | .value[] | select(.name | test("^iPhone [0-9]+")) | .name')
30+
if [ -z "$iphone_names" ]; then echo "Error: No iPhone simulators found."; exit 1; fi
31+
latest_iphone=$(echo "$iphone_names" | sort | tail -n 1)
32+
echo "latest_iphone: $latest_iphone"
33+
xcodebuild test -scheme GARS -destination "platform=iOS Simulator,OS=latest,name=$latest_iphone"
Lines changed: 354 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,354 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 77;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
BD6E57592DDF851200C046FD /* GARS in Frameworks */ = {isa = PBXBuildFile; productRef = BD6E57582DDF851200C046FD /* GARS */; };
11+
/* End PBXBuildFile section */
12+
13+
/* Begin PBXFileReference section */
14+
BD6E573E2DDF84D000C046FD /* GARS-Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "GARS-Demo.app"; sourceTree = BUILT_PRODUCTS_DIR; };
15+
/* End PBXFileReference section */
16+
17+
/* Begin PBXFileSystemSynchronizedRootGroup section */
18+
BD6E57402DDF84D000C046FD /* GARS-Demo */ = {
19+
isa = PBXFileSystemSynchronizedRootGroup;
20+
path = "GARS-Demo";
21+
sourceTree = "<group>";
22+
};
23+
/* End PBXFileSystemSynchronizedRootGroup section */
24+
25+
/* Begin PBXFrameworksBuildPhase section */
26+
BD6E573B2DDF84D000C046FD /* Frameworks */ = {
27+
isa = PBXFrameworksBuildPhase;
28+
buildActionMask = 2147483647;
29+
files = (
30+
BD6E57592DDF851200C046FD /* GARS in Frameworks */,
31+
);
32+
runOnlyForDeploymentPostprocessing = 0;
33+
};
34+
/* End PBXFrameworksBuildPhase section */
35+
36+
/* Begin PBXGroup section */
37+
BD6E57352DDF84D000C046FD = {
38+
isa = PBXGroup;
39+
children = (
40+
BD6E57402DDF84D000C046FD /* GARS-Demo */,
41+
BD6E573F2DDF84D000C046FD /* Products */,
42+
);
43+
sourceTree = "<group>";
44+
};
45+
BD6E573F2DDF84D000C046FD /* Products */ = {
46+
isa = PBXGroup;
47+
children = (
48+
BD6E573E2DDF84D000C046FD /* GARS-Demo.app */,
49+
);
50+
name = Products;
51+
sourceTree = "<group>";
52+
};
53+
/* End PBXGroup section */
54+
55+
/* Begin PBXNativeTarget section */
56+
BD6E573D2DDF84D000C046FD /* GARS-Demo */ = {
57+
isa = PBXNativeTarget;
58+
buildConfigurationList = BD6E574C2DDF84D100C046FD /* Build configuration list for PBXNativeTarget "GARS-Demo" */;
59+
buildPhases = (
60+
BD6E573A2DDF84D000C046FD /* Sources */,
61+
BD6E573B2DDF84D000C046FD /* Frameworks */,
62+
BD6E573C2DDF84D000C046FD /* Resources */,
63+
);
64+
buildRules = (
65+
);
66+
dependencies = (
67+
);
68+
fileSystemSynchronizedGroups = (
69+
BD6E57402DDF84D000C046FD /* GARS-Demo */,
70+
);
71+
name = "GARS-Demo";
72+
packageProductDependencies = (
73+
BD6E57582DDF851200C046FD /* GARS */,
74+
);
75+
productName = "GARS-Demo";
76+
productReference = BD6E573E2DDF84D000C046FD /* GARS-Demo.app */;
77+
productType = "com.apple.product-type.application";
78+
};
79+
/* End PBXNativeTarget section */
80+
81+
/* Begin PBXProject section */
82+
BD6E57362DDF84D000C046FD /* Project object */ = {
83+
isa = PBXProject;
84+
attributes = {
85+
BuildIndependentTargetsInParallel = 1;
86+
LastSwiftUpdateCheck = 1620;
87+
LastUpgradeCheck = 1620;
88+
TargetAttributes = {
89+
BD6E573D2DDF84D000C046FD = {
90+
CreatedOnToolsVersion = 16.2;
91+
LastSwiftMigration = 1620;
92+
};
93+
};
94+
};
95+
buildConfigurationList = BD6E57392DDF84D000C046FD /* Build configuration list for PBXProject "GARS-Demo" */;
96+
developmentRegion = en;
97+
hasScannedForEncodings = 0;
98+
knownRegions = (
99+
en,
100+
Base,
101+
);
102+
mainGroup = BD6E57352DDF84D000C046FD;
103+
minimizedProjectReferenceProxies = 1;
104+
packageReferences = (
105+
BD6E57572DDF851200C046FD /* XCLocalSwiftPackageReference "../../gars-ios" */,
106+
);
107+
preferredProjectObjectVersion = 77;
108+
productRefGroup = BD6E573F2DDF84D000C046FD /* Products */;
109+
projectDirPath = "";
110+
projectRoot = "";
111+
targets = (
112+
BD6E573D2DDF84D000C046FD /* GARS-Demo */,
113+
);
114+
};
115+
/* End PBXProject section */
116+
117+
/* Begin PBXResourcesBuildPhase section */
118+
BD6E573C2DDF84D000C046FD /* Resources */ = {
119+
isa = PBXResourcesBuildPhase;
120+
buildActionMask = 2147483647;
121+
files = (
122+
);
123+
runOnlyForDeploymentPostprocessing = 0;
124+
};
125+
/* End PBXResourcesBuildPhase section */
126+
127+
/* Begin PBXSourcesBuildPhase section */
128+
BD6E573A2DDF84D000C046FD /* Sources */ = {
129+
isa = PBXSourcesBuildPhase;
130+
buildActionMask = 2147483647;
131+
files = (
132+
);
133+
runOnlyForDeploymentPostprocessing = 0;
134+
};
135+
/* End PBXSourcesBuildPhase section */
136+
137+
/* Begin XCBuildConfiguration section */
138+
BD6E574A2DDF84D100C046FD /* Debug */ = {
139+
isa = XCBuildConfiguration;
140+
buildSettings = {
141+
ALWAYS_SEARCH_USER_PATHS = NO;
142+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
143+
CLANG_ANALYZER_NONNULL = YES;
144+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
145+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
146+
CLANG_ENABLE_MODULES = YES;
147+
CLANG_ENABLE_OBJC_ARC = YES;
148+
CLANG_ENABLE_OBJC_WEAK = YES;
149+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
150+
CLANG_WARN_BOOL_CONVERSION = YES;
151+
CLANG_WARN_COMMA = YES;
152+
CLANG_WARN_CONSTANT_CONVERSION = YES;
153+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
154+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
155+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
156+
CLANG_WARN_EMPTY_BODY = YES;
157+
CLANG_WARN_ENUM_CONVERSION = YES;
158+
CLANG_WARN_INFINITE_RECURSION = YES;
159+
CLANG_WARN_INT_CONVERSION = YES;
160+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
161+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
162+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
163+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
164+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
165+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
166+
CLANG_WARN_STRICT_PROTOTYPES = YES;
167+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
168+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
169+
CLANG_WARN_UNREACHABLE_CODE = YES;
170+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
171+
COPY_PHASE_STRIP = NO;
172+
DEBUG_INFORMATION_FORMAT = dwarf;
173+
ENABLE_STRICT_OBJC_MSGSEND = YES;
174+
ENABLE_TESTABILITY = YES;
175+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
176+
GCC_C_LANGUAGE_STANDARD = gnu17;
177+
GCC_DYNAMIC_NO_PIC = NO;
178+
GCC_NO_COMMON_BLOCKS = YES;
179+
GCC_OPTIMIZATION_LEVEL = 0;
180+
GCC_PREPROCESSOR_DEFINITIONS = (
181+
"DEBUG=1",
182+
"$(inherited)",
183+
);
184+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
185+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
186+
GCC_WARN_UNDECLARED_SELECTOR = YES;
187+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
188+
GCC_WARN_UNUSED_FUNCTION = YES;
189+
GCC_WARN_UNUSED_VARIABLE = YES;
190+
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
191+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
192+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
193+
MTL_FAST_MATH = YES;
194+
ONLY_ACTIVE_ARCH = YES;
195+
SDKROOT = iphoneos;
196+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
197+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
198+
};
199+
name = Debug;
200+
};
201+
BD6E574B2DDF84D100C046FD /* Release */ = {
202+
isa = XCBuildConfiguration;
203+
buildSettings = {
204+
ALWAYS_SEARCH_USER_PATHS = NO;
205+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
206+
CLANG_ANALYZER_NONNULL = YES;
207+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
208+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
209+
CLANG_ENABLE_MODULES = YES;
210+
CLANG_ENABLE_OBJC_ARC = YES;
211+
CLANG_ENABLE_OBJC_WEAK = YES;
212+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
213+
CLANG_WARN_BOOL_CONVERSION = YES;
214+
CLANG_WARN_COMMA = YES;
215+
CLANG_WARN_CONSTANT_CONVERSION = YES;
216+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
217+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
218+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
219+
CLANG_WARN_EMPTY_BODY = YES;
220+
CLANG_WARN_ENUM_CONVERSION = YES;
221+
CLANG_WARN_INFINITE_RECURSION = YES;
222+
CLANG_WARN_INT_CONVERSION = YES;
223+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
224+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
225+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
226+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
227+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
228+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
229+
CLANG_WARN_STRICT_PROTOTYPES = YES;
230+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
231+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
232+
CLANG_WARN_UNREACHABLE_CODE = YES;
233+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
234+
COPY_PHASE_STRIP = NO;
235+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
236+
ENABLE_NS_ASSERTIONS = NO;
237+
ENABLE_STRICT_OBJC_MSGSEND = YES;
238+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
239+
GCC_C_LANGUAGE_STANDARD = gnu17;
240+
GCC_NO_COMMON_BLOCKS = YES;
241+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
242+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
243+
GCC_WARN_UNDECLARED_SELECTOR = YES;
244+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
245+
GCC_WARN_UNUSED_FUNCTION = YES;
246+
GCC_WARN_UNUSED_VARIABLE = YES;
247+
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
248+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
249+
MTL_ENABLE_DEBUG_INFO = NO;
250+
MTL_FAST_MATH = YES;
251+
SDKROOT = iphoneos;
252+
SWIFT_COMPILATION_MODE = wholemodule;
253+
VALIDATE_PRODUCT = YES;
254+
};
255+
name = Release;
256+
};
257+
BD6E574D2DDF84D100C046FD /* Debug */ = {
258+
isa = XCBuildConfiguration;
259+
buildSettings = {
260+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
261+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
262+
CLANG_ENABLE_MODULES = YES;
263+
CODE_SIGN_STYLE = Automatic;
264+
CURRENT_PROJECT_VERSION = 1;
265+
DEVELOPMENT_ASSET_PATHS = "\"GARS-Demo/Preview Content\"";
266+
ENABLE_PREVIEWS = YES;
267+
GENERATE_INFOPLIST_FILE = YES;
268+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
269+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
270+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
271+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
272+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
273+
LD_RUNPATH_SEARCH_PATHS = (
274+
"$(inherited)",
275+
"@executable_path/Frameworks",
276+
);
277+
MARKETING_VERSION = 1.0;
278+
PRODUCT_BUNDLE_IDENTIFIER = "mil.nga.GARS-Demo";
279+
PRODUCT_NAME = "$(TARGET_NAME)";
280+
SWIFT_EMIT_LOC_STRINGS = YES;
281+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
282+
SWIFT_VERSION = 5.0;
283+
TARGETED_DEVICE_FAMILY = "1,2";
284+
};
285+
name = Debug;
286+
};
287+
BD6E574E2DDF84D100C046FD /* Release */ = {
288+
isa = XCBuildConfiguration;
289+
buildSettings = {
290+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
291+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
292+
CLANG_ENABLE_MODULES = YES;
293+
CODE_SIGN_STYLE = Automatic;
294+
CURRENT_PROJECT_VERSION = 1;
295+
DEVELOPMENT_ASSET_PATHS = "\"GARS-Demo/Preview Content\"";
296+
ENABLE_PREVIEWS = YES;
297+
GENERATE_INFOPLIST_FILE = YES;
298+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
299+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
300+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
301+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
302+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
303+
LD_RUNPATH_SEARCH_PATHS = (
304+
"$(inherited)",
305+
"@executable_path/Frameworks",
306+
);
307+
MARKETING_VERSION = 1.0;
308+
PRODUCT_BUNDLE_IDENTIFIER = "mil.nga.GARS-Demo";
309+
PRODUCT_NAME = "$(TARGET_NAME)";
310+
SWIFT_EMIT_LOC_STRINGS = YES;
311+
SWIFT_VERSION = 5.0;
312+
TARGETED_DEVICE_FAMILY = "1,2";
313+
};
314+
name = Release;
315+
};
316+
/* End XCBuildConfiguration section */
317+
318+
/* Begin XCConfigurationList section */
319+
BD6E57392DDF84D000C046FD /* Build configuration list for PBXProject "GARS-Demo" */ = {
320+
isa = XCConfigurationList;
321+
buildConfigurations = (
322+
BD6E574A2DDF84D100C046FD /* Debug */,
323+
BD6E574B2DDF84D100C046FD /* Release */,
324+
);
325+
defaultConfigurationIsVisible = 0;
326+
defaultConfigurationName = Release;
327+
};
328+
BD6E574C2DDF84D100C046FD /* Build configuration list for PBXNativeTarget "GARS-Demo" */ = {
329+
isa = XCConfigurationList;
330+
buildConfigurations = (
331+
BD6E574D2DDF84D100C046FD /* Debug */,
332+
BD6E574E2DDF84D100C046FD /* Release */,
333+
);
334+
defaultConfigurationIsVisible = 0;
335+
defaultConfigurationName = Release;
336+
};
337+
/* End XCConfigurationList section */
338+
339+
/* Begin XCLocalSwiftPackageReference section */
340+
BD6E57572DDF851200C046FD /* XCLocalSwiftPackageReference "../../gars-ios" */ = {
341+
isa = XCLocalSwiftPackageReference;
342+
relativePath = "../../gars-ios";
343+
};
344+
/* End XCLocalSwiftPackageReference section */
345+
346+
/* Begin XCSwiftPackageProductDependency section */
347+
BD6E57582DDF851200C046FD /* GARS */ = {
348+
isa = XCSwiftPackageProductDependency;
349+
productName = GARS;
350+
};
351+
/* End XCSwiftPackageProductDependency section */
352+
};
353+
rootObject = BD6E57362DDF84D000C046FD /* Project object */;
354+
}

0 commit comments

Comments
 (0)