Skip to content

Commit e99b732

Browse files
committed
Xcode 9.3 support
1 parent 42379eb commit e99b732

File tree

6 files changed

+350
-1
lines changed

6 files changed

+350
-1
lines changed

Sources/XcodeProject/Objects/PBXProject.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public final class PBXProject: PBXObject, PBXContainer {
2020
case xcode3_2 = "Xcode 3.2"
2121
case xcode6_3 = "Xcode 6.3"
2222
case xcode8_0 = "Xcode 8.0"
23+
case xcode9_3 = "Xcode 9.3"
2324
}
2425
var compatibilityVersion: CompatibilityVersion = .xcode8_0
2526
var developmentRegion: String = "English"

Sources/XcodeProject/Objects/References/PBXFileReference.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public final class PBXFileReference: PBXReference {
1414
case explicit(String)
1515
case unknown
1616

17-
static func from (_ plist: PropertyList) -> FileType {
17+
static func from(_ plist: PropertyList) -> FileType {
1818
if let lastKnownFileType = plist["lastKnownFileType"]?.string {
1919
return .lastKnown(lastKnownFileType)
2020
} else if let explicitFileType = plist["explicitFileType"]?.string {

Sources/XcodeProject/ProjectFile.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public final class ProjectFile {
2727
case xcode32 = 46
2828
case xcode63 = 47
2929
case xcode8 = 48
30+
case xcode93 = 50
3031
}
3132

3233
var archiveVersion: UInt = 1
Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,332 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 50;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
6CC5669F209BEADF00B8D501 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC5669E209BEADF00B8D501 /* AppDelegate.swift */; };
11+
6CC566A1209BEAE100B8D501 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6CC566A0209BEAE100B8D501 /* Assets.xcassets */; };
12+
6CC566A4209BEAE100B8D501 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6CC566A2209BEAE100B8D501 /* MainMenu.xib */; };
13+
/* End PBXBuildFile section */
14+
15+
/* Begin PBXFileReference section */
16+
6CC5669B209BEADF00B8D501 /* Xcode9.3Project.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Xcode9.3Project.app; sourceTree = BUILT_PRODUCTS_DIR; };
17+
6CC5669E209BEADF00B8D501 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
18+
6CC566A0209BEAE100B8D501 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
19+
6CC566A3209BEAE100B8D501 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
20+
6CC566A5209BEAE100B8D501 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
21+
6CC566A6209BEAE100B8D501 /* Xcode9_3Project.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Xcode9_3Project.entitlements; sourceTree = "<group>"; };
22+
/* End PBXFileReference section */
23+
24+
/* Begin PBXFrameworksBuildPhase section */
25+
6CC56698209BEADF00B8D501 /* Frameworks */ = {
26+
isa = PBXFrameworksBuildPhase;
27+
buildActionMask = 2147483647;
28+
files = (
29+
);
30+
runOnlyForDeploymentPostprocessing = 0;
31+
};
32+
/* End PBXFrameworksBuildPhase section */
33+
34+
/* Begin PBXGroup section */
35+
6CC56692209BEADF00B8D501 = {
36+
isa = PBXGroup;
37+
children = (
38+
6CC5669D209BEADF00B8D501 /* Xcode9.3Project */,
39+
6CC5669C209BEADF00B8D501 /* Products */,
40+
);
41+
sourceTree = "<group>";
42+
};
43+
6CC5669C209BEADF00B8D501 /* Products */ = {
44+
isa = PBXGroup;
45+
children = (
46+
6CC5669B209BEADF00B8D501 /* Xcode9.3Project.app */,
47+
);
48+
name = Products;
49+
sourceTree = "<group>";
50+
};
51+
6CC5669D209BEADF00B8D501 /* Xcode9.3Project */ = {
52+
isa = PBXGroup;
53+
children = (
54+
6CC5669E209BEADF00B8D501 /* AppDelegate.swift */,
55+
6CC566A0209BEAE100B8D501 /* Assets.xcassets */,
56+
6CC566A2209BEAE100B8D501 /* MainMenu.xib */,
57+
6CC566A5209BEAE100B8D501 /* Info.plist */,
58+
6CC566A6209BEAE100B8D501 /* Xcode9_3Project.entitlements */,
59+
);
60+
path = Xcode9.3Project;
61+
sourceTree = "<group>";
62+
};
63+
/* End PBXGroup section */
64+
65+
/* Begin PBXNativeTarget section */
66+
6CC5669A209BEADF00B8D501 /* Xcode9.3Project */ = {
67+
isa = PBXNativeTarget;
68+
buildConfigurationList = 6CC566A9209BEAE100B8D501 /* Build configuration list for PBXNativeTarget "Xcode9.3Project" */;
69+
buildPhases = (
70+
6CC56697209BEADF00B8D501 /* Sources */,
71+
6CC56698209BEADF00B8D501 /* Frameworks */,
72+
6CC56699209BEADF00B8D501 /* Resources */,
73+
);
74+
buildRules = (
75+
);
76+
dependencies = (
77+
);
78+
name = Xcode9.3Project;
79+
productName = Xcode9.3Project;
80+
productReference = 6CC5669B209BEADF00B8D501 /* Xcode9.3Project.app */;
81+
productType = "com.apple.product-type.application";
82+
};
83+
/* End PBXNativeTarget section */
84+
85+
/* Begin PBXProject section */
86+
6CC56693209BEADF00B8D501 /* Project object */ = {
87+
isa = PBXProject;
88+
attributes = {
89+
LastSwiftUpdateCheck = 0930;
90+
LastUpgradeCheck = 0930;
91+
ORGANIZATIONNAME = "g-Off.net";
92+
TargetAttributes = {
93+
6CC5669A209BEADF00B8D501 = {
94+
CreatedOnToolsVersion = 9.3;
95+
};
96+
};
97+
};
98+
buildConfigurationList = 6CC56696209BEADF00B8D501 /* Build configuration list for PBXProject "Xcode9.3Project" */;
99+
compatibilityVersion = "Xcode 9.3";
100+
developmentRegion = en;
101+
hasScannedForEncodings = 0;
102+
knownRegions = (
103+
en,
104+
Base,
105+
);
106+
mainGroup = 6CC56692209BEADF00B8D501;
107+
productRefGroup = 6CC5669C209BEADF00B8D501 /* Products */;
108+
projectDirPath = "";
109+
projectRoot = "";
110+
targets = (
111+
6CC5669A209BEADF00B8D501 /* Xcode9.3Project */,
112+
);
113+
};
114+
/* End PBXProject section */
115+
116+
/* Begin PBXResourcesBuildPhase section */
117+
6CC56699209BEADF00B8D501 /* Resources */ = {
118+
isa = PBXResourcesBuildPhase;
119+
buildActionMask = 2147483647;
120+
files = (
121+
6CC566A1209BEAE100B8D501 /* Assets.xcassets in Resources */,
122+
6CC566A4209BEAE100B8D501 /* MainMenu.xib in Resources */,
123+
);
124+
runOnlyForDeploymentPostprocessing = 0;
125+
};
126+
/* End PBXResourcesBuildPhase section */
127+
128+
/* Begin PBXSourcesBuildPhase section */
129+
6CC56697209BEADF00B8D501 /* Sources */ = {
130+
isa = PBXSourcesBuildPhase;
131+
buildActionMask = 2147483647;
132+
files = (
133+
6CC5669F209BEADF00B8D501 /* AppDelegate.swift in Sources */,
134+
);
135+
runOnlyForDeploymentPostprocessing = 0;
136+
};
137+
/* End PBXSourcesBuildPhase section */
138+
139+
/* Begin PBXVariantGroup section */
140+
6CC566A2209BEAE100B8D501 /* MainMenu.xib */ = {
141+
isa = PBXVariantGroup;
142+
children = (
143+
6CC566A3209BEAE100B8D501 /* Base */,
144+
);
145+
name = MainMenu.xib;
146+
sourceTree = "<group>";
147+
};
148+
/* End PBXVariantGroup section */
149+
150+
/* Begin XCBuildConfiguration section */
151+
6CC566A7209BEAE100B8D501 /* Debug */ = {
152+
isa = XCBuildConfiguration;
153+
buildSettings = {
154+
ALWAYS_SEARCH_USER_PATHS = NO;
155+
CLANG_ANALYZER_NONNULL = YES;
156+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
157+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
158+
CLANG_CXX_LIBRARY = "libc++";
159+
CLANG_ENABLE_MODULES = YES;
160+
CLANG_ENABLE_OBJC_ARC = YES;
161+
CLANG_ENABLE_OBJC_WEAK = YES;
162+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
163+
CLANG_WARN_BOOL_CONVERSION = YES;
164+
CLANG_WARN_COMMA = YES;
165+
CLANG_WARN_CONSTANT_CONVERSION = YES;
166+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
167+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
168+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
169+
CLANG_WARN_EMPTY_BODY = YES;
170+
CLANG_WARN_ENUM_CONVERSION = YES;
171+
CLANG_WARN_INFINITE_RECURSION = YES;
172+
CLANG_WARN_INT_CONVERSION = YES;
173+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
174+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
175+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
176+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
177+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
178+
CLANG_WARN_STRICT_PROTOTYPES = YES;
179+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
180+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
181+
CLANG_WARN_UNREACHABLE_CODE = YES;
182+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
183+
CODE_SIGN_IDENTITY = "-";
184+
COPY_PHASE_STRIP = NO;
185+
DEBUG_INFORMATION_FORMAT = dwarf;
186+
ENABLE_STRICT_OBJC_MSGSEND = YES;
187+
ENABLE_TESTABILITY = YES;
188+
GCC_C_LANGUAGE_STANDARD = gnu11;
189+
GCC_DYNAMIC_NO_PIC = NO;
190+
GCC_NO_COMMON_BLOCKS = YES;
191+
GCC_OPTIMIZATION_LEVEL = 0;
192+
GCC_PREPROCESSOR_DEFINITIONS = (
193+
"DEBUG=1",
194+
"$(inherited)",
195+
);
196+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
197+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
198+
GCC_WARN_UNDECLARED_SELECTOR = YES;
199+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
200+
GCC_WARN_UNUSED_FUNCTION = YES;
201+
GCC_WARN_UNUSED_VARIABLE = YES;
202+
MACOSX_DEPLOYMENT_TARGET = 10.13;
203+
MTL_ENABLE_DEBUG_INFO = YES;
204+
ONLY_ACTIVE_ARCH = YES;
205+
SDKROOT = macosx;
206+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
207+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
208+
};
209+
name = Debug;
210+
};
211+
6CC566A8209BEAE100B8D501 /* Release */ = {
212+
isa = XCBuildConfiguration;
213+
buildSettings = {
214+
ALWAYS_SEARCH_USER_PATHS = NO;
215+
CLANG_ANALYZER_NONNULL = YES;
216+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
217+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
218+
CLANG_CXX_LIBRARY = "libc++";
219+
CLANG_ENABLE_MODULES = YES;
220+
CLANG_ENABLE_OBJC_ARC = YES;
221+
CLANG_ENABLE_OBJC_WEAK = YES;
222+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
223+
CLANG_WARN_BOOL_CONVERSION = YES;
224+
CLANG_WARN_COMMA = YES;
225+
CLANG_WARN_CONSTANT_CONVERSION = YES;
226+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
227+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
228+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
229+
CLANG_WARN_EMPTY_BODY = YES;
230+
CLANG_WARN_ENUM_CONVERSION = YES;
231+
CLANG_WARN_INFINITE_RECURSION = YES;
232+
CLANG_WARN_INT_CONVERSION = YES;
233+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
234+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
235+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
236+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
237+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
238+
CLANG_WARN_STRICT_PROTOTYPES = YES;
239+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
240+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
241+
CLANG_WARN_UNREACHABLE_CODE = YES;
242+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
243+
CODE_SIGN_IDENTITY = "-";
244+
COPY_PHASE_STRIP = NO;
245+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
246+
ENABLE_NS_ASSERTIONS = NO;
247+
ENABLE_STRICT_OBJC_MSGSEND = YES;
248+
GCC_C_LANGUAGE_STANDARD = gnu11;
249+
GCC_NO_COMMON_BLOCKS = YES;
250+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
251+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
252+
GCC_WARN_UNDECLARED_SELECTOR = YES;
253+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
254+
GCC_WARN_UNUSED_FUNCTION = YES;
255+
GCC_WARN_UNUSED_VARIABLE = YES;
256+
MACOSX_DEPLOYMENT_TARGET = 10.13;
257+
MTL_ENABLE_DEBUG_INFO = NO;
258+
SDKROOT = macosx;
259+
SWIFT_COMPILATION_MODE = wholemodule;
260+
SWIFT_OPTIMIZATION_LEVEL = "-O";
261+
};
262+
name = Release;
263+
};
264+
6CC566AA209BEAE100B8D501 /* Debug */ = {
265+
isa = XCBuildConfiguration;
266+
buildSettings = {
267+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
268+
CODE_SIGN_ENTITLEMENTS = Xcode9.3Project/Xcode9_3Project.entitlements;
269+
CODE_SIGN_STYLE = Automatic;
270+
COMBINE_HIDPI_IMAGES = YES;
271+
INFOPLIST_FILE = Xcode9.3Project/Info.plist;
272+
LD_RUNPATH_SEARCH_PATHS = (
273+
"$(inherited)",
274+
"@executable_path/../Frameworks",
275+
);
276+
OTHER_CFLAGS = (
277+
"-DHELLO=1",
278+
"-DDEBUG",
279+
);
280+
PRODUCT_BUNDLE_IDENTIFIER = "net.g-Off.Xcode9-3Project";
281+
PRODUCT_NAME = "$(TARGET_NAME)";
282+
SWIFT_VERSION = 4.0;
283+
};
284+
name = Debug;
285+
};
286+
6CC566AB209BEAE100B8D501 /* Release */ = {
287+
isa = XCBuildConfiguration;
288+
buildSettings = {
289+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
290+
CODE_SIGN_ENTITLEMENTS = Xcode9.3Project/Xcode9_3Project.entitlements;
291+
CODE_SIGN_STYLE = Automatic;
292+
COMBINE_HIDPI_IMAGES = YES;
293+
INFOPLIST_FILE = Xcode9.3Project/Info.plist;
294+
LD_RUNPATH_SEARCH_PATHS = (
295+
"$(inherited)",
296+
"@executable_path/../Frameworks",
297+
);
298+
OTHER_CFLAGS = (
299+
"-DHELLO=1",
300+
"-DDEBUG",
301+
);
302+
PRODUCT_BUNDLE_IDENTIFIER = "net.g-Off.Xcode9-3Project";
303+
PRODUCT_NAME = "$(TARGET_NAME)";
304+
SWIFT_VERSION = 4.0;
305+
};
306+
name = Release;
307+
};
308+
/* End XCBuildConfiguration section */
309+
310+
/* Begin XCConfigurationList section */
311+
6CC56696209BEADF00B8D501 /* Build configuration list for PBXProject "Xcode9.3Project" */ = {
312+
isa = XCConfigurationList;
313+
buildConfigurations = (
314+
6CC566A7209BEAE100B8D501 /* Debug */,
315+
6CC566A8209BEAE100B8D501 /* Release */,
316+
);
317+
defaultConfigurationIsVisible = 0;
318+
defaultConfigurationName = Release;
319+
};
320+
6CC566A9209BEAE100B8D501 /* Build configuration list for PBXNativeTarget "Xcode9.3Project" */ = {
321+
isa = XCConfigurationList;
322+
buildConfigurations = (
323+
6CC566AA209BEAE100B8D501 /* Debug */,
324+
6CC566AB209BEAE100B8D501 /* Release */,
325+
);
326+
defaultConfigurationIsVisible = 0;
327+
defaultConfigurationName = Release;
328+
};
329+
/* End XCConfigurationList section */
330+
};
331+
rootObject = 6CC56693209BEADF00B8D501 /* Project object */;
332+
}

Tests/XcodeProjectTests/Fixtures/Xcode9.3Project.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.
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>

0 commit comments

Comments
 (0)