Skip to content

Commit b3ca65c

Browse files
Update to allow Xcode 6.3 and Xcode 8.0 compatible project formats.
1 parent 8c7b02e commit b3ca65c

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

BuildSettingExtractor/BuildSettingExtractor.m

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,14 @@
1010
#import "BuildSettingInfoSource.h"
1111
#import "Constants+Categories.h"
1212

13-
static NSString * const XcodeCompatibilityVersionString = @"Xcode 3.2";
13+
static NSSet *XcodeCompatibilityVersionStringSet() {
14+
static NSSet *_compatibilityVersionStringSet;
15+
static dispatch_once_t onceToken;
16+
dispatch_once(&onceToken, ^{
17+
_compatibilityVersionStringSet = [NSSet setWithObjects:@"Xcode 3.2", @"Xcode 6.3", @"Xcode 8.0", nil];
18+
});
19+
return _compatibilityVersionStringSet;
20+
}
1421

1522
@interface BuildSettingExtractor ()
1623
@property (strong) NSMutableDictionary *buildSettingsByTarget;
@@ -88,7 +95,7 @@ - (BOOL)extractBuildSettingsFromProject:(NSURL *)projectWrapperURL toDestination
8895

8996
// Check compatibility version
9097
NSString *compatibilityVersion = rootObject[@"compatibilityVersion"];
91-
if (![compatibilityVersion isEqualToString:XcodeCompatibilityVersionString]) {
98+
if (![XcodeCompatibilityVersionStringSet() containsObject:compatibilityVersion]) {
9299
NSDictionary *userInfo = @{NSLocalizedDescriptionKey:[NSString stringWithFormat:@"Unable to extract build settings from project ‘%@’.", [[projectWrapperURL lastPathComponent] stringByDeletingPathExtension]], NSLocalizedRecoverySuggestionErrorKey: [NSString stringWithFormat:@"Project file format version ‘%@’ is not supported.", compatibilityVersion]};
93100
NSError *error = [NSError errorWithDomain:[[NSBundle mainBundle] bundleIdentifier] code:UnsupportedXcodeVersion userInfo:userInfo];
94101
success = NO;

0 commit comments

Comments
 (0)