danger-localizationlinter 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.travis.yml +12 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +167 -0
  6. data/Guardfile +21 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +62 -0
  9. data/Rakefile +25 -0
  10. data/danger-localizationlinter.gemspec +60 -0
  11. data/ext/localizationlinter/helper/validate_wording_cli.rb +21 -0
  12. data/ext/localizationlinter/localizationlinter.rb +331 -0
  13. data/ext/localizationlinter/swiftgen_localizables_check.stencil +36 -0
  14. data/lib/danger_localizationlinter.rb +3 -0
  15. data/lib/danger_plugin.rb +3 -0
  16. data/lib/localizationlinter/gem_version.rb +5 -0
  17. data/lib/localizationlinter/plugin.rb +96 -0
  18. data/spec/Test/Podfile +6 -0
  19. data/spec/Test/Podfile.lock +16 -0
  20. data/spec/Test/Pods/SwiftGen/CHANGELOG.md +1357 -0
  21. data/spec/Test/Pods/SwiftGen/LICENCE +21 -0
  22. data/spec/Test/Pods/SwiftGen/README.md +892 -0
  23. data/spec/Test/Pods/SwiftGen/bin/swiftgen +0 -0
  24. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Commander +0 -0
  25. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Resources/Info.plist +48 -0
  26. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/A/Commander +0 -0
  27. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/A/Resources/Info.plist +48 -0
  28. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  29. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/Current/Commander +0 -0
  30. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/Current/Resources/Info.plist +48 -0
  31. data/spec/Test/Pods/SwiftGen/lib/Commander.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  32. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Kanna +0 -0
  33. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Resources/Info.plist +48 -0
  34. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/A/Kanna +0 -0
  35. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/A/Resources/Info.plist +48 -0
  36. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  37. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/Current/Kanna +0 -0
  38. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/Current/Resources/Info.plist +48 -0
  39. data/spec/Test/Pods/SwiftGen/lib/Kanna.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  40. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/PathKit +0 -0
  41. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Resources/Info.plist +48 -0
  42. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/A/PathKit +0 -0
  43. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/A/Resources/Info.plist +48 -0
  44. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  45. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/Current/PathKit +0 -0
  46. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/Current/Resources/Info.plist +48 -0
  47. data/spec/Test/Pods/SwiftGen/lib/PathKit.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  48. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Resources/Info.plist +48 -0
  49. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Stencil +0 -0
  50. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/A/Resources/Info.plist +48 -0
  51. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/A/Stencil +0 -0
  52. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  53. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/Current/Resources/Info.plist +48 -0
  54. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/Current/Stencil +0 -0
  55. data/spec/Test/Pods/SwiftGen/lib/Stencil.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  56. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Resources/Info.plist +48 -0
  57. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/StencilSwiftKit +0 -0
  58. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/A/Resources/Info.plist +48 -0
  59. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/A/StencilSwiftKit +0 -0
  60. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  61. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/Current/Resources/Info.plist +48 -0
  62. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/Current/StencilSwiftKit +0 -0
  63. data/spec/Test/Pods/SwiftGen/lib/StencilSwiftKit.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  64. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Resources/Info.plist +48 -0
  65. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/SwiftGenKit +0 -0
  66. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/A/Resources/Info.plist +48 -0
  67. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/A/SwiftGenKit +0 -0
  68. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  69. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/Current/Resources/Info.plist +48 -0
  70. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/Current/SwiftGenKit +0 -0
  71. data/spec/Test/Pods/SwiftGen/lib/SwiftGenKit.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  72. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Resources/Info.plist +48 -0
  73. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/A/Resources/Info.plist +48 -0
  74. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/A/Yams +0 -0
  75. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/A/_CodeSignature/CodeResources +132 -0
  76. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/Current/Resources/Info.plist +48 -0
  77. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/Current/Yams +0 -0
  78. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Versions/Current/_CodeSignature/CodeResources +132 -0
  79. data/spec/Test/Pods/SwiftGen/lib/Yams.framework/Yams +0 -0
  80. data/spec/Test/Pods/SwiftGen/templates/colors/literals-swift4.stencil +43 -0
  81. data/spec/Test/Pods/SwiftGen/templates/colors/literals-swift5.stencil +43 -0
  82. data/spec/Test/Pods/SwiftGen/templates/colors/swift4.stencil +84 -0
  83. data/spec/Test/Pods/SwiftGen/templates/colors/swift5.stencil +84 -0
  84. data/spec/Test/Pods/SwiftGen/templates/coredata/swift4.stencil +211 -0
  85. data/spec/Test/Pods/SwiftGen/templates/coredata/swift5.stencil +211 -0
  86. data/spec/Test/Pods/SwiftGen/templates/fonts/swift4.stencil +110 -0
  87. data/spec/Test/Pods/SwiftGen/templates/fonts/swift5.stencil +113 -0
  88. data/spec/Test/Pods/SwiftGen/templates/ib/scenes-swift4.stencil +157 -0
  89. data/spec/Test/Pods/SwiftGen/templates/ib/scenes-swift5.stencil +159 -0
  90. data/spec/Test/Pods/SwiftGen/templates/ib/segues-swift4.stencil +60 -0
  91. data/spec/Test/Pods/SwiftGen/templates/ib/segues-swift5.stencil +60 -0
  92. data/spec/Test/Pods/SwiftGen/templates/json/inline-swift4.stencil +82 -0
  93. data/spec/Test/Pods/SwiftGen/templates/json/inline-swift5.stencil +82 -0
  94. data/spec/Test/Pods/SwiftGen/templates/json/runtime-swift4.stencil +112 -0
  95. data/spec/Test/Pods/SwiftGen/templates/json/runtime-swift5.stencil +112 -0
  96. data/spec/Test/Pods/SwiftGen/templates/plist/inline-swift4.stencil +82 -0
  97. data/spec/Test/Pods/SwiftGen/templates/plist/inline-swift5.stencil +82 -0
  98. data/spec/Test/Pods/SwiftGen/templates/plist/runtime-swift4.stencil +117 -0
  99. data/spec/Test/Pods/SwiftGen/templates/plist/runtime-swift5.stencil +117 -0
  100. data/spec/Test/Pods/SwiftGen/templates/strings/flat-swift4.stencil +97 -0
  101. data/spec/Test/Pods/SwiftGen/templates/strings/flat-swift5.stencil +97 -0
  102. data/spec/Test/Pods/SwiftGen/templates/strings/objc-h.stencil +66 -0
  103. data/spec/Test/Pods/SwiftGen/templates/strings/objc-m.stencil +90 -0
  104. data/spec/Test/Pods/SwiftGen/templates/strings/structured-swift4.stencil +102 -0
  105. data/spec/Test/Pods/SwiftGen/templates/strings/structured-swift5.stencil +102 -0
  106. data/spec/Test/Pods/SwiftGen/templates/xcassets/swift4.stencil +266 -0
  107. data/spec/Test/Pods/SwiftGen/templates/xcassets/swift5.stencil +274 -0
  108. data/spec/Test/Pods/SwiftGen/templates/yaml/inline-swift4.stencil +92 -0
  109. data/spec/Test/Pods/SwiftGen/templates/yaml/inline-swift5.stencil +92 -0
  110. data/spec/Test/Test.xcodeproj/project.pbxproj +406 -0
  111. data/spec/Test/Test.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  112. data/spec/Test/Test.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  113. data/spec/Test/Test.xcworkspace/contents.xcworkspacedata +10 -0
  114. data/spec/Test/Test.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  115. data/spec/Test/Test/AppDelegate.swift +36 -0
  116. data/spec/Test/Test/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  117. data/spec/Test/Test/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
  118. data/spec/Test/Test/Assets.xcassets/Contents.json +6 -0
  119. data/spec/Test/Test/ContentView.swift +21 -0
  120. data/spec/Test/Test/Info.plist +62 -0
  121. data/spec/Test/Test/SceneDelegate.swift +63 -0
  122. data/spec/Test/Test/all_target_main_language.yml +1 -0
  123. data/spec/Test/Test/en.lproj/LaunchScreen.storyboard +25 -0
  124. data/spec/Test/Test/en.lproj/localizable.strings +3 -0
  125. data/spec/Test/Test/fr.lproj/LaunchScreen.storyboard +25 -0
  126. data/spec/Test/Test/fr.lproj/localizable.strings +3 -0
  127. data/spec/localizationofficer_spec.rb +116 -0
  128. data/spec/spec_helper.rb +67 -0
  129. data/spec/support/fixtures/all_target_main_language.yml +1 -0
  130. data/spec/support/fixtures/resources/TEST/en.lproj/Localizable.strings +8 -0
  131. data/spec/support/fixtures/resources/TEST/en.lproj/Localizable.stringsdict +30 -0
  132. data/spec/support/fixtures/resources/TEST_KO/en.lproj/Localizable.strings +11 -0
  133. data/spec/support/fixtures/resources/TEST_KO/en.lproj/Localizable.stringsdict +30 -0
  134. data/spec/support/fixtures/resources/TEST_KO/fr.lproj/Localizable.strings +11 -0
  135. data/spec/support/fixtures/resources/TEST_KO/fr.lproj/Localizable.stringsdict +30 -0
  136. metadata +491 -0
