xcunique 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/Gemfile +4 -0
  4. data/Guardfile +22 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +73 -0
  7. data/Rakefile +11 -0
  8. data/bin/xcunique +5 -0
  9. data/lib/json2plist/json2plist +21 -0
  10. data/lib/xcunique.rb +23 -0
  11. data/lib/xcunique/cli.rb +40 -0
  12. data/lib/xcunique/hash_ext.rb +25 -0
  13. data/lib/xcunique/helpers.rb +26 -0
  14. data/lib/xcunique/options.rb +68 -0
  15. data/lib/xcunique/parser.rb +54 -0
  16. data/lib/xcunique/sorter.rb +51 -0
  17. data/lib/xcunique/uniquifier.rb +36 -0
  18. data/lib/xcunique/version.rb +3 -0
  19. data/spec/fixtures/TestProject.json +548 -0
  20. data/spec/fixtures/TestProject/TestProject.xcodeproj/project.pbxproj +510 -0
  21. data/spec/fixtures/TestProject/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  22. data/spec/fixtures/TestProject/TestProject.xcodeproj/project.xcworkspace/xcuserdata/paul.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  23. data/spec/fixtures/TestProject/TestProject.xcodeproj/xcuserdata/paul.xcuserdatad/xcschemes/TestProject.xcscheme +111 -0
  24. data/spec/fixtures/TestProject/TestProject.xcodeproj/xcuserdata/paul.xcuserdatad/xcschemes/xcschememanagement.plist +47 -0
  25. data/spec/fixtures/TestProject/TestProject/AppDelegate.swift +46 -0
  26. data/spec/fixtures/TestProject/TestProject/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
  27. data/spec/fixtures/TestProject/TestProject/Base.lproj/LaunchScreen.storyboard +27 -0
  28. data/spec/fixtures/TestProject/TestProject/Base.lproj/Main.storyboard +26 -0
  29. data/spec/fixtures/TestProject/TestProject/Info.plist +47 -0
  30. data/spec/fixtures/TestProject/TestProject/ViewController.swift +25 -0
  31. data/spec/fixtures/TestProject/TestProjectTests/Info.plist +24 -0
  32. data/spec/fixtures/TestProject/TestProjectTests/TestProjectTests.swift +36 -0
  33. data/spec/fixtures/TestProject/TestProjectUITests/Info.plist +24 -0
  34. data/spec/fixtures/TestProject/TestProjectUITests/TestProjectUITests.swift +36 -0
  35. data/spec/spec_helper.rb +4 -0
  36. data/spec/xcunique/hash_ext_spec.rb +36 -0
  37. data/spec/xcunique/helpers_spec.rb +58 -0
  38. data/spec/xcunique/parser_spec.rb +214 -0
  39. data/spec/xcunique/sorter_spec.rb +116 -0
  40. data/xcunique.gemspec +26 -0
  41. metadata +178 -0
