xcres 0.4.0

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 (299) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +33 -0
  3. data/.travis.yml +18 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +85 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +181 -0
  8. data/Rakefile +58 -0
  9. data/bin/xcres +12 -0
  10. data/lib/xcres/analyzer/aggregate_analyzer.rb +48 -0
  11. data/lib/xcres/analyzer/analyzer.rb +141 -0
  12. data/lib/xcres/analyzer/resources_aggregate_analyzer.rb +27 -0
  13. data/lib/xcres/analyzer/resources_analyzer/base_resources_analyzer.rb +133 -0
  14. data/lib/xcres/analyzer/resources_analyzer/bundle_resources_analyzer.rb +68 -0
  15. data/lib/xcres/analyzer/resources_analyzer/loose_resources_analyzer.rb +39 -0
  16. data/lib/xcres/analyzer/resources_analyzer/xcassets_analyzer.rb +62 -0
  17. data/lib/xcres/analyzer/strings_analyzer.rb +255 -0
  18. data/lib/xcres/builder/file_builder.rb +61 -0
  19. data/lib/xcres/builder/resources_builder.rb +184 -0
  20. data/lib/xcres/builder/string_builder.rb +31 -0
  21. data/lib/xcres/command/build_command.rb +83 -0
  22. data/lib/xcres/command/command.rb +58 -0
  23. data/lib/xcres/command/install_command.rb +173 -0
  24. data/lib/xcres/command/main_command.rb +14 -0
  25. data/lib/xcres/command/project_command.rb +111 -0
  26. data/lib/xcres/command/version_command.rb +12 -0
  27. data/lib/xcres/helper/file_helper.rb +16 -0
  28. data/lib/xcres/logger.rb +148 -0
  29. data/lib/xcres/model/section.rb +43 -0
  30. data/lib/xcres/model/xcassets/bundle.rb +55 -0
  31. data/lib/xcres/model/xcassets/resource.rb +141 -0
  32. data/lib/xcres/model/xcassets/resource_image.rb +134 -0
  33. data/lib/xcres/version.rb +9 -0
  34. data/lib/xcres.rb +9 -0
  35. data/spec/fixtures/Example/Example/AppDelegate.h +15 -0
  36. data/spec/fixtures/Example/Example/AppDelegate.m +49 -0
  37. data/spec/fixtures/Example/Example/Example-Info.plist +38 -0
  38. data/spec/fixtures/Example/Example/Example-Prefix.pch +16 -0
  39. data/spec/fixtures/Example/Example/Images/doge.jpeg +0 -0
  40. data/spec/fixtures/Example/Example/Images/nyanCat.png +0 -0
  41. data/spec/fixtures/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  42. data/spec/fixtures/Example/Example/Images.xcassets/Doge.imageset/Contents.json +18 -0
  43. data/spec/fixtures/Example/Example/Images.xcassets/Doge.imageset/doge.png +0 -0
  44. data/spec/fixtures/Example/Example/Images.xcassets/Doge.imageset/doge@2x.png +0 -0
  45. data/spec/fixtures/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  46. data/spec/fixtures/Example/Example/de.lproj/Localizable.strings +12 -0
  47. data/spec/fixtures/Example/Example/en.lproj/InfoPlist.strings +2 -0
  48. data/spec/fixtures/Example/Example/en.lproj/Localizable.strings +15 -0
  49. data/spec/fixtures/Example/Example/main.m +18 -0
  50. data/spec/fixtures/Example/Example.xcodeproj/project.pbxproj +449 -0
  51. data/spec/fixtures/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  52. data/spec/fixtures/ExampleOSX/ExampleOSX/AppDelegate.h +15 -0
  53. data/spec/fixtures/ExampleOSX/ExampleOSX/AppDelegate.m +18 -0
  54. data/spec/fixtures/ExampleOSX/ExampleOSX/Base.lproj/MainMenu.xib +680 -0
  55. data/spec/fixtures/ExampleOSX/ExampleOSX/ExampleOSX-Info.plist +34 -0
  56. data/spec/fixtures/ExampleOSX/ExampleOSX/ExampleOSX-Prefix.pch +9 -0
  57. data/spec/fixtures/ExampleOSX/ExampleOSX/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
  58. data/spec/fixtures/ExampleOSX/ExampleOSX/en.lproj/Credits.rtf +29 -0
  59. data/spec/fixtures/ExampleOSX/ExampleOSX/en.lproj/InfoPlist.strings +2 -0
  60. data/spec/fixtures/ExampleOSX/ExampleOSX/main.m +14 -0
  61. data/spec/fixtures/ExampleOSX/ExampleOSX.xcodeproj/project.pbxproj +481 -0
  62. data/spec/fixtures/ExampleOSX/ExampleOSX.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  63. data/spec/fixtures/ExampleOSX/ExampleOSXTests/ExampleOSXTests-Info.plist +22 -0
  64. data/spec/fixtures/ExampleOSX/ExampleOSXTests/ExampleOSXTests.m +34 -0
  65. data/spec/fixtures/ExampleOSX/ExampleOSXTests/en.lproj/InfoPlist.strings +2 -0
  66. data/spec/integration/build/after/Example/Example/AppDelegate.h +15 -0
  67. data/spec/integration/build/after/Example/Example/AppDelegate.m +49 -0
  68. data/spec/integration/build/after/Example/Example/Example-Info.plist +38 -0
  69. data/spec/integration/build/after/Example/Example/Example-Prefix.pch +16 -0
  70. data/spec/integration/build/after/Example/Example/Icons.bundle/tab_bar/tabbar_list.png +0 -0
  71. data/spec/integration/build/after/Example/Example/Icons.bundle/tab_bar/tabbar_list@2x.png +0 -0
  72. data/spec/integration/build/after/Example/Example/Icons.bundle/tab_bar/tabbar_map.png +0 -0
  73. data/spec/integration/build/after/Example/Example/Icons.bundle/tab_bar/tabbar_map@2x.png +0 -0
  74. data/spec/integration/build/after/Example/Example/Images/doge.jpeg +0 -0
  75. data/spec/integration/build/after/Example/Example/Images/nyanCat.png +0 -0
  76. data/spec/integration/build/after/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  77. data/spec/integration/build/after/Example/Example/Images.xcassets/Doge.imageset/Contents.json +18 -0
  78. data/spec/integration/build/after/Example/Example/Images.xcassets/Doge.imageset/doge.png +0 -0
  79. data/spec/integration/build/after/Example/Example/Images.xcassets/Doge.imageset/doge@2x.png +0 -0
  80. data/spec/integration/build/after/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  81. data/spec/integration/build/after/Example/Example/de.lproj/Localizable.strings +12 -0
  82. data/spec/integration/build/after/Example/Example/en.lproj/InfoPlist.strings +2 -0
  83. data/spec/integration/build/after/Example/Example/en.lproj/Localizable.strings +15 -0
  84. data/spec/integration/build/after/Example/Example/main.m +18 -0
  85. data/spec/integration/build/after/Example/Example.xcodeproj.yaml +168 -0
  86. data/spec/integration/build/after/R.h +39 -0
  87. data/spec/integration/build/after/R.m +29 -0
  88. data/spec/integration/build/after/execution_output.txt +19 -0
  89. data/spec/integration/build/before/Example/Example/AppDelegate.h +15 -0
  90. data/spec/integration/build/before/Example/Example/AppDelegate.m +49 -0
  91. data/spec/integration/build/before/Example/Example/Example-Info.plist +38 -0
  92. data/spec/integration/build/before/Example/Example/Example-Prefix.pch +16 -0
  93. data/spec/integration/build/before/Example/Example/Icons.bundle/tab_bar/tabbar_list.png +0 -0
  94. data/spec/integration/build/before/Example/Example/Icons.bundle/tab_bar/tabbar_list@2x.png +0 -0
  95. data/spec/integration/build/before/Example/Example/Icons.bundle/tab_bar/tabbar_map.png +0 -0
  96. data/spec/integration/build/before/Example/Example/Icons.bundle/tab_bar/tabbar_map@2x.png +0 -0
  97. data/spec/integration/build/before/Example/Example/Images/doge.jpeg +0 -0
  98. data/spec/integration/build/before/Example/Example/Images/nyanCat.png +0 -0
  99. data/spec/integration/build/before/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  100. data/spec/integration/build/before/Example/Example/Images.xcassets/Doge.imageset/Contents.json +18 -0
  101. data/spec/integration/build/before/Example/Example/Images.xcassets/Doge.imageset/doge.png +0 -0
  102. data/spec/integration/build/before/Example/Example/Images.xcassets/Doge.imageset/doge@2x.png +0 -0
  103. data/spec/integration/build/before/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  104. data/spec/integration/build/before/Example/Example/de.lproj/Localizable.strings +12 -0
  105. data/spec/integration/build/before/Example/Example/en.lproj/InfoPlist.strings +2 -0
  106. data/spec/integration/build/before/Example/Example/en.lproj/Localizable.strings +15 -0
  107. data/spec/integration/build/before/Example/Example/main.m +18 -0
  108. data/spec/integration/build/before/Example/Example.xcodeproj/project.pbxproj +453 -0
  109. data/spec/integration/build/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  110. data/spec/integration/build-keyword-clash/after/Example/Example/AppDelegate.h +15 -0
  111. data/spec/integration/build-keyword-clash/after/Example/Example/AppDelegate.m +49 -0
  112. data/spec/integration/build-keyword-clash/after/Example/Example/Default-568h@2x.png +0 -0
  113. data/spec/integration/build-keyword-clash/after/Example/Example/Default.png +0 -0
  114. data/spec/integration/build-keyword-clash/after/Example/Example/Default@2x.png +0 -0
  115. data/spec/integration/build-keyword-clash/after/Example/Example/Example-Info.plist +38 -0
  116. data/spec/integration/build-keyword-clash/after/Example/Example/Example-Prefix.pch +16 -0
  117. data/spec/integration/build-keyword-clash/after/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  118. data/spec/integration/build-keyword-clash/after/Example/Example/en.lproj/InfoPlist.strings +2 -0
  119. data/spec/integration/build-keyword-clash/after/Example/Example/main.m +18 -0
  120. data/spec/integration/build-keyword-clash/after/Example/Example.xcodeproj.yaml +160 -0
  121. data/spec/integration/build-keyword-clash/after/R.h +15 -0
  122. data/spec/integration/build-keyword-clash/after/R.m +15 -0
  123. data/spec/integration/build-keyword-clash/after/execution_output.txt +14 -0
  124. data/spec/integration/build-keyword-clash/before/Example/Example/AppDelegate.h +15 -0
  125. data/spec/integration/build-keyword-clash/before/Example/Example/AppDelegate.m +49 -0
  126. data/spec/integration/build-keyword-clash/before/Example/Example/Default-568h@2x.png +0 -0
  127. data/spec/integration/build-keyword-clash/before/Example/Example/Default.png +0 -0
  128. data/spec/integration/build-keyword-clash/before/Example/Example/Default@2x.png +0 -0
  129. data/spec/integration/build-keyword-clash/before/Example/Example/Example-Info.plist +38 -0
  130. data/spec/integration/build-keyword-clash/before/Example/Example/Example-Prefix.pch +16 -0
  131. data/spec/integration/build-keyword-clash/before/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  132. data/spec/integration/build-keyword-clash/before/Example/Example/en.lproj/InfoPlist.strings +2 -0
  133. data/spec/integration/build-keyword-clash/before/Example/Example/main.m +18 -0
  134. data/spec/integration/build-keyword-clash/before/Example/Example.xcodeproj/project.pbxproj +427 -0
  135. data/spec/integration/build-keyword-clash/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  136. data/spec/integration/build-var-infoplist/after/Example/Example/AppDelegate.h +15 -0
  137. data/spec/integration/build-var-infoplist/after/Example/Example/AppDelegate.m +49 -0
  138. data/spec/integration/build-var-infoplist/after/Example/Example/Example-Info.plist +38 -0
  139. data/spec/integration/build-var-infoplist/after/Example/Example/Example-Prefix.pch +16 -0
  140. data/spec/integration/build-var-infoplist/after/Example/Example/Icons.bundle/tab_bar/tabbar_list.png +0 -0
  141. data/spec/integration/build-var-infoplist/after/Example/Example/Icons.bundle/tab_bar/tabbar_list@2x.png +0 -0
  142. data/spec/integration/build-var-infoplist/after/Example/Example/Icons.bundle/tab_bar/tabbar_map.png +0 -0
  143. data/spec/integration/build-var-infoplist/after/Example/Example/Icons.bundle/tab_bar/tabbar_map@2x.png +0 -0
  144. data/spec/integration/build-var-infoplist/after/Example/Example/Images/doge.jpeg +0 -0
  145. data/spec/integration/build-var-infoplist/after/Example/Example/Images/nyanCat.png +0 -0
  146. data/spec/integration/build-var-infoplist/after/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  147. data/spec/integration/build-var-infoplist/after/Example/Example/Images.xcassets/Doge.imageset/Contents.json +18 -0
  148. data/spec/integration/build-var-infoplist/after/Example/Example/Images.xcassets/Doge.imageset/doge.png +0 -0
  149. data/spec/integration/build-var-infoplist/after/Example/Example/Images.xcassets/Doge.imageset/doge@2x.png +0 -0
  150. data/spec/integration/build-var-infoplist/after/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  151. data/spec/integration/build-var-infoplist/after/Example/Example/de.lproj/Localizable.strings +12 -0
  152. data/spec/integration/build-var-infoplist/after/Example/Example/en.lproj/InfoPlist.strings +2 -0
  153. data/spec/integration/build-var-infoplist/after/Example/Example/en.lproj/Localizable.strings +15 -0
  154. data/spec/integration/build-var-infoplist/after/Example/Example/main.m +18 -0
  155. data/spec/integration/build-var-infoplist/after/Example/Example.xcodeproj.yaml +168 -0
  156. data/spec/integration/build-var-infoplist/after/R.h +39 -0
  157. data/spec/integration/build-var-infoplist/after/R.m +29 -0
  158. data/spec/integration/build-var-infoplist/after/execution_output.txt +19 -0
  159. data/spec/integration/build-var-infoplist/before/Example/Example/AppDelegate.h +15 -0
  160. data/spec/integration/build-var-infoplist/before/Example/Example/AppDelegate.m +49 -0
  161. data/spec/integration/build-var-infoplist/before/Example/Example/Example-Info.plist +38 -0
  162. data/spec/integration/build-var-infoplist/before/Example/Example/Example-Prefix.pch +16 -0
  163. data/spec/integration/build-var-infoplist/before/Example/Example/Icons.bundle/tab_bar/tabbar_list.png +0 -0
  164. data/spec/integration/build-var-infoplist/before/Example/Example/Icons.bundle/tab_bar/tabbar_list@2x.png +0 -0
  165. data/spec/integration/build-var-infoplist/before/Example/Example/Icons.bundle/tab_bar/tabbar_map.png +0 -0
  166. data/spec/integration/build-var-infoplist/before/Example/Example/Icons.bundle/tab_bar/tabbar_map@2x.png +0 -0
  167. data/spec/integration/build-var-infoplist/before/Example/Example/Images/doge.jpeg +0 -0
  168. data/spec/integration/build-var-infoplist/before/Example/Example/Images/nyanCat.png +0 -0
  169. data/spec/integration/build-var-infoplist/before/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  170. data/spec/integration/build-var-infoplist/before/Example/Example/Images.xcassets/Doge.imageset/Contents.json +18 -0
  171. data/spec/integration/build-var-infoplist/before/Example/Example/Images.xcassets/Doge.imageset/doge.png +0 -0
  172. data/spec/integration/build-var-infoplist/before/Example/Example/Images.xcassets/Doge.imageset/doge@2x.png +0 -0
  173. data/spec/integration/build-var-infoplist/before/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  174. data/spec/integration/build-var-infoplist/before/Example/Example/de.lproj/Localizable.strings +12 -0
  175. data/spec/integration/build-var-infoplist/before/Example/Example/en.lproj/InfoPlist.strings +2 -0
  176. data/spec/integration/build-var-infoplist/before/Example/Example/en.lproj/Localizable.strings +15 -0
  177. data/spec/integration/build-var-infoplist/before/Example/Example/main.m +18 -0
  178. data/spec/integration/build-var-infoplist/before/Example/Example.xcodeproj/project.pbxproj +453 -0
  179. data/spec/integration/build-var-infoplist/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  180. data/spec/integration/help/after/execution_output.txt +18 -0
  181. data/spec/integration/help/before/.gitkeep +0 -0
  182. data/spec/integration/install/after/Example/Example/AppDelegate.h +15 -0
  183. data/spec/integration/install/after/Example/Example/AppDelegate.m +49 -0
  184. data/spec/integration/install/after/Example/Example/Example-Info.plist +38 -0
  185. data/spec/integration/install/after/Example/Example/Example-Prefix.pch +18 -0
  186. data/spec/integration/install/after/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  187. data/spec/integration/install/after/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  188. data/spec/integration/install/after/Example/Example/Resources/R.h +19 -0
  189. data/spec/integration/install/after/Example/Example/Resources/R.m +17 -0
  190. data/spec/integration/install/after/Example/Example/en.lproj/InfoPlist.strings +2 -0
  191. data/spec/integration/install/after/Example/Example/main.m +18 -0
  192. data/spec/integration/install/after/Example/Example.xcodeproj/project.pbxproj +898 -0
  193. data/spec/integration/install/after/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  194. data/spec/integration/install/after/Example/Example.xcodeproj.yaml +172 -0
  195. data/spec/integration/install/after/execution_output.txt +22 -0
  196. data/spec/integration/install/before/Example/Example/AppDelegate.h +15 -0
  197. data/spec/integration/install/before/Example/Example/AppDelegate.m +49 -0
  198. data/spec/integration/install/before/Example/Example/Example-Info.plist +38 -0
  199. data/spec/integration/install/before/Example/Example/Example-Prefix.pch +16 -0
  200. data/spec/integration/install/before/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  201. data/spec/integration/install/before/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  202. data/spec/integration/install/before/Example/Example/en.lproj/InfoPlist.strings +2 -0
  203. data/spec/integration/install/before/Example/Example/main.m +18 -0
  204. data/spec/integration/install/before/Example/Example.xcodeproj/project.pbxproj +421 -0
  205. data/spec/integration/install/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  206. data/spec/integration/install-again/after/Example/Example/AppDelegate.h +15 -0
  207. data/spec/integration/install-again/after/Example/Example/AppDelegate.m +49 -0
  208. data/spec/integration/install-again/after/Example/Example/Example-Info.plist +38 -0
  209. data/spec/integration/install-again/after/Example/Example/Example-Prefix.pch +18 -0
  210. data/spec/integration/install-again/after/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  211. data/spec/integration/install-again/after/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  212. data/spec/integration/install-again/after/Example/Example/Resources/R.h +19 -0
  213. data/spec/integration/install-again/after/Example/Example/Resources/R.m +17 -0
  214. data/spec/integration/install-again/after/Example/Example/en.lproj/InfoPlist.strings +2 -0
  215. data/spec/integration/install-again/after/Example/Example/main.m +18 -0
  216. data/spec/integration/install-again/after/Example/Example.xcodeproj.yaml +172 -0
  217. data/spec/integration/install-again/after/execution_output.txt +23 -0
  218. data/spec/integration/install-again/before/Example/Example/AppDelegate.h +15 -0
  219. data/spec/integration/install-again/before/Example/Example/AppDelegate.m +49 -0
  220. data/spec/integration/install-again/before/Example/Example/Example-Info.plist +38 -0
  221. data/spec/integration/install-again/before/Example/Example/Example-Prefix.pch +18 -0
  222. data/spec/integration/install-again/before/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  223. data/spec/integration/install-again/before/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  224. data/spec/integration/install-again/before/Example/Example/Resources/R.h +19 -0
  225. data/spec/integration/install-again/before/Example/Example/Resources/R.m +17 -0
  226. data/spec/integration/install-again/before/Example/Example/en.lproj/InfoPlist.strings +2 -0
  227. data/spec/integration/install-again/before/Example/Example/main.m +18 -0
  228. data/spec/integration/install-again/before/Example/Example.xcodeproj/project.pbxproj +898 -0
  229. data/spec/integration/install-again/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  230. data/spec/integration/install-moved-supporting-files/after/Example/Example.xcodeproj.yaml +173 -0
  231. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/Example-Info.plist +38 -0
  232. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/Example-Prefix.pch +18 -0
  233. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/Resources/R.h +19 -0
  234. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/Resources/R.m +17 -0
  235. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/en.lproj/InfoPlist.strings +2 -0
  236. data/spec/integration/install-moved-supporting-files/after/Example/Supporting_Files/main.m +18 -0
  237. data/spec/integration/install-moved-supporting-files/after/Example/res/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  238. data/spec/integration/install-moved-supporting-files/after/Example/res/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  239. data/spec/integration/install-moved-supporting-files/after/Example/src/AppDelegate.h +15 -0
  240. data/spec/integration/install-moved-supporting-files/after/Example/src/AppDelegate.m +49 -0
  241. data/spec/integration/install-moved-supporting-files/after/execution_output.txt +22 -0
  242. data/spec/integration/install-moved-supporting-files/before/Example/Example.xcodeproj/project.pbxproj +431 -0
  243. data/spec/integration/install-moved-supporting-files/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  244. data/spec/integration/install-moved-supporting-files/before/Example/Supporting_Files/Example-Info.plist +38 -0
  245. data/spec/integration/install-moved-supporting-files/before/Example/Supporting_Files/Example-Prefix.pch +16 -0
  246. data/spec/integration/install-moved-supporting-files/before/Example/Supporting_Files/en.lproj/InfoPlist.strings +2 -0
  247. data/spec/integration/install-moved-supporting-files/before/Example/Supporting_Files/main.m +18 -0
  248. data/spec/integration/install-moved-supporting-files/before/Example/res/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  249. data/spec/integration/install-moved-supporting-files/before/Example/res/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  250. data/spec/integration/install-moved-supporting-files/before/Example/src/AppDelegate.h +15 -0
  251. data/spec/integration/install-moved-supporting-files/before/Example/src/AppDelegate.m +49 -0
  252. data/spec/integration/install-no-supporting-files/after/Example/Example.xcodeproj.yaml +173 -0
  253. data/spec/integration/install-no-supporting-files/after/Example/Resources/R.h +19 -0
  254. data/spec/integration/install-no-supporting-files/after/Example/Resources/R.m +17 -0
  255. data/spec/integration/install-no-supporting-files/after/Example/Supporting_Files/Example-Info.plist +38 -0
  256. data/spec/integration/install-no-supporting-files/after/Example/Supporting_Files/Example-Prefix.pch +18 -0
  257. data/spec/integration/install-no-supporting-files/after/Example/Supporting_Files/en.lproj/InfoPlist.strings +2 -0
  258. data/spec/integration/install-no-supporting-files/after/Example/Supporting_Files/main.m +18 -0
  259. data/spec/integration/install-no-supporting-files/after/Example/res/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  260. data/spec/integration/install-no-supporting-files/after/Example/res/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  261. data/spec/integration/install-no-supporting-files/after/Example/src/AppDelegate.h +15 -0
  262. data/spec/integration/install-no-supporting-files/after/Example/src/AppDelegate.m +49 -0
  263. data/spec/integration/install-no-supporting-files/after/execution_output.txt +23 -0
  264. data/spec/integration/install-no-supporting-files/before/Example/Example.xcodeproj/project.pbxproj +430 -0
  265. data/spec/integration/install-no-supporting-files/before/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  266. data/spec/integration/install-no-supporting-files/before/Example/Supporting_Files/Example-Info.plist +38 -0
  267. data/spec/integration/install-no-supporting-files/before/Example/Supporting_Files/Example-Prefix.pch +16 -0
  268. data/spec/integration/install-no-supporting-files/before/Example/Supporting_Files/en.lproj/InfoPlist.strings +2 -0
  269. data/spec/integration/install-no-supporting-files/before/Example/Supporting_Files/main.m +18 -0
  270. data/spec/integration/install-no-supporting-files/before/Example/res/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  271. data/spec/integration/install-no-supporting-files/before/Example/res/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  272. data/spec/integration/install-no-supporting-files/before/Example/src/AppDelegate.h +15 -0
  273. data/spec/integration/install-no-supporting-files/before/Example/src/AppDelegate.m +49 -0
  274. data/spec/integration/version/after/execution_output.txt +3 -0
  275. data/spec/integration/version/before/.gitkeep +0 -0
  276. data/spec/integration.rb +86 -0
  277. data/spec/spec_helper/xcodeproj_project_yaml.rb +26 -0
  278. data/spec/unit/analyzer/aggregate_analyzer_spec.rb +61 -0
  279. data/spec/unit/analyzer/analyzer_spec.rb +123 -0
  280. data/spec/unit/analyzer/resources_aggregate_analyzer_spec.rb +46 -0
  281. data/spec/unit/analyzer/resources_analyzer/base_resources_analyzer_spec.rb +126 -0
  282. data/spec/unit/analyzer/resources_analyzer/bundle_resources_analyzer_spec.rb +57 -0
  283. data/spec/unit/analyzer/resources_analyzer/loose_resources_analyzer_spec.rb +22 -0
  284. data/spec/unit/analyzer/strings_analyzer_spec.rb +99 -0
  285. data/spec/unit/builder/file_builder_spec.rb +46 -0
  286. data/spec/unit/builder/resources_builder_spec.rb +50 -0
  287. data/spec/unit/builder/string_builder_spec.rb +76 -0
  288. data/spec/unit/command/main_command_spec.rb +5 -0
  289. data/spec/unit/command/project_command_spec.rb +23 -0
  290. data/spec/unit/helper/file_helper_spec.rb +24 -0
  291. data/spec/unit/logger_spec.rb +142 -0
  292. data/spec/unit/model/section_spec.rb +47 -0
  293. data/spec/unit/model/xcassets/bundle_spec.rb +154 -0
  294. data/spec/unit/model/xcassets/resource_image_spec.rb +141 -0
  295. data/spec/unit/model/xcassets/resource_spec.rb +174 -0
  296. data/spec/unit/model/xcassets/spec_helper.rb +31 -0
  297. data/spec/unit/spec_helper.rb +17 -0
  298. data/xcres.gemspec +42 -0
  299. metadata +811 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "scale" : "1x",