@@ -0,0 +1,92 @@
1
+ // swiftlint:disable all
2
+ // Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen
3
+
4
+ {% if files %}
5
+ {% set accessModifier %}{% if param.publicAccess %}public{% else %}internal{% endif %}{% endset %}
6
+ {% set documentPrefix %}{{param.documentName|default:"Document"}}{% endset %}
7
+ import Foundation
8
+
9
+ // swiftlint:disable superfluous_disable_command
10
+ // swiftlint:disable file_length
11
+
12
+ // MARK: - YAML Files
13
+ {% macro fileBlock file %}
14
+ {% if file.documents.count > 1 %}
15
+ {% for document in file.documents %}
16
+ {% set documentName %}{{documentPrefix}}{{forloop.counter}}{% endset %}
17
+ {{accessModifier}} enum {{documentName|swiftIdentifier:"pretty"|escapeReservedKeywords}} {
18
+ {% filter indent:2 %}{% call documentBlock file document %}{% endfilter %}
19
+ }
20
+ {% endfor %}
21
+ {% else %}
22
+ {% call documentBlock file file.documents.first %}
23
+ {% endif %}
24
+ {% endmacro %}
25
+ {% macro documentBlock file document %}
26
+ {% set rootType %}{% call typeBlock document.metadata %}{% endset %}
27
+ {% if document.metadata.type == "Array" %}
28
+ {{accessModifier}} static let items: {{rootType}} = {% call valueBlock document.data document.metadata %}
29
+ {% elif document.metadata.type == "Dictionary" %}
30
+ {% for key,value in document.metadata.properties %}
31
+ {{accessModifier}} {% call propertyBlock key value document.data %}
32
+ {% endfor %}
33
+ {% else %}
34
+ {{accessModifier}} static let value: {{rootType}} = {% call valueBlock document.data document.metadata %}
35
+ {% endif %}
36
+ {% endmacro %}
37
+ {% macro typeBlock metadata %}{% filter removeNewlines:"leading" %}
38
+ {% if metadata.type == "Array" %}
39
+ [{% call typeBlock metadata.element %}]
40
+ {% elif metadata.type == "Dictionary" %}
41
+ [String: Any]
42
+ {% elif metadata.type == "Optional" %}
43
+ Any?
44
+ {% else %}
45
+ {{metadata.type}}
46
+ {% endif %}
47
+ {% endfilter %}{% endmacro %}
48
+ {% macro propertyBlock key metadata data %}{% filter removeNewlines:"leading" %}
49
+ {% set propertyName %}{{key|swiftIdentifier:"pretty"|lowerFirstWord|escapeReservedKeywords}}{% endset %}
50
+ {% set propertyType %}{% call typeBlock metadata %}{% endset %}
51
+ static let {{propertyName}}: {{propertyType}} = {% call valueBlock data[key] metadata %}
52
+ {% endfilter %}{% endmacro %}
53
+ {% macro valueBlock value metadata %}{% filter removeNewlines:"leading" %}
54
+ {% if metadata.type == "String" %}
55
+ "{{ value }}"
56
+ {% elif metadata.type == "Optional" %}
57
+ nil
58
+ {% elif metadata.type == "Array" and value %}
59
+ [{% for value in value %}
60
+ {% call valueBlock value metadata.element.items[forloop.counter0]|default:metadata.element %}
61
+ {{ ", " if not forloop.last }}
62
+ {% endfor %}]
63
+ {% elif metadata.type == "Dictionary" %}
64
+ [{% for key,value in value %}
65
+ "{{key}}": {% call valueBlock value metadata.properties[key] %}
66
+ {{ ", " if not forloop.last }}
67
+ {% empty %}
68
+ :
69
+ {% endfor %}]
70
+ {% elif metadata.type == "Bool" %}
71
+ {% if value %}true{% else %}false{% endif %}
72
+ {% else %}
73
+ {{ value }}
74
+ {% endif %}
75
+ {% endfilter %}{% endmacro %}
76
+
77
+ // swiftlint:disable identifier_name line_length number_separator type_body_length
78
+ {{accessModifier}} enum {{param.enumName|default:"YAMLFiles"}} {
79
+ {% if files.count > 1 or param.forceFileNameEnum %}
80
+ {% for file in files %}
81
+ {{accessModifier}} enum {{file.name|swiftIdentifier:"pretty"|escapeReservedKeywords}} {
82
+ {% filter indent:2 %}{% call fileBlock file %}{% endfilter %}
83
+ }
84
+ {% endfor %}
85
+ {% else %}
86
+ {% call fileBlock files.first %}
87
+ {% endif %}
88
+ }
89
+ // swiftlint:enable identifier_name line_length number_separator type_body_length
90
+ {% else %}
91
+ // No files found
92
+ {% endif %}
@@ -0,0 +1,92 @@
1
+ // swiftlint:disable all
2
+ // Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen
3
+
4
+ {% if files %}
5
+ {% set accessModifier %}{% if param.publicAccess %}public{% else %}internal{% endif %}{% endset %}
6
+ {% set documentPrefix %}{{param.documentName|default:"Document"}}{% endset %}
7
+ import Foundation
8
+
9
+ // swiftlint:disable superfluous_disable_command
10
+ // swiftlint:disable file_length
11
+
12
+ // MARK: - YAML Files
13
+ {% macro fileBlock file %}
14
+ {% if file.documents.count > 1 %}
15
+ {% for document in file.documents %}
16
+ {% set documentName %}{{documentPrefix}}{{forloop.counter}}{% endset %}
17
+ {{accessModifier}} enum {{documentName|swiftIdentifier:"pretty"|escapeReservedKeywords}} {
18
+ {% filter indent:2 %}{% call documentBlock file document %}{% endfilter %}
19
+ }
20
+ {% endfor %}
21
+ {% else %}
22
+ {% call documentBlock file file.documents.first %}
23
+ {% endif %}
24
+ {% endmacro %}
25
+ {% macro documentBlock file document %}
26
+ {% set rootType %}{% call typeBlock document.metadata %}{% endset %}
27
+ {% if document.metadata.type == "Array" %}
28
+ {{accessModifier}} static let items: {{rootType}} = {% call valueBlock document.data document.metadata %}
29
+ {% elif document.metadata.type == "Dictionary" %}
30
+ {% for key,value in document.metadata.properties %}
31
+ {{accessModifier}} {% call propertyBlock key value document.data %}
32
+ {% endfor %}
33
+ {% else %}
34
+ {{accessModifier}} static let value: {{rootType}} = {% call valueBlock document.data document.metadata %}
35
+ {% endif %}
36
+ {% endmacro %}
37
+ {% macro typeBlock metadata %}{% filter removeNewlines:"leading" %}
38
+ {% if metadata.type == "Array" %}
39
+ [{% call typeBlock metadata.element %}]
40
+ {% elif metadata.type == "Dictionary" %}
41
+ [String: Any]
42
+ {% elif metadata.type == "Optional" %}
43
+ Any?
44
+ {% else %}
45
+ {{metadata.type}}
46
+ {% endif %}
47
+ {% endfilter %}{% endmacro %}
48
+ {% macro propertyBlock key metadata data %}{% filter removeNewlines:"leading" %}
49
+ {% set propertyName %}{{key|swiftIdentifier:"pretty"|lowerFirstWord|escapeReservedKeywords}}{% endset %}
50
+ {% set propertyType %}{% call typeBlock metadata %}{% endset %}
51
+ static let {{propertyName}}: {{propertyType}} = {% call valueBlock data[key] metadata %}
52
+ {% endfilter %}{% endmacro %}
53
+ {% macro valueBlock value metadata %}{% filter removeNewlines:"leading" %}
54
+ {% if metadata.type == "String" %}
55
+ "{{ value }}"
56
+ {% elif metadata.type == "Optional" %}
57
+ nil
58
+ {% elif metadata.type == "Array" and value %}
59
+ [{% for value in value %}
60
+ {% call valueBlock value metadata.element.items[forloop.counter0]|default:metadata.element %}
61
+ {{ ", " if not forloop.last }}
62
+ {% endfor %}]
63
+ {% elif metadata.type == "Dictionary" %}
64
+ [{% for key,value in value %}
65
+ "{{key}}": {% call valueBlock value metadata.properties[key] %}
66
+ {{ ", " if not forloop.last }}
67
+ {% empty %}
68
+ :
69
+ {% endfor %}]
70
+ {% elif metadata.type == "Bool" %}
71
+ {% if value %}true{% else %}false{% endif %}
72
+ {% else %}
73
+ {{ value }}
74
+ {% endif %}
75
+ {% endfilter %}{% endmacro %}
76
+
77
+ // swiftlint:disable identifier_name line_length number_separator type_body_length
78
+ {{accessModifier}} enum {{param.enumName|default:"YAMLFiles"}} {
79
+ {% if files.count > 1 or param.forceFileNameEnum %}
80
+ {% for file in files %}
81
+ {{accessModifier}} enum {{file.name|swiftIdentifier:"pretty"|escapeReservedKeywords}} {
82
+ {% filter indent:2 %}{% call fileBlock file %}{% endfilter %}
83
+ }
84
+ {% endfor %}
85
+ {% else %}
86
+ {% call fileBlock files.first %}
87
+ {% endif %}
88
+ }
89
+ // swiftlint:enable identifier_name line_length number_separator type_body_length
90
+ {% else %}
91
+ // No files found
92
+ {% endif %}
@@ -0,0 +1,406 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 50;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 19F16C0A26248ED300320CD8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F16C0926248ED300320CD8 /* AppDelegate.swift */; };
11
+ 19F16C0C26248ED300320CD8 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F16C0B26248ED300320CD8 /* SceneDelegate.swift */; };
12
+ 19F16C0E26248ED300320CD8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F16C0D26248ED300320CD8 /* ContentView.swift */; };
13
+ 19F16C1026248ED800320CD8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19F16C0F26248ED800320CD8 /* Assets.xcassets */; };
14
+ 19F16C1626248ED800320CD8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19F16C1426248ED800320CD8 /* LaunchScreen.storyboard */; };
15
+ 872BD1F5262EBFF6000DD92F /* localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 872BD1F7262EBFF6000DD92F /* localizable.strings */; };
16
+ F758E87208DF3790DD862ECF /* Pods_Test.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F22771268A2A88218DE29A79 /* Pods_Test.framework */; };
17
+ /* End PBXBuildFile section */
18
+
19
+ /* Begin PBXFileReference section */
20
+ 19F16C0626248ED300320CD8 /* Test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Test.app; sourceTree = BUILT_PRODUCTS_DIR; };
21
+ 19F16C0926248ED300320CD8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
22
+ 19F16C0B26248ED300320CD8 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
23
+ 19F16C0D26248ED300320CD8 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
24
+ 19F16C0F26248ED800320CD8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
25
+ 19F16C1726248ED800320CD8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
26
+ 5E65D4943489279AC0F84B66 /* Pods-Test.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Test.release.xcconfig"; path = "Target Support Files/Pods-Test/Pods-Test.release.xcconfig"; sourceTree = "<group>"; };
27
+ 64B87546166B5285BEEDE7A3 /* Pods-Test.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Test.debug.xcconfig"; path = "Target Support Files/Pods-Test/Pods-Test.debug.xcconfig"; sourceTree = "<group>"; };
28
+ 872BD1F6262EBFF6000DD92F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/localizable.strings; sourceTree = "<group>"; };
29
+ 872BD1F9262EC02A000DD92F /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/localizable.strings; sourceTree = "<group>"; };
30
+ 87D907CB263C43EB001320B1 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = fr; path = fr.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
31
+ 87D907CC263C441F001320B1 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
32
+ F22771268A2A88218DE29A79 /* Pods_Test.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Test.framework; sourceTree = BUILT_PRODUCTS_DIR; };
33
+ /* End PBXFileReference section */
34
+
35
+ /* Begin PBXFrameworksBuildPhase section */
36
+ 19F16C0326248ED300320CD8 /* Frameworks */ = {
37
+ isa = PBXFrameworksBuildPhase;
38
+ buildActionMask = 2147483647;
39
+ files = (
40
+ F758E87208DF3790DD862ECF /* Pods_Test.framework in Frameworks */,
41
+ );
42
+ runOnlyForDeploymentPostprocessing = 0;
43
+ };
44
+ /* End PBXFrameworksBuildPhase section */
45
+
46
+ /* Begin PBXGroup section */
47
+ 19F16BFD26248ED300320CD8 = {
48
+ isa = PBXGroup;
49
+ children = (
50
+ 19F16C0826248ED300320CD8 /* Test */,
51
+ 19F16C0726248ED300320CD8 /* Products */,
52
+ 61C74146D6CD6487F4CA85B2 /* Pods */,
53
+ 599CE7CDBA7210C466ABEBBE /* Frameworks */,
54
+ );
55
+ sourceTree = "<group>";
56
+ };
57
+ 19F16C0726248ED300320CD8 /* Products */ = {
58
+ isa = PBXGroup;
59
+ children = (
60
+ 19F16C0626248ED300320CD8 /* Test.app */,
61
+ );
62
+ name = Products;
63
+ sourceTree = "<group>";
64
+ };
65
+ 19F16C0826248ED300320CD8 /* Test */ = {
66
+ isa = PBXGroup;
67
+ children = (
68
+ 19F16C0926248ED300320CD8 /* AppDelegate.swift */,
69
+ 19F16C0B26248ED300320CD8 /* SceneDelegate.swift */,
70
+ 19F16C0D26248ED300320CD8 /* ContentView.swift */,
71
+ 19F16C0F26248ED800320CD8 /* Assets.xcassets */,
72
+ 19F16C1426248ED800320CD8 /* LaunchScreen.storyboard */,
73
+ 872BD1F7262EBFF6000DD92F /* localizable.strings */,
74
+ 19F16C1726248ED800320CD8 /* Info.plist */,
75
+ );
76
+ path = Test;
77
+ sourceTree = "<group>";
78
+ };
79
+ 599CE7CDBA7210C466ABEBBE /* Frameworks */ = {
80
+ isa = PBXGroup;
81
+ children = (
82
+ F22771268A2A88218DE29A79 /* Pods_Test.framework */,
83
+ );
84
+ name = Frameworks;
85
+ sourceTree = "<group>";
86
+ };
87
+ 61C74146D6CD6487F4CA85B2 /* Pods */ = {
88
+ isa = PBXGroup;
89
+ children = (
90
+ 64B87546166B5285BEEDE7A3 /* Pods-Test.debug.xcconfig */,
91
+ 5E65D4943489279AC0F84B66 /* Pods-Test.release.xcconfig */,
92
+ );
93
+ path = Pods;
94
+ sourceTree = "<group>";
95
+ };
96
+ /* End PBXGroup section */
97
+
98
+ /* Begin PBXNativeTarget section */
99
+ 19F16C0526248ED300320CD8 /* Test */ = {
100
+ isa = PBXNativeTarget;
101
+ buildConfigurationList = 19F16C1A26248ED800320CD8 /* Build configuration list for PBXNativeTarget "Test" */;
102
+ buildPhases = (
103
+ F7A021422BFD88BAFDC632B7 /* [CP] Check Pods Manifest.lock */,
104
+ 19F16C0226248ED300320CD8 /* Sources */,
105
+ 19F16C0326248ED300320CD8 /* Frameworks */,
106
+ 19F16C0426248ED300320CD8 /* Resources */,
107
+ );
108
+ buildRules = (
109
+ );
110
+ dependencies = (
111
+ );
112
+ name = Test;
113
+ productName = Test;
114
+ productReference = 19F16C0626248ED300320CD8 /* Test.app */;
115
+ productType = "com.apple.product-type.application";
116
+ };
117
+ /* End PBXNativeTarget section */
118
+
119
+ /* Begin PBXProject section */
120
+ 19F16BFE26248ED300320CD8 /* Project object */ = {
121
+ isa = PBXProject;
122
+ attributes = {
123
+ LastSwiftUpdateCheck = 1240;
124
+ LastUpgradeCheck = 1240;
125
+ TargetAttributes = {
126
+ 19F16C0526248ED300320CD8 = {
127
+ CreatedOnToolsVersion = 12.4;
128
+ };
129
+ };
130
+ };
131
+ buildConfigurationList = 19F16C0126248ED300320CD8 /* Build configuration list for PBXProject "Test" */;
132
+ compatibilityVersion = "Xcode 9.3";
133
+ developmentRegion = en;
134
+ hasScannedForEncodings = 0;
135
+ knownRegions = (
136
+ en,
137
+ fr,
138
+ );
139
+ mainGroup = 19F16BFD26248ED300320CD8;
140
+ productRefGroup = 19F16C0726248ED300320CD8 /* Products */;
141
+ projectDirPath = "";
142
+ projectRoot = "";
143
+ targets = (
144
+ 19F16C0526248ED300320CD8 /* Test */,
145
+ );
146
+ };
147
+ /* End PBXProject section */
148
+
149
+ /* Begin PBXResourcesBuildPhase section */
150
+ 19F16C0426248ED300320CD8 /* Resources */ = {
151
+ isa = PBXResourcesBuildPhase;
152
+ buildActionMask = 2147483647;
153
+ files = (
154
+ 19F16C1626248ED800320CD8 /* LaunchScreen.storyboard in Resources */,
155
+ 872BD1F5262EBFF6000DD92F /* localizable.strings in Resources */,
156
+ 19F16C1026248ED800320CD8 /* Assets.xcassets in Resources */,
157
+ );
158
+ runOnlyForDeploymentPostprocessing = 0;
159
+ };
160
+ /* End PBXResourcesBuildPhase section */
161
+
162
+ /* Begin PBXShellScriptBuildPhase section */
163
+ F7A021422BFD88BAFDC632B7 /* [CP] Check Pods Manifest.lock */ = {
164
+ isa = PBXShellScriptBuildPhase;
165
+ buildActionMask = 2147483647;
166
+ files = (
167
+ );
168
+ inputFileListPaths = (
169
+ );
170
+ inputPaths = (
171
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
172
+ "${PODS_ROOT}/Manifest.lock",
173
+ );
174
+ name = "[CP] Check Pods Manifest.lock";
175
+ outputFileListPaths = (
176
+ );
177
+ outputPaths = (
178
+ "$(DERIVED_FILE_DIR)/Pods-Test-checkManifestLockResult.txt",
179
+ );
180
+ runOnlyForDeploymentPostprocessing = 0;
181
+ shellPath = /bin/sh;
182
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
183
+ showEnvVarsInLog = 0;
184
+ };
185
+ /* End PBXShellScriptBuildPhase section */
186
+
187
+ /* Begin PBXSourcesBuildPhase section */
188
+ 19F16C0226248ED300320CD8 /* Sources */ = {
189
+ isa = PBXSourcesBuildPhase;
190
+ buildActionMask = 2147483647;
191
+ files = (
192
+ 19F16C0A26248ED300320CD8 /* AppDelegate.swift in Sources */,
193
+ 19F16C0C26248ED300320CD8 /* SceneDelegate.swift in Sources */,
194
+ 19F16C0E26248ED300320CD8 /* ContentView.swift in Sources */,
195
+ );
196
+ runOnlyForDeploymentPostprocessing = 0;
197
+ };
198
+ /* End PBXSourcesBuildPhase section */
199
+
200
+ /* Begin PBXVariantGroup section */
201
+ 19F16C1426248ED800320CD8 /* LaunchScreen.storyboard */ = {
202
+ isa = PBXVariantGroup;
203
+ children = (
204
+ 87D907CB263C43EB001320B1 /* fr */,
205
+ 87D907CC263C441F001320B1 /* en */,
206
+ );
207
+ name = LaunchScreen.storyboard;
208
+ sourceTree = "<group>";
209
+ };
210
+ 872BD1F7262EBFF6000DD92F /* localizable.strings */ = {
211
+ isa = PBXVariantGroup;
212
+ children = (
213
+ 872BD1F6262EBFF6000DD92F /* en */,
214
+ 872BD1F9262EC02A000DD92F /* fr */,
215
+ );
216
+ name = localizable.strings;
217
+ sourceTree = "<group>";
218
+ };
219
+ /* End PBXVariantGroup section */
220
+
221
+ /* Begin XCBuildConfiguration section */
222
+ 19F16C1826248ED800320CD8 /* Debug */ = {
223
+ isa = XCBuildConfiguration;
224
+ buildSettings = {
225
+ ALWAYS_SEARCH_USER_PATHS = NO;
226
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
227
+ CLANG_ANALYZER_NONNULL = YES;
228
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
229
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
230
+ CLANG_CXX_LIBRARY = "libc++";
231
+ CLANG_ENABLE_MODULES = YES;
232
+ CLANG_ENABLE_OBJC_ARC = YES;
233
+ CLANG_ENABLE_OBJC_WEAK = YES;
234
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
235
+ CLANG_WARN_BOOL_CONVERSION = YES;
236
+ CLANG_WARN_COMMA = YES;
237
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
238
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
239
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
240
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
241
+ CLANG_WARN_EMPTY_BODY = YES;
242
+ CLANG_WARN_ENUM_CONVERSION = YES;
243
+ CLANG_WARN_INFINITE_RECURSION = YES;
244
+ CLANG_WARN_INT_CONVERSION = YES;
245
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
246
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
247
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
248
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
249
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
250
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
251
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
252
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
253
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
254
+ CLANG_WARN_UNREACHABLE_CODE = YES;
255
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
256
+ COPY_PHASE_STRIP = NO;
257
+ DEBUG_INFORMATION_FORMAT = dwarf;
258
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
259
+ ENABLE_TESTABILITY = YES;
260
+ GCC_C_LANGUAGE_STANDARD = gnu11;
261
+ GCC_DYNAMIC_NO_PIC = NO;
262
+ GCC_NO_COMMON_BLOCKS = YES;
263
+ GCC_OPTIMIZATION_LEVEL = 0;
264
+ GCC_PREPROCESSOR_DEFINITIONS = (
265
+ "DEBUG=1",
266
+ "$(inherited)",
267
+ );
268
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
269
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
270
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
271
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
272
+ GCC_WARN_UNUSED_FUNCTION = YES;
273
+ GCC_WARN_UNUSED_VARIABLE = YES;
274
+ IPHONEOS_DEPLOYMENT_TARGET = 14.4;
275
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
276
+ MTL_FAST_MATH = YES;
277
+ ONLY_ACTIVE_ARCH = YES;
278
+ SDKROOT = iphoneos;
279
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
280
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
281
+ };
282
+ name = Debug;
283
+ };
284
+ 19F16C1926248ED800320CD8 /* Release */ = {
285
+ isa = XCBuildConfiguration;
286
+ buildSettings = {
287
+ ALWAYS_SEARCH_USER_PATHS = NO;
288
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
289
+ CLANG_ANALYZER_NONNULL = YES;
290
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
291
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
292
+ CLANG_CXX_LIBRARY = "libc++";
293
+ CLANG_ENABLE_MODULES = YES;
294
+ CLANG_ENABLE_OBJC_ARC = YES;
295
+ CLANG_ENABLE_OBJC_WEAK = YES;
296
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
297
+ CLANG_WARN_BOOL_CONVERSION = YES;
298
+ CLANG_WARN_COMMA = YES;
299
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
300
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
301
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
302
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
303
+ CLANG_WARN_EMPTY_BODY = YES;
304
+ CLANG_WARN_ENUM_CONVERSION = YES;
305
+ CLANG_WARN_INFINITE_RECURSION = YES;
306
+ CLANG_WARN_INT_CONVERSION = YES;
307
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
308
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
309
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
310
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
311
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
312
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
313
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
314
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
315
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
316
+ CLANG_WARN_UNREACHABLE_CODE = YES;
317
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
318
+ COPY_PHASE_STRIP = NO;
319
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
320
+ ENABLE_NS_ASSERTIONS = NO;
321
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
322
+ GCC_C_LANGUAGE_STANDARD = gnu11;
323
+ GCC_NO_COMMON_BLOCKS = YES;
324
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
325
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
326
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
327
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
328
+ GCC_WARN_UNUSED_FUNCTION = YES;
329
+ GCC_WARN_UNUSED_VARIABLE = YES;
330
+ IPHONEOS_DEPLOYMENT_TARGET = 14.4;
331
+ MTL_ENABLE_DEBUG_INFO = NO;
332
+ MTL_FAST_MATH = YES;
333
+ SDKROOT = iphoneos;
334
+ SWIFT_COMPILATION_MODE = wholemodule;
335
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
336
+ VALIDATE_PRODUCT = YES;
337
+ };
338
+ name = Release;
339
+ };
340
+ 19F16C1B26248ED800320CD8 /* Debug */ = {
341
+ isa = XCBuildConfiguration;
342
+ baseConfigurationReference = 64B87546166B5285BEEDE7A3 /* Pods-Test.debug.xcconfig */;
343
+ buildSettings = {
344
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
345
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
346
+ CODE_SIGN_STYLE = Automatic;
347
+ DEVELOPMENT_ASSET_PATHS = "\"Test/Preview Content\"";
348
+ ENABLE_PREVIEWS = YES;
349
+ INFOPLIST_FILE = Test/Info.plist;
350
+ LD_RUNPATH_SEARCH_PATHS = (
351
+ "$(inherited)",
352
+ "@executable_path/Frameworks",
353
+ );
354
+ PRODUCT_BUNDLE_IDENTIFIER = fabernovel.Test;
355
+ PRODUCT_NAME = "$(TARGET_NAME)";
356
+ SWIFT_VERSION = 5.0;
357
+ TARGETED_DEVICE_FAMILY = "1,2";
358
+ };
359
+ name = Debug;
360
+ };
361
+ 19F16C1C26248ED800320CD8 /* Release */ = {
362
+ isa = XCBuildConfiguration;
363
+ baseConfigurationReference = 5E65D4943489279AC0F84B66 /* Pods-Test.release.xcconfig */;
364
+ buildSettings = {
365
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
366
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
367
+ CODE_SIGN_STYLE = Automatic;
368
+ DEVELOPMENT_ASSET_PATHS = "\"Test/Preview Content\"";
369
+ ENABLE_PREVIEWS = YES;
370
+ INFOPLIST_FILE = Test/Info.plist;
371
+ LD_RUNPATH_SEARCH_PATHS = (
372
+ "$(inherited)",
373
+ "@executable_path/Frameworks",
374
+ );
375
+ PRODUCT_BUNDLE_IDENTIFIER = fabernovel.Test;
376
+ PRODUCT_NAME = "$(TARGET_NAME)";
377
+ SWIFT_VERSION = 5.0;
378
+ TARGETED_DEVICE_FAMILY = "1,2";
379
+ };
380
+ name = Release;
381
+ };
382
+ /* End XCBuildConfiguration section */
383
+
384
+ /* Begin XCConfigurationList section */
385
+ 19F16C0126248ED300320CD8 /* Build configuration list for PBXProject "Test" */ = {
386
+ isa = XCConfigurationList;
387
+ buildConfigurations = (
388
+ 19F16C1826248ED800320CD8 /* Debug */,
389
+ 19F16C1926248ED800320CD8 /* Release */,
390
+ );
391
+ defaultConfigurationIsVisible = 0;
392
+ defaultConfigurationName = Release;
393
+ };
394
+ 19F16C1A26248ED800320CD8 /* Build configuration list for PBXNativeTarget "Test" */ = {
395
+ isa = XCConfigurationList;
396
+ buildConfigurations = (
397
+ 19F16C1B26248ED800320CD8 /* Debug */,
398
+ 19F16C1C26248ED800320CD8 /* Release */,
399
+ );
400
+ defaultConfigurationIsVisible = 0;
401
+ defaultConfigurationName = Release;
402
+ };
403
+ /* End XCConfigurationList section */
404
+ };
405
+ rootObject = 19F16BFE26248ED300320CD8 /* Project object */;
406
+ }