@@ -0,0 +1,510 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 06302f866d6d7483b05818dd945e2f7a /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 086918d163fba97bc975b2fc4acc038f /* Assets.xcassets */; };
11
+ 063b4cb0c7e5e4e32e95cc70bb05aee3 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31e6903f5d83684c93508d580a1073fe /* AppDelegate.swift */; };
12
+ 9566fd6329975315135d2fc80622d03e /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3a8e218bd70aa3fba84a74d3315d759d /* LaunchScreen.storyboard */; };
13
+ a1252d05bd7ffcad2b1a977c3e1ad5a7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = d42d0440d7aadb6495d370e38d371fe0 /* Main.storyboard */; };
14
+ b38c589417d813bb5782a85b4ea50e74 /* TestProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94cda801440333ce3d1741edfedb6ea0 /* TestProjectTests.swift */; };
15
+ c28c4d665aa234029250547f0a229fcf /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = a243c69dca7d83515d219418ae475633 /* ViewController.swift */; };
16
+ fc96d513067dc5cc2ad228b577837859 /* TestProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995260b6552717a8bbb175468cd0fc03 /* TestProjectUITests.swift */; };
17
+ /* End PBXBuildFile section */
18
+
19
+ /* Begin PBXContainerItemProxy section */
20
+ 2e1a16e254883cf20eb912f5e6f58459 /* PBXContainerItemProxy */ = {
21
+ isa = PBXContainerItemProxy;
22
+ containerPortal = 03d740d06093820601a9e571e9786df8 /* Project object */;
23
+ proxyType = 1;
24
+ remoteGlobalIDString = 979d0d142284299eeebeb01900864f1f;
25
+ remoteInfo = TestProject;
26
+ };
27
+ ec61ca07406855f2b28a47fc5a4df405 /* PBXContainerItemProxy */ = {
28
+ isa = PBXContainerItemProxy;
29
+ containerPortal = 03d740d06093820601a9e571e9786df8 /* Project object */;
30
+ proxyType = 1;
31
+ remoteGlobalIDString = 979d0d142284299eeebeb01900864f1f;
32
+ remoteInfo = TestProject;
33
+ };
34
+ /* End PBXContainerItemProxy section */
35
+
36
+ /* Begin PBXFileReference section */
37
+ 0689a50f086b9dde084f1dff8091310d /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
38
+ 086918d163fba97bc975b2fc4acc038f /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
39
+ 0909993b518710784f552ec62beb222b /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
40
+ 31e6903f5d83684c93508d580a1073fe /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
41
+ 4b576580aeb0bf9b570bb83d4328963e /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
42
+ 94cda801440333ce3d1741edfedb6ea0 /* TestProjectTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectTests.swift; sourceTree = "<group>"; };
43
+ 995260b6552717a8bbb175468cd0fc03 /* TestProjectUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectUITests.swift; sourceTree = "<group>"; };
44
+ a076b3064467795827dae7ada09ae675 /* TestProjectUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestProjectUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
45
+ a243c69dca7d83515d219418ae475633 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
46
+ a6a83967f297a903971286dc7a6bce45 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
47
+ a6ac5c8810cd621f5432872304642a5f /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
48
+ c724ed293b05ea811891e04fb9174a0b /* TestProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestProject.app; sourceTree = BUILT_PRODUCTS_DIR; };
49
+ cd9c3ba123868ba136d548e7586185dc /* TestProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
50
+ /* End PBXFileReference section */
51
+
52
+ /* Begin PBXFrameworksBuildPhase section */
53
+ 05b0acbcaf2458234d87fa2d6ed2ffc4 /* Frameworks */ = {
54
+ isa = PBXFrameworksBuildPhase;
55
+ buildActionMask = 2147483647;
56
+ files = (
57
+ );
58
+ runOnlyForDeploymentPostprocessing = 0;
59
+ };
60
+ 0e8d144da5772add4de84debe6d8604a /* Frameworks */ = {
61
+ isa = PBXFrameworksBuildPhase;
62
+ buildActionMask = 2147483647;
63
+ files = (
64
+ );
65
+ runOnlyForDeploymentPostprocessing = 0;
66
+ };
67
+ 76e4d816cfaab786a925724e5f53b489 /* Frameworks */ = {
68
+ isa = PBXFrameworksBuildPhase;
69
+ buildActionMask = 2147483647;
70
+ files = (
71
+ );
72
+ runOnlyForDeploymentPostprocessing = 0;
73
+ };
74
+ /* End PBXFrameworksBuildPhase section */
75
+
76
+ /* Begin PBXGroup section */
77
+ 188c8c3eaf40043fc3375a8769e8c3ee /* Products */ = {
78
+ isa = PBXGroup;
79
+ children = (
80
+ c724ed293b05ea811891e04fb9174a0b /* TestProject.app */,
81
+ cd9c3ba123868ba136d548e7586185dc /* TestProjectTests.xctest */,
82
+ a076b3064467795827dae7ada09ae675 /* TestProjectUITests.xctest */,
83
+ );
84
+ name = Products;
85
+ sourceTree = "<group>";
86
+ };
87
+ 5807302d71b050d3a976f51ec23c8197 /* TestProjectUITests */ = {
88
+ isa = PBXGroup;
89
+ children = (
90
+ 0689a50f086b9dde084f1dff8091310d /* Info.plist */,
91
+ 995260b6552717a8bbb175468cd0fc03 /* TestProjectUITests.swift */,
92
+ );
93
+ path = TestProjectUITests;
94
+ sourceTree = "<group>";
95
+ };
96
+ 962c2dfdaa0df5805d8109632372f970 /* TestProject */ = {
97
+ isa = PBXGroup;
98
+ children = (
99
+ 3a8e218bd70aa3fba84a74d3315d759d /* LaunchScreen.storyboard */,
100
+ d42d0440d7aadb6495d370e38d371fe0 /* Main.storyboard */,
101
+ 31e6903f5d83684c93508d580a1073fe /* AppDelegate.swift */,
102
+ 086918d163fba97bc975b2fc4acc038f /* Assets.xcassets */,
103
+ 4b576580aeb0bf9b570bb83d4328963e /* Info.plist */,
104
+ a243c69dca7d83515d219418ae475633 /* ViewController.swift */,
105
+ );
106
+ path = TestProject;
107
+ sourceTree = "<group>";
108
+ };
109
+ b882b41f991a8f976cc8b3e2186b3218 = {
110
+ isa = PBXGroup;
111
+ children = (
112
+ 188c8c3eaf40043fc3375a8769e8c3ee /* Products */,
113
+ 962c2dfdaa0df5805d8109632372f970 /* TestProject */,
114
+ d6c25527734edff88883577be214317c /* TestProjectTests */,
115
+ 5807302d71b050d3a976f51ec23c8197 /* TestProjectUITests */,
116
+ );
117
+ sourceTree = "<group>";
118
+ };
119
+ d6c25527734edff88883577be214317c /* TestProjectTests */ = {
120
+ isa = PBXGroup;
121
+ children = (
122
+ a6ac5c8810cd621f5432872304642a5f /* Info.plist */,
123
+ 94cda801440333ce3d1741edfedb6ea0 /* TestProjectTests.swift */,
124
+ );
125
+ path = TestProjectTests;
126
+ sourceTree = "<group>";
127
+ };
128
+ /* End PBXGroup section */
129
+
130
+ /* Begin PBXNativeTarget section */
131
+ 52eb05e8030b69d64a3f9181a357448c /* TestProjectTests */ = {
132
+ isa = PBXNativeTarget;
133
+ buildConfigurationList = 99541853778ca7ce50cd360c666a40a5 /* Build configuration list for PBXNativeTarget "TestProjectTests" */;
134
+ buildPhases = (
135
+ ee241a0a173c6fa01c0fe77303919a1b /* Sources */,
136
+ 76e4d816cfaab786a925724e5f53b489 /* Frameworks */,
137
+ bba068b409a4473d91026bf7c80fe244 /* Resources */,
138
+ );
139
+ buildRules = (
140
+ );
141
+ dependencies = (
142
+ c0c0794ee90e0c8d489cd29d044da585 /* PBXTargetDependency */,
143
+ );
144
+ name = TestProjectTests;
145
+ productName = TestProjectTests;
146
+ productReference = cd9c3ba123868ba136d548e7586185dc /* TestProjectTests.xctest */;
147
+ productType = "com.apple.product-type.bundle.unit-test";
148
+ };
149
+ 979d0d142284299eeebeb01900864f1f /* TestProject */ = {
150
+ isa = PBXNativeTarget;
151
+ buildConfigurationList = afe4fde74ff521b111400116c45f1b05 /* Build configuration list for PBXNativeTarget "TestProject" */;
152
+ buildPhases = (
153
+ a7ddc337858cdb3fdb4093a97171d6d6 /* Sources */,
154
+ 0e8d144da5772add4de84debe6d8604a /* Frameworks */,
155
+ dd906d48f4233dd65f3625cd086290c9 /* Resources */,
156
+ );
157
+ buildRules = (
158
+ );
159
+ dependencies = (
160
+ );
161
+ name = TestProject;
162
+ productName = TestProject;
163
+ productReference = c724ed293b05ea811891e04fb9174a0b /* TestProject.app */;
164
+ productType = "com.apple.product-type.application";
165
+ };
166
+ a1020a4dd71e9b25d987a18580d8388b /* TestProjectUITests */ = {
167
+ isa = PBXNativeTarget;
168
+ buildConfigurationList = 9af5f248ddffbfc8b2348ddc219bdfcb /* Build configuration list for PBXNativeTarget "TestProjectUITests" */;
169
+ buildPhases = (
170
+ e8cdb6da6e5b3e100269af0c283f5559 /* Sources */,
171
+ 05b0acbcaf2458234d87fa2d6ed2ffc4 /* Frameworks */,
172
+ 47a09d46c1adfb9adefd8bf7b884cac6 /* Resources */,
173
+ );
174
+ buildRules = (
175
+ );
176
+ dependencies = (
177
+ 5a971cb9a3a186567d0bb0dd9819db5f /* PBXTargetDependency */,
178
+ );
179
+ name = TestProjectUITests;
180
+ productName = TestProjectUITests;
181
+ productReference = a076b3064467795827dae7ada09ae675 /* TestProjectUITests.xctest */;
182
+ productType = "com.apple.product-type.bundle.ui-testing";
183
+ };
184
+ /* End PBXNativeTarget section */
185
+
186
+ /* Begin PBXProject section */
187
+ 03d740d06093820601a9e571e9786df8 /* Project object */ = {
188
+ isa = PBXProject;
189
+ attributes = {
190
+ LastSwiftUpdateCheck = 0710;
191
+ LastUpgradeCheck = 0710;
192
+ ORGANIZATIONNAME = "Paul Samuels";
193
+ TargetAttributes = {
194
+ 52eb05e8030b69d64a3f9181a357448c = {
195
+ CreatedOnToolsVersion = 7.1.1;
196
+ TestTargetID = 979d0d142284299eeebeb01900864f1f;
197
+ };
198
+ 979d0d142284299eeebeb01900864f1f = {
199
+ CreatedOnToolsVersion = 7.1.1;
200
+ };
201
+ a1020a4dd71e9b25d987a18580d8388b = {
202
+ CreatedOnToolsVersion = 7.1.1;
203
+ TestTargetID = 979d0d142284299eeebeb01900864f1f;
204
+ };
205
+ };
206
+ };
207
+ buildConfigurationList = 5dc1b08cccbb68946ea06062920e152a /* Build configuration list for PBXProject "TestProject" */;
208
+ compatibilityVersion = "Xcode 3.2";
209
+ developmentRegion = English;
210
+ hasScannedForEncodings = 0;
211
+ knownRegions = (
212
+ en,
213
+ Base,
214
+ );
215
+ mainGroup = b882b41f991a8f976cc8b3e2186b3218;
216
+ productRefGroup = 188c8c3eaf40043fc3375a8769e8c3ee /* Products */;
217
+ projectDirPath = "";
218
+ projectRoot = "";
219
+ targets = (
220
+ 979d0d142284299eeebeb01900864f1f /* TestProject */,
221
+ 52eb05e8030b69d64a3f9181a357448c /* TestProjectTests */,
222
+ a1020a4dd71e9b25d987a18580d8388b /* TestProjectUITests */,
223
+ );
224
+ };
225
+ /* End PBXProject section */
226
+
227
+ /* Begin PBXResourcesBuildPhase section */
228
+ 47a09d46c1adfb9adefd8bf7b884cac6 /* Resources */ = {
229
+ isa = PBXResourcesBuildPhase;
230
+ buildActionMask = 2147483647;
231
+ files = (
232
+ );
233
+ runOnlyForDeploymentPostprocessing = 0;
234
+ };
235
+ bba068b409a4473d91026bf7c80fe244 /* Resources */ = {
236
+ isa = PBXResourcesBuildPhase;
237
+ buildActionMask = 2147483647;
238
+ files = (
239
+ );
240
+ runOnlyForDeploymentPostprocessing = 0;
241
+ };
242
+ dd906d48f4233dd65f3625cd086290c9 /* Resources */ = {
243
+ isa = PBXResourcesBuildPhase;
244
+ buildActionMask = 2147483647;
245
+ files = (
246
+ 9566fd6329975315135d2fc80622d03e /* LaunchScreen.storyboard in Resources */,
247
+ a1252d05bd7ffcad2b1a977c3e1ad5a7 /* Main.storyboard in Resources */,
248
+ 06302f866d6d7483b05818dd945e2f7a /* Assets.xcassets in Resources */,
249
+ );
250
+ runOnlyForDeploymentPostprocessing = 0;
251
+ };
252
+ /* End PBXResourcesBuildPhase section */
253
+
254
+ /* Begin PBXSourcesBuildPhase section */
255
+ a7ddc337858cdb3fdb4093a97171d6d6 /* Sources */ = {
256
+ isa = PBXSourcesBuildPhase;
257
+ buildActionMask = 2147483647;
258
+ files = (
259
+ 063b4cb0c7e5e4e32e95cc70bb05aee3 /* AppDelegate.swift in Sources */,
260
+ c28c4d665aa234029250547f0a229fcf /* ViewController.swift in Sources */,
261
+ );
262
+ runOnlyForDeploymentPostprocessing = 0;
263
+ };
264
+ e8cdb6da6e5b3e100269af0c283f5559 /* Sources */ = {
265
+ isa = PBXSourcesBuildPhase;
266
+ buildActionMask = 2147483647;
267
+ files = (
268
+ fc96d513067dc5cc2ad228b577837859 /* TestProjectUITests.swift in Sources */,
269
+ );
270
+ runOnlyForDeploymentPostprocessing = 0;
271
+ };
272
+ ee241a0a173c6fa01c0fe77303919a1b /* Sources */ = {
273
+ isa = PBXSourcesBuildPhase;
274
+ buildActionMask = 2147483647;
275
+ files = (
276
+ b38c589417d813bb5782a85b4ea50e74 /* TestProjectTests.swift in Sources */,
277
+ );
278
+ runOnlyForDeploymentPostprocessing = 0;
279
+ };
280
+ /* End PBXSourcesBuildPhase section */
281
+
282
+ /* Begin PBXTargetDependency section */
283
+ 5a971cb9a3a186567d0bb0dd9819db5f /* PBXTargetDependency */ = {
284
+ isa = PBXTargetDependency;
285
+ target = 979d0d142284299eeebeb01900864f1f /* TestProject */;
286
+ targetProxy = ec61ca07406855f2b28a47fc5a4df405 /* PBXContainerItemProxy */;
287
+ };
288
+ c0c0794ee90e0c8d489cd29d044da585 /* PBXTargetDependency */ = {
289
+ isa = PBXTargetDependency;
290
+ target = 979d0d142284299eeebeb01900864f1f /* TestProject */;
291
+ targetProxy = 2e1a16e254883cf20eb912f5e6f58459 /* PBXContainerItemProxy */;
292
+ };
293
+ /* End PBXTargetDependency section */
294
+
295
+ /* Begin PBXVariantGroup section */
296
+ 3a8e218bd70aa3fba84a74d3315d759d /* LaunchScreen.storyboard */ = {
297
+ isa = PBXVariantGroup;
298
+ children = (
299
+ a6a83967f297a903971286dc7a6bce45 /* Base */,
300
+ );
301
+ name = LaunchScreen.storyboard;
302
+ sourceTree = "<group>";
303
+ };
304
+ d42d0440d7aadb6495d370e38d371fe0 /* Main.storyboard */ = {
305
+ isa = PBXVariantGroup;
306
+ children = (
307
+ 0909993b518710784f552ec62beb222b /* Base */,
308
+ );
309
+ name = Main.storyboard;
310
+ sourceTree = "<group>";
311
+ };
312
+ /* End PBXVariantGroup section */
313
+
314
+ /* Begin XCBuildConfiguration section */
315
+ 095a91c54c2274157d65d80f42acaddc /* Debug */ = {
316
+ isa = XCBuildConfiguration;
317
+ buildSettings = {
318
+ BUNDLE_LOADER = "$(TEST_HOST)";
319
+ INFOPLIST_FILE = TestProjectTests/Info.plist;
320
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
321
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProjectTests";
322
+ PRODUCT_NAME = "$(TARGET_NAME)";
323
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject.app/TestProject";
324
+ };
325
+ name = Debug;
326
+ };
327
+ 0af22f7396b6dce87dc319170ab03fef /* Release */ = {
328
+ isa = XCBuildConfiguration;
329
+ buildSettings = {
330
+ INFOPLIST_FILE = TestProjectUITests/Info.plist;
331
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
332
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProjectUITests";
333
+ PRODUCT_NAME = "$(TARGET_NAME)";
334
+ TEST_TARGET_NAME = TestProject;
335
+ USES_XCTRUNNER = YES;
336
+ };
337
+ name = Release;
338
+ };
339
+ 26a7d34b9f1216564be70175b8076080 /* Release */ = {
340
+ isa = XCBuildConfiguration;
341
+ buildSettings = {
342
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
343
+ INFOPLIST_FILE = TestProject/Info.plist;
344
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
345
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProject";
346
+ PRODUCT_NAME = "$(TARGET_NAME)";
347
+ };
348
+ name = Release;
349
+ };
350
+ 2909f5dd9d90099611febe4f51cf45a8 /* Release */ = {
351
+ isa = XCBuildConfiguration;
352
+ buildSettings = {
353
+ ALWAYS_SEARCH_USER_PATHS = NO;
354
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
355
+ CLANG_CXX_LIBRARY = "libc++";
356
+ CLANG_ENABLE_MODULES = YES;
357
+ CLANG_ENABLE_OBJC_ARC = YES;
358
+ CLANG_WARN_BOOL_CONVERSION = YES;
359
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
360
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
361
+ CLANG_WARN_EMPTY_BODY = YES;
362
+ CLANG_WARN_ENUM_CONVERSION = YES;
363
+ CLANG_WARN_INT_CONVERSION = YES;
364
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
365
+ CLANG_WARN_UNREACHABLE_CODE = YES;
366
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
367
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
368
+ COPY_PHASE_STRIP = NO;
369
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
370
+ ENABLE_NS_ASSERTIONS = NO;
371
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
372
+ GCC_C_LANGUAGE_STANDARD = gnu99;
373
+ GCC_NO_COMMON_BLOCKS = YES;
374
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
375
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
376
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
377
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
378
+ GCC_WARN_UNUSED_FUNCTION = YES;
379
+ GCC_WARN_UNUSED_VARIABLE = YES;
380
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
381
+ MTL_ENABLE_DEBUG_INFO = NO;
382
+ SDKROOT = iphoneos;
383
+ TARGETED_DEVICE_FAMILY = "1,2";
384
+ VALIDATE_PRODUCT = YES;
385
+ };
386
+ name = Release;
387
+ };
388
+ 3debff51b41f94fe51aa450200ebb230 /* Debug */ = {
389
+ isa = XCBuildConfiguration;
390
+ buildSettings = {
391
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
392
+ INFOPLIST_FILE = TestProject/Info.plist;
393
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
394
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProject";
395
+ PRODUCT_NAME = "$(TARGET_NAME)";
396
+ };
397
+ name = Debug;
398
+ };
399
+ 8aca13ef69028ff08cb4281eb196da49 /* Debug */ = {
400
+ isa = XCBuildConfiguration;
401
+ buildSettings = {
402
+ ALWAYS_SEARCH_USER_PATHS = NO;
403
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
404
+ CLANG_CXX_LIBRARY = "libc++";
405
+ CLANG_ENABLE_MODULES = YES;
406
+ CLANG_ENABLE_OBJC_ARC = YES;
407
+ CLANG_WARN_BOOL_CONVERSION = YES;
408
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
409
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
410
+ CLANG_WARN_EMPTY_BODY = YES;
411
+ CLANG_WARN_ENUM_CONVERSION = YES;
412
+ CLANG_WARN_INT_CONVERSION = YES;
413
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
414
+ CLANG_WARN_UNREACHABLE_CODE = YES;
415
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
416
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
417
+ COPY_PHASE_STRIP = NO;
418
+ DEBUG_INFORMATION_FORMAT = dwarf;
419
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
420
+ ENABLE_TESTABILITY = YES;
421
+ GCC_C_LANGUAGE_STANDARD = gnu99;
422
+ GCC_DYNAMIC_NO_PIC = NO;
423
+ GCC_NO_COMMON_BLOCKS = YES;
424
+ GCC_OPTIMIZATION_LEVEL = 0;
425
+ GCC_PREPROCESSOR_DEFINITIONS = (
426
+ "DEBUG=1",
427
+ "$(inherited)",
428
+ );
429
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
430
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
431
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
432
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
433
+ GCC_WARN_UNUSED_FUNCTION = YES;
434
+ GCC_WARN_UNUSED_VARIABLE = YES;
435
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
436
+ MTL_ENABLE_DEBUG_INFO = YES;
437
+ ONLY_ACTIVE_ARCH = YES;
438
+ SDKROOT = iphoneos;
439
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
440
+ TARGETED_DEVICE_FAMILY = "1,2";
441
+ };
442
+ name = Debug;
443
+ };
444
+ cc6ac32147dbd0cba02e24bbf2840c4d /* Release */ = {
445
+ isa = XCBuildConfiguration;
446
+ buildSettings = {
447
+ BUNDLE_LOADER = "$(TEST_HOST)";
448
+ INFOPLIST_FILE = TestProjectTests/Info.plist;
449
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
450
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProjectTests";
451
+ PRODUCT_NAME = "$(TARGET_NAME)";
452
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject.app/TestProject";
453
+ };
454
+ name = Release;
455
+ };
456
+ d4da340a0e2042851d1f6c36a3f09724 /* Debug */ = {
457
+ isa = XCBuildConfiguration;
458
+ buildSettings = {
459
+ INFOPLIST_FILE = TestProjectUITests/Info.plist;
460
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
461
+ PRODUCT_BUNDLE_IDENTIFIER = "com.paul-samuels.TestProjectUITests";
462
+ PRODUCT_NAME = "$(TARGET_NAME)";
463
+ TEST_TARGET_NAME = TestProject;
464
+ USES_XCTRUNNER = YES;
465
+ };
466
+ name = Debug;
467
+ };
468
+ /* End XCBuildConfiguration section */
469
+
470
+ /* Begin XCConfigurationList section */
471
+ 5dc1b08cccbb68946ea06062920e152a /* Build configuration list for PBXProject "TestProject" */ = {
472
+ isa = XCConfigurationList;
473
+ buildConfigurations = (
474
+ 8aca13ef69028ff08cb4281eb196da49 /* Debug */,
475
+ 2909f5dd9d90099611febe4f51cf45a8 /* Release */,
476
+ );
477
+ defaultConfigurationIsVisible = 0;
478
+ defaultConfigurationName = Release;
479
+ };
480
+ 99541853778ca7ce50cd360c666a40a5 /* Build configuration list for PBXNativeTarget "TestProjectTests" */ = {
481
+ isa = XCConfigurationList;
482
+ buildConfigurations = (
483
+ 095a91c54c2274157d65d80f42acaddc /* Debug */,
484
+ cc6ac32147dbd0cba02e24bbf2840c4d /* Release */,
485
+ );
486
+ defaultConfigurationIsVisible = 0;
487
+ defaultConfigurationName = Release;
488
+ };
489
+ 9af5f248ddffbfc8b2348ddc219bdfcb /* Build configuration list for PBXNativeTarget "TestProjectUITests" */ = {
490
+ isa = XCConfigurationList;
491
+ buildConfigurations = (
492
+ d4da340a0e2042851d1f6c36a3f09724 /* Debug */,
493
+ 0af22f7396b6dce87dc319170ab03fef /* Release */,
494
+ );
495
+ defaultConfigurationIsVisible = 0;
496
+ defaultConfigurationName = Release;
497
+ };
498
+ afe4fde74ff521b111400116c45f1b05 /* Build configuration list for PBXNativeTarget "TestProject" */ = {
499
+ isa = XCConfigurationList;
500
+ buildConfigurations = (
501
+ 3debff51b41f94fe51aa450200ebb230 /* Debug */,
502
+ 26a7d34b9f1216564be70175b8076080 /* Release */,
503
+ );
504
+ defaultConfigurationIsVisible = 0;
505
+ defaultConfigurationName = Release;
506
+ };
507
+ /* End XCConfigurationList section */
508
+ };
509
+ rootObject = 03d740d06093820601a9e571e9786df8 /* Project object */;
510
+ }