6
+ "filename" : "doge.png"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "scale" : "2x",
11
+ "filename" : "doge@2x.png"
12
+ }
13
+ ],
14
+ "info" : {
15
+ "version" : 1,
16
+ "author" : "xcode"
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "orientation" : "portrait",
5
+ "idiom" : "iphone",
6
+ "extent" : "full-screen",
7
+ "minimum-system-version" : "7.0",
8
+ "scale" : "2x"
9
+ },
10
+ {
11
+ "orientation" : "portrait",
12
+ "idiom" : "iphone",
13
+ "subtype" : "retina4",
14
+ "extent" : "full-screen",
15
+ "minimum-system-version" : "7.0",
16
+ "scale" : "2x"
17
+ }
18
+ ],
19
+ "info" : {
20
+ "version" : 1,
21
+ "author" : "xcode"
22
+ }
23
+ }
@@ -0,0 +1,12 @@
1
+ /*
2
+ File.strings
3
+ Example
4
+
5
+ Created by Marius Rackwitz on 01.05.14.
6
+ Copyright (c) 2014 XCRes. All rights reserved.
7
+ */
8
+
9
+ "foo" = "Foo String";
10
+ "bar" = "Bar String";
11
+ "example" = "Lorem Ipsum";
12
+ "de_exclusive" = "Nur in deutsch";
@@ -0,0 +1,2 @@
1
+ /* Localized versions of Info.plist keys */
2
+
@@ -0,0 +1,15 @@
1
+ /*
2
+ File.strings
3
+ Example
4
+
5
+ Created by Marius Rackwitz on 01.05.14.
6
+ Copyright (c) 2014 XCRes. All rights reserved.
7
+ */
8
+
9
+ // Foo Comment
10
+ "foo" = "Foo String";
11
+ "bar" = "Bar String";
12
+
13
+ // An Example Comment
14
+ "example" = "Lorem Ipsum";
15
+ "en_exclusive" = "Only in english";
@@ -0,0 +1,18 @@
1
+ //
2
+ // main.m
3
+ // Example
4
+ //
5
+ // Created by Marius Rackwitz on 01.05.14.
6
+ // Copyright (c) 2014 XCRes. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ #import "AppDelegate.h"
12
+
13
+ int main(int argc, char * argv[])
14
+ {
15
+ @autoreleasepool {
16
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
17
+ }
18
+ }
@@ -0,0 +1,449 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 711976B119A3A1BE005748B4 /* doge.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 711976AF19A3A1BE005748B4 /* doge.jpeg */; };
11
+ 71239DA81912BFF70058657F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DA71912BFF70058657F /* Foundation.framework */; };
12
+ 71239DAA1912BFF70058657F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DA91912BFF70058657F /* CoreGraphics.framework */; };
13
+ 71239DAC1912BFF70058657F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DAB1912BFF70058657F /* UIKit.framework */; };
14
+ 71239DB21912BFF80058657F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 71239DB01912BFF70058657F /* InfoPlist.strings */; };
15
+ 71239DB41912BFF80058657F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 71239DB31912BFF80058657F /* main.m */; };
16
+ 71239DB81912BFF80058657F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71239DB71912BFF80058657F /* AppDelegate.m */; };
17
+ 71239DBA1912BFF80058657F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 71239DB91912BFF80058657F /* Images.xcassets */; };
18
+ 71239DC11912BFF80058657F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DC01912BFF80058657F /* XCTest.framework */; };
19
+ 71239DC21912BFF80058657F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DA71912BFF70058657F /* Foundation.framework */; };
20
+ 71239DC31912BFF80058657F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71239DAB1912BFF70058657F /* UIKit.framework */; };
21
+ 71239DDC1912C07E0058657F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 71239DDE1912C07E0058657F /* Localizable.strings */; };
22
+ /* End PBXBuildFile section */
23
+
24
+ /* Begin PBXContainerItemProxy section */
25
+ 71239DC41912BFF80058657F /* PBXContainerItemProxy */ = {
26
+ isa = PBXContainerItemProxy;
27
+ containerPortal = 71239D9C1912BFF70058657F /* Project object */;
28
+ proxyType = 1;
29
+ remoteGlobalIDString = 71239DA31912BFF70058657F;
30
+ remoteInfo = Example;
31
+ };
32
+ /* End PBXContainerItemProxy section */
33
+
34
+ /* Begin PBXFileReference section */
35
+ 711976AF19A3A1BE005748B4 /* doge.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = doge.jpeg; sourceTree = "<group>"; };
36
+ 711976B019A3A1BE005748B4 /* nyanCat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = nyanCat.png; sourceTree = "<group>"; };
37
+ 71239DA41912BFF70058657F /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
38
+ 71239DA71912BFF70058657F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
39
+ 71239DA91912BFF70058657F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
40
+ 71239DAB1912BFF70058657F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
41
+ 71239DAF1912BFF70058657F /* Example-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Example-Info.plist"; sourceTree = "<group>"; };
42
+ 71239DB11912BFF80058657F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
43
+ 71239DB31912BFF80058657F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
44
+ 71239DB51912BFF80058657F /* Example-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Example-Prefix.pch"; sourceTree = "<group>"; };
45
+ 71239DB61912BFF80058657F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
46
+ 71239DB71912BFF80058657F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
47
+ 71239DB91912BFF80058657F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
48
+ 71239DBF1912BFF80058657F /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
49
+ 71239DC01912BFF80058657F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
50
+ 71239DDD1912C07E0058657F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
51
+ 71239DDF1912C1040058657F /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
52
+ /* End PBXFileReference section */
53
+
54
+ /* Begin PBXFrameworksBuildPhase section */
55
+ 71239DA11912BFF70058657F /* Frameworks */ = {
56
+ isa = PBXFrameworksBuildPhase;
57
+ buildActionMask = 2147483647;
58
+ files = (
59
+ 71239DAA1912BFF70058657F /* CoreGraphics.framework in Frameworks */,
60
+ 71239DAC1912BFF70058657F /* UIKit.framework in Frameworks */,
61
+ 71239DA81912BFF70058657F /* Foundation.framework in Frameworks */,
62
+ );
63
+ runOnlyForDeploymentPostprocessing = 0;
64
+ };
65
+ 71239DBC1912BFF80058657F /* Frameworks */ = {
66
+ isa = PBXFrameworksBuildPhase;
67
+ buildActionMask = 2147483647;
68
+ files = (
69
+ 71239DC11912BFF80058657F /* XCTest.framework in Frameworks */,
70
+ 71239DC31912BFF80058657F /* UIKit.framework in Frameworks */,
71
+ 71239DC21912BFF80058657F /* Foundation.framework in Frameworks */,
72
+ );
73
+ runOnlyForDeploymentPostprocessing = 0;
74
+ };
75
+ /* End PBXFrameworksBuildPhase section */
76
+
77
+ /* Begin PBXGroup section */
78
+ 711976AE19A3A1BD005748B4 /* Images */ = {
79
+ isa = PBXGroup;
80
+ children = (
81
+ 711976AF19A3A1BE005748B4 /* doge.jpeg */,
82
+ 711976B019A3A1BE005748B4 /* nyanCat.png */,
83
+ );
84
+ path = Images;
85
+ sourceTree = "<group>";
86
+ };
87
+ 71239D9B1912BFF70058657F = {
88
+ isa = PBXGroup;
89
+ children = (
90
+ 71239DAD1912BFF70058657F /* Example */,
91
+ 71239DA61912BFF70058657F /* Frameworks */,
92
+ 71239DA51912BFF70058657F /* Products */,
93
+ );
94
+ sourceTree = "<group>";
95
+ };
96
+ 71239DA51912BFF70058657F /* Products */ = {
97
+ isa = PBXGroup;
98
+ children = (
99
+ 71239DA41912BFF70058657F /* Example.app */,
100
+ 71239DBF1912BFF80058657F /* ExampleTests.xctest */,
101
+ );
102
+ name = Products;
103
+ sourceTree = "<group>";
104
+ };
105
+ 71239DA61912BFF70058657F /* Frameworks */ = {
106
+ isa = PBXGroup;
107
+ children = (
108
+ 71239DA71912BFF70058657F /* Foundation.framework */,
109
+ 71239DA91912BFF70058657F /* CoreGraphics.framework */,
110
+ 71239DAB1912BFF70058657F /* UIKit.framework */,
111
+ 71239DC01912BFF80058657F /* XCTest.framework */,
112
+ );
113
+ name = Frameworks;
114
+ sourceTree = "<group>";
115
+ };
116
+ 71239DAD1912BFF70058657F /* Example */ = {
117
+ isa = PBXGroup;
118
+ children = (
119
+ 71239DB61912BFF80058657F /* AppDelegate.h */,
120
+ 71239DB71912BFF80058657F /* AppDelegate.m */,
121
+ 71239DB91912BFF80058657F /* Images.xcassets */,
122
+ 711976AE19A3A1BD005748B4 /* Images */,
123
+ 71239DAE1912BFF70058657F /* Supporting Files */,
124
+ );
125
+ path = Example;
126
+ sourceTree = "<group>";
127
+ };
128
+ 71239DAE1912BFF70058657F /* Supporting Files */ = {
129
+ isa = PBXGroup;
130
+ children = (
131
+ 71239DAF1912BFF70058657F /* Example-Info.plist */,
132
+ 71239DB01912BFF70058657F /* InfoPlist.strings */,
133
+ 71239DB31912BFF80058657F /* main.m */,
134
+ 71239DB51912BFF80058657F /* Example-Prefix.pch */,
135
+ 71239DDE1912C07E0058657F /* Localizable.strings */,
136
+ );
137
+ name = "Supporting Files";
138
+ sourceTree = "<group>";
139
+ };
140
+ /* End PBXGroup section */
141
+
142
+ /* Begin PBXNativeTarget section */
143
+ 71239DA31912BFF70058657F /* Example */ = {
144
+ isa = PBXNativeTarget;
145
+ buildConfigurationList = 71239DD01912BFF80058657F /* Build configuration list for PBXNativeTarget "Example" */;
146
+ buildPhases = (
147
+ 71239DA01912BFF70058657F /* Sources */,
148
+ 71239DA11912BFF70058657F /* Frameworks */,
149
+ 71239DA21912BFF70058657F /* Resources */,
150
+ );
151
+ buildRules = (
152
+ );
153
+ dependencies = (
154
+ );
155
+ name = Example;
156
+ productName = Example;
157
+ productReference = 71239DA41912BFF70058657F /* Example.app */;
158
+ productType = "com.apple.product-type.application";
159
+ };
160
+ 71239DBE1912BFF80058657F /* ExampleTests */ = {
161
+ isa = PBXNativeTarget;
162
+ buildConfigurationList = 71239DD31912BFF80058657F /* Build configuration list for PBXNativeTarget "ExampleTests" */;
163
+ buildPhases = (
164
+ 71239DBB1912BFF80058657F /* Sources */,
165
+ 71239DBC1912BFF80058657F /* Frameworks */,
166
+ 71239DBD1912BFF80058657F /* Resources */,
167
+ );
168
+ buildRules = (
169
+ );
170
+ dependencies = (
171
+ 71239DC51912BFF80058657F /* PBXTargetDependency */,
172
+ );
173
+ name = ExampleTests;
174
+ productName = ExampleTests;
175
+ productReference = 71239DBF1912BFF80058657F /* ExampleTests.xctest */;
176
+ productType = "com.apple.product-type.bundle.unit-test";
177
+ };
178
+ /* End PBXNativeTarget section */
179
+
180
+ /* Begin PBXProject section */
181
+ 71239D9C1912BFF70058657F /* Project object */ = {
182
+ isa = PBXProject;
183
+ attributes = {
184
+ LastUpgradeCheck = 0510;
185
+ ORGANIZATIONNAME = XCRes;
186
+ TargetAttributes = {
187
+ 71239DBE1912BFF80058657F = {
188
+ TestTargetID = 71239DA31912BFF70058657F;
189
+ };
190
+ };
191
+ };
192
+ buildConfigurationList = 71239D9F1912BFF70058657F /* Build configuration list for PBXProject "Example" */;
193
+ compatibilityVersion = "Xcode 3.2";
194
+ developmentRegion = English;
195
+ hasScannedForEncodings = 0;
196
+ knownRegions = (
197
+ en,
198
+ de,
199
+ );
200
+ mainGroup = 71239D9B1912BFF70058657F;
201
+ productRefGroup = 71239DA51912BFF70058657F /* Products */;
202
+ projectDirPath = "";
203
+ projectRoot = "";
204
+ targets = (
205
+ 71239DA31912BFF70058657F /* Example */,
206
+ 71239DBE1912BFF80058657F /* ExampleTests */,
207
+ );
208
+ };
209
+ /* End PBXProject section */
210
+
211
+ /* Begin PBXResourcesBuildPhase section */
212
+ 71239DA21912BFF70058657F /* Resources */ = {
213
+ isa = PBXResourcesBuildPhase;
214
+ buildActionMask = 2147483647;
215
+ files = (
216
+ 711976B119A3A1BE005748B4 /* doge.jpeg in Resources */,
217
+ 71239DB21912BFF80058657F /* InfoPlist.strings in Resources */,
218
+ 71239DBA1912BFF80058657F /* Images.xcassets in Resources */,
219
+ 71239DDC1912C07E0058657F /* Localizable.strings in Resources */,
220
+ );
221
+ runOnlyForDeploymentPostprocessing = 0;
222
+ };
223
+ 71239DBD1912BFF80058657F /* Resources */ = {
224
+ isa = PBXResourcesBuildPhase;
225
+ buildActionMask = 2147483647;
226
+ files = (
227
+ );
228
+ runOnlyForDeploymentPostprocessing = 0;
229
+ };
230
+ /* End PBXResourcesBuildPhase section */
231
+
232
+ /* Begin PBXSourcesBuildPhase section */
233
+ 71239DA01912BFF70058657F /* Sources */ = {
234
+ isa = PBXSourcesBuildPhase;
235
+ buildActionMask = 2147483647;
236
+ files = (
237
+ 71239DB81912BFF80058657F /* AppDelegate.m in Sources */,
238
+ 71239DB41912BFF80058657F /* main.m in Sources */,
239
+ );
240
+ runOnlyForDeploymentPostprocessing = 0;
241
+ };
242
+ 71239DBB1912BFF80058657F /* Sources */ = {
243
+ isa = PBXSourcesBuildPhase;
244
+ buildActionMask = 2147483647;
245
+ files = (
246
+ );
247
+ runOnlyForDeploymentPostprocessing = 0;
248
+ };
249
+ /* End PBXSourcesBuildPhase section */
250
+
251
+ /* Begin PBXTargetDependency section */
252
+ 71239DC51912BFF80058657F /* PBXTargetDependency */ = {
253
+ isa = PBXTargetDependency;
254
+ target = 71239DA31912BFF70058657F /* Example */;
255
+ targetProxy = 71239DC41912BFF80058657F /* PBXContainerItemProxy */;
256
+ };
257
+ /* End PBXTargetDependency section */
258
+
259
+ /* Begin PBXVariantGroup section */
260
+ 71239DB01912BFF70058657F /* InfoPlist.strings */ = {
261
+ isa = PBXVariantGroup;
262
+ children = (
263
+ 71239DB11912BFF80058657F /* en */,
264
+ );
265
+ name = InfoPlist.strings;
266
+ sourceTree = "<group>";
267
+ };
268
+ 71239DDE1912C07E0058657F /* Localizable.strings */ = {
269
+ isa = PBXVariantGroup;
270
+ children = (
271
+ 71239DDD1912C07E0058657F /* en */,
272
+ 71239DDF1912C1040058657F /* de */,
273
+ );
274
+ name = Localizable.strings;
275
+ sourceTree = "<group>";
276
+ };
277
+ /* End PBXVariantGroup section */
278
+
279
+ /* Begin XCBuildConfiguration section */
280
+ 71239DCE1912BFF80058657F /* Debug */ = {
281
+ isa = XCBuildConfiguration;
282
+ buildSettings = {
283
+ ALWAYS_SEARCH_USER_PATHS = NO;
284
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
285
+ CLANG_CXX_LIBRARY = "libc++";
286
+ CLANG_ENABLE_MODULES = YES;
287
+ CLANG_ENABLE_OBJC_ARC = YES;
288
+ CLANG_WARN_BOOL_CONVERSION = YES;
289
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
290
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
291
+ CLANG_WARN_EMPTY_BODY = YES;
292
+ CLANG_WARN_ENUM_CONVERSION = YES;
293
+ CLANG_WARN_INT_CONVERSION = YES;
294
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
295
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
296
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
297
+ COPY_PHASE_STRIP = NO;
298
+ GCC_C_LANGUAGE_STANDARD = gnu99;
299
+ GCC_DYNAMIC_NO_PIC = NO;
300
+ GCC_OPTIMIZATION_LEVEL = 0;
301
+ GCC_PREPROCESSOR_DEFINITIONS = (
302
+ "DEBUG=1",
303
+ "$(inherited)",
304
+ );
305
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
306
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
307
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
308
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
309
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
310
+ GCC_WARN_UNUSED_FUNCTION = YES;
311
+ GCC_WARN_UNUSED_VARIABLE = YES;
312
+ IPHONEOS_DEPLOYMENT_TARGET = 7.1;
313
+ ONLY_ACTIVE_ARCH = YES;
314
+ SDKROOT = iphoneos;
315
+ };
316
+ name = Debug;
317
+ };
318
+ 71239DCF1912BFF80058657F /* Release */ = {
319
+ isa = XCBuildConfiguration;
320
+ buildSettings = {
321
+ ALWAYS_SEARCH_USER_PATHS = NO;
322
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
323
+ CLANG_CXX_LIBRARY = "libc++";
324
+ CLANG_ENABLE_MODULES = YES;
325
+ CLANG_ENABLE_OBJC_ARC = YES;
326
+ CLANG_WARN_BOOL_CONVERSION = YES;
327
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
328
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
329
+ CLANG_WARN_EMPTY_BODY = YES;
330
+ CLANG_WARN_ENUM_CONVERSION = YES;
331
+ CLANG_WARN_INT_CONVERSION = YES;
332
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
333
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
334
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
335
+ COPY_PHASE_STRIP = YES;
336
+ ENABLE_NS_ASSERTIONS = NO;
337
+ GCC_C_LANGUAGE_STANDARD = gnu99;
338
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
339
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
340
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
341
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
342
+ GCC_WARN_UNUSED_FUNCTION = YES;
343
+ GCC_WARN_UNUSED_VARIABLE = YES;
344
+ IPHONEOS_DEPLOYMENT_TARGET = 7.1;
345
+ SDKROOT = iphoneos;
346
+ VALIDATE_PRODUCT = YES;
347
+ };
348
+ name = Release;
349
+ };
350
+ 71239DD11912BFF80058657F /* Debug */ = {
351
+ isa = XCBuildConfiguration;
352
+ buildSettings = {
353
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
354
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
355
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
356
+ GCC_PREFIX_HEADER = "Example/Example-Prefix.pch";
357
+ INFOPLIST_FILE = "Example/Example-Info.plist";
358
+ PRODUCT_NAME = "$(TARGET_NAME)";
359
+ WRAPPER_EXTENSION = app;
360
+ };
361
+ name = Debug;
362
+ };
363
+ 71239DD21912BFF80058657F /* Release */ = {
364
+ isa = XCBuildConfiguration;
365
+ buildSettings = {
366
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
367
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
368
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
369
+ GCC_PREFIX_HEADER = "Example/Example-Prefix.pch";
370
+ INFOPLIST_FILE = "Example/Example-Info.plist";
371
+ PRODUCT_NAME = "$(TARGET_NAME)";
372
+ WRAPPER_EXTENSION = app;
373
+ };
374
+ name = Release;
375
+ };
376
+ 71239DD41912BFF80058657F /* Debug */ = {
377
+ isa = XCBuildConfiguration;
378
+ buildSettings = {
379
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Example.app/Example";
380
+ FRAMEWORK_SEARCH_PATHS = (
381
+ "$(SDKROOT)/Developer/Library/Frameworks",
382
+ "$(inherited)",
383
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
384
+ );
385
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
386
+ GCC_PREFIX_HEADER = "Example/Example-Prefix.pch";
387
+ GCC_PREPROCESSOR_DEFINITIONS = (
388
+ "DEBUG=1",
389
+ "$(inherited)",
390
+ );
391
+ INFOPLIST_FILE = "ExampleTests/ExampleTests-Info.plist";
392
+ PRODUCT_NAME = "$(TARGET_NAME)";
393
+ TEST_HOST = "$(BUNDLE_LOADER)";
394
+ WRAPPER_EXTENSION = xctest;
395
+ };
396
+ name = Debug;
397
+ };
398
+ 71239DD51912BFF80058657F /* Release */ = {
399
+ isa = XCBuildConfiguration;
400
+ buildSettings = {
401
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Example.app/Example";
402
+ FRAMEWORK_SEARCH_PATHS = (
403
+ "$(SDKROOT)/Developer/Library/Frameworks",
404
+ "$(inherited)",
405
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
406
+ );
407
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
408
+ GCC_PREFIX_HEADER = "Example/Example-Prefix.pch";
409
+ INFOPLIST_FILE = "ExampleTests/ExampleTests-Info.plist";
410
+ PRODUCT_NAME = "$(TARGET_NAME)";
411
+ TEST_HOST = "$(BUNDLE_LOADER)";
412
+ WRAPPER_EXTENSION = xctest;
413
+ };
414
+ name = Release;
415
+ };
416
+ /* End XCBuildConfiguration section */
417
+
418
+ /* Begin XCConfigurationList section */
419
+ 71239D9F1912BFF70058657F /* Build configuration list for PBXProject "Example" */ = {
420
+ isa = XCConfigurationList;
421
+ buildConfigurations = (
422
+ 71239DCE1912BFF80058657F /* Debug */,
423
+ 71239DCF1912BFF80058657F /* Release */,
424
+ );
425
+ defaultConfigurationIsVisible = 0;
426
+ defaultConfigurationName = Release;
427
+ };
428
+ 71239DD01912BFF80058657F /* Build configuration list for PBXNativeTarget "Example" */ = {
429
+ isa = XCConfigurationList;
430
+ buildConfigurations = (
431
+ 71239DD11912BFF80058657F /* Debug */,
432
+ 71239DD21912BFF80058657F /* Release */,
433
+ );
434
+ defaultConfigurationIsVisible = 0;
435
+ defaultConfigurationName = Release;
436
+ };
437
+ 71239DD31912BFF80058657F /* Build configuration list for PBXNativeTarget "ExampleTests" */ = {
438
+ isa = XCConfigurationList;
439
+ buildConfigurations = (
440
+ 71239DD41912BFF80058657F /* Debug */,
441
+ 71239DD51912BFF80058657F /* Release */,
442
+ );
443
+ defaultConfigurationIsVisible = 0;
444
+ defaultConfigurationName = Release;
445
+ };
446
+ /* End XCConfigurationList section */
447
+ };
448
+ rootObject = 71239D9C1912BFF70058657F /* Project object */;
449
+ }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:Example.xcodeproj">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,15 @@
1
+ //
2
+ // AppDelegate.h
3
+ // ExampleOSX
4
+ //
5
+ // Created by Marius Rackwitz on 12.05.14.
6
+ // Copyright (c) 2014 XCRes. All rights reserved.
7
+ //
8
+
9
+ #import <Cocoa/Cocoa.h>
10
+
11
+ @interface AppDelegate : NSObject <NSApplicationDelegate>
12
+
13
+ @property (assign) IBOutlet NSWindow *window;
14
+
15
+ @end
@@ -0,0 +1,18 @@
1
+ //
2
+ // AppDelegate.m
3
+ // ExampleOSX
4
+ //
5
+ // Created by Marius Rackwitz on 12.05.14.
6
+ // Copyright (c) 2014 XCRes. All rights reserved.
7
+ //
8
+
9
+ #import "AppDelegate.h"
10
+
11
+ @implementation AppDelegate
12
+
13
+ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
14
+ {
15
+ // Insert code here to initialize your application
16
+ }
17
+
18
+ @end