aka RedditBar, Mac OS X menu bar reddit client
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

project.pbxproj 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 46;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. E90E74B4184FAA0F00F38929 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E90E74B2184FAA0F00F38929 /* Localizable.strings */; };
  10. E9341914184A1A1A00D03488 /* StateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9341913184A1A1A00D03488 /* StateModel.m */; };
  11. E934191B184A47DE00D03488 /* Prefs.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9341919184A47DE00D03488 /* Prefs.xib */; };
  12. E9A129B1184BD24000F50D1D /* RedditItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E9A129B0184BD24000F50D1D /* RedditItem.m */; };
  13. E9B6773E184B73DC00850559 /* Reddit.m in Sources */ = {isa = PBXBuildFile; fileRef = E9B6773D184B73DC00850559 /* Reddit.m */; };
  14. E9BA9EB2186F63D600D147BC /* BaconBarHelper.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9BA9EAF186F63C400D147BC /* BaconBarHelper.app */; };
  15. E9C32422186E49F000B41515 /* ServiceManagement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9C32421186E49F000B41515 /* ServiceManagement.framework */; };
  16. E9CF1F21184961010004AE02 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9CF1F20184961010004AE02 /* Cocoa.framework */; };
  17. E9CF1F2B184961010004AE02 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E9CF1F29184961010004AE02 /* InfoPlist.strings */; };
  18. E9CF1F2D184961010004AE02 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E9CF1F2C184961010004AE02 /* main.m */; };
  19. E9CF1F31184961010004AE02 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = E9CF1F2F184961010004AE02 /* Credits.rtf */; };
  20. E9CF1F34184961010004AE02 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E9CF1F33184961010004AE02 /* AppDelegate.m */; };
  21. E9CF1F37184961020004AE02 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9CF1F35184961020004AE02 /* MainMenu.xib */; };
  22. E9CF1F39184961020004AE02 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E9CF1F38184961020004AE02 /* Images.xcassets */; };
  23. E9CF1F5C1849685C0004AE02 /* PrefController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9CF1F5B1849685C0004AE02 /* PrefController.m */; };
  24. E9F64A2E185E1E2900D6CA16 /* PrefWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F64A2D185E1E2900D6CA16 /* PrefWindow.m */; };
  25. /* End PBXBuildFile section */
  26. /* Begin PBXContainerItemProxy section */
  27. E9BA9EAE186F63C400D147BC /* PBXContainerItemProxy */ = {
  28. isa = PBXContainerItemProxy;
  29. containerPortal = E9BA9EA9186F63C400D147BC /* BaconBarHelper.xcodeproj */;
  30. proxyType = 2;
  31. remoteGlobalIDString = E922AEF7186F5F790038E4D7;
  32. remoteInfo = BaconBarHelper;
  33. };
  34. /* End PBXContainerItemProxy section */
  35. /* Begin PBXCopyFilesBuildPhase section */
  36. E9C32454186E4CF900B41515 /* CopyFiles */ = {
  37. isa = PBXCopyFilesBuildPhase;
  38. buildActionMask = 2147483647;
  39. dstPath = Contents/Library/LoginItems;
  40. dstSubfolderSpec = 1;
  41. files = (
  42. E9BA9EB2186F63D600D147BC /* BaconBarHelper.app in CopyFiles */,
  43. );
  44. runOnlyForDeploymentPostprocessing = 0;
  45. };
  46. /* End PBXCopyFilesBuildPhase section */
  47. /* Begin PBXFileReference section */
  48. E90E74B3184FAA0F00F38929 /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
  49. E90E74B6184FAADE00F38929 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = "<group>"; };
  50. E90E74B7184FAADE00F38929 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Prefs.strings; sourceTree = "<group>"; };
  51. E90E74B8184FAADE00F38929 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
  52. E90E74B9184FAADE00F38929 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
  53. E90E74BA184FAADE00F38929 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = de; path = de.lproj/Credits.rtf; sourceTree = "<group>"; };
  54. E9341912184A1A1A00D03488 /* StateModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StateModel.h; sourceTree = "<group>"; };
  55. E9341913184A1A1A00D03488 /* StateModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StateModel.m; sourceTree = "<group>"; };
  56. E934191A184A47DE00D03488 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Prefs.xib; sourceTree = "<group>"; };
  57. E97FD65F185232D5006B5B3E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Prefs.strings; sourceTree = "<group>"; };
  58. E98FE550186F6ED800A94AAC /* BaconBar.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = BaconBar.entitlements; path = ../BaconBar.entitlements; sourceTree = "<group>"; };
  59. E9A129AF184BD24000F50D1D /* RedditItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RedditItem.h; sourceTree = "<group>"; };
  60. E9A129B0184BD24000F50D1D /* RedditItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RedditItem.m; sourceTree = "<group>"; };
  61. E9A72EF0186F66EC009ECE8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = "<group>"; };
  62. E9B6773C184B73DC00850559 /* Reddit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reddit.h; sourceTree = "<group>"; };
  63. E9B6773D184B73DC00850559 /* Reddit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reddit.m; sourceTree = "<group>"; };
  64. E9BA9EA9186F63C400D147BC /* BaconBarHelper.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = BaconBarHelper.xcodeproj; sourceTree = "<group>"; };
  65. E9C32421186E49F000B41515 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; };
  66. E9CF1F1D184961010004AE02 /* BaconBar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BaconBar.app; sourceTree = BUILT_PRODUCTS_DIR; };
  67. E9CF1F20184961010004AE02 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
  68. E9CF1F23184961010004AE02 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
  69. E9CF1F24184961010004AE02 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
  70. E9CF1F25184961010004AE02 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
  71. E9CF1F28184961010004AE02 /* BaconBar-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BaconBar-Info.plist"; sourceTree = "<group>"; };
  72. E9CF1F2A184961010004AE02 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
  73. E9CF1F2C184961010004AE02 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
  74. E9CF1F2E184961010004AE02 /* BaconBar-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BaconBar-Prefix.pch"; sourceTree = "<group>"; };
  75. E9CF1F30184961010004AE02 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
  76. E9CF1F32184961010004AE02 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
  77. E9CF1F33184961010004AE02 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
  78. E9CF1F36184961020004AE02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
  79. E9CF1F38184961020004AE02 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
  80. E9CF1F3F184961020004AE02 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
  81. E9CF1F5A1849685C0004AE02 /* PrefController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefController.h; sourceTree = "<group>"; };
  82. E9CF1F5B1849685C0004AE02 /* PrefController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrefController.m; sourceTree = "<group>"; };
  83. E9F64A2C185E1E2900D6CA16 /* PrefWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefWindow.h; sourceTree = "<group>"; };
  84. E9F64A2D185E1E2900D6CA16 /* PrefWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrefWindow.m; sourceTree = "<group>"; };
  85. /* End PBXFileReference section */
  86. /* Begin PBXFrameworksBuildPhase section */
  87. E9CF1F1A184961010004AE02 /* Frameworks */ = {
  88. isa = PBXFrameworksBuildPhase;
  89. buildActionMask = 2147483647;
  90. files = (
  91. E9C32422186E49F000B41515 /* ServiceManagement.framework in Frameworks */,
  92. E9CF1F21184961010004AE02 /* Cocoa.framework in Frameworks */,
  93. );
  94. runOnlyForDeploymentPostprocessing = 0;
  95. };
  96. /* End PBXFrameworksBuildPhase section */
  97. /* Begin PBXGroup section */
  98. E9BA9EAA186F63C400D147BC /* Products */ = {
  99. isa = PBXGroup;
  100. children = (
  101. E9BA9EAF186F63C400D147BC /* BaconBarHelper.app */,
  102. );
  103. name = Products;
  104. sourceTree = "<group>";
  105. };
  106. E9CF1F14184961010004AE02 = {
  107. isa = PBXGroup;
  108. children = (
  109. E9BA9EA9186F63C400D147BC /* BaconBarHelper.xcodeproj */,
  110. E9CF1F26184961010004AE02 /* BaconBar */,
  111. E9CF1F1F184961010004AE02 /* Frameworks */,
  112. E9CF1F1E184961010004AE02 /* Products */,
  113. );
  114. sourceTree = "<group>";
  115. };
  116. E9CF1F1E184961010004AE02 /* Products */ = {
  117. isa = PBXGroup;
  118. children = (
  119. E9CF1F1D184961010004AE02 /* BaconBar.app */,
  120. );
  121. name = Products;
  122. sourceTree = "<group>";
  123. };
  124. E9CF1F1F184961010004AE02 /* Frameworks */ = {
  125. isa = PBXGroup;
  126. children = (
  127. E9C32421186E49F000B41515 /* ServiceManagement.framework */,
  128. E9CF1F20184961010004AE02 /* Cocoa.framework */,
  129. E9CF1F3F184961020004AE02 /* XCTest.framework */,
  130. E9CF1F22184961010004AE02 /* Other Frameworks */,
  131. );
  132. name = Frameworks;
  133. sourceTree = "<group>";
  134. };
  135. E9CF1F22184961010004AE02 /* Other Frameworks */ = {
  136. isa = PBXGroup;
  137. children = (
  138. E9CF1F23184961010004AE02 /* AppKit.framework */,
  139. E9CF1F24184961010004AE02 /* CoreData.framework */,
  140. E9CF1F25184961010004AE02 /* Foundation.framework */,
  141. );
  142. name = "Other Frameworks";
  143. sourceTree = "<group>";
  144. };
  145. E9CF1F26184961010004AE02 /* BaconBar */ = {
  146. isa = PBXGroup;
  147. children = (
  148. E98FE550186F6ED800A94AAC /* BaconBar.entitlements */,
  149. E9CF1F32184961010004AE02 /* AppDelegate.h */,
  150. E9CF1F33184961010004AE02 /* AppDelegate.m */,
  151. E9B6773C184B73DC00850559 /* Reddit.h */,
  152. E9B6773D184B73DC00850559 /* Reddit.m */,
  153. E9A129AF184BD24000F50D1D /* RedditItem.h */,
  154. E9A129B0184BD24000F50D1D /* RedditItem.m */,
  155. E9341912184A1A1A00D03488 /* StateModel.h */,
  156. E9341913184A1A1A00D03488 /* StateModel.m */,
  157. E9CF1F5A1849685C0004AE02 /* PrefController.h */,
  158. E9CF1F5B1849685C0004AE02 /* PrefController.m */,
  159. E9F64A2C185E1E2900D6CA16 /* PrefWindow.h */,
  160. E9F64A2D185E1E2900D6CA16 /* PrefWindow.m */,
  161. E9CF1F35184961020004AE02 /* MainMenu.xib */,
  162. E9341919184A47DE00D03488 /* Prefs.xib */,
  163. E90E74B2184FAA0F00F38929 /* Localizable.strings */,
  164. E9CF1F38184961020004AE02 /* Images.xcassets */,
  165. E9CF1F27184961010004AE02 /* Supporting Files */,
  166. );
  167. name = BaconBar;
  168. path = RedditBar;
  169. sourceTree = "<group>";
  170. };
  171. E9CF1F27184961010004AE02 /* Supporting Files */ = {
  172. isa = PBXGroup;
  173. children = (
  174. E9CF1F28184961010004AE02 /* BaconBar-Info.plist */,
  175. E9CF1F29184961010004AE02 /* InfoPlist.strings */,
  176. E9CF1F2C184961010004AE02 /* main.m */,
  177. E9CF1F2E184961010004AE02 /* BaconBar-Prefix.pch */,
  178. E9CF1F2F184961010004AE02 /* Credits.rtf */,
  179. );
  180. name = "Supporting Files";
  181. sourceTree = "<group>";
  182. };
  183. /* End PBXGroup section */
  184. /* Begin PBXNativeTarget section */
  185. E9CF1F1C184961010004AE02 /* BaconBar */ = {
  186. isa = PBXNativeTarget;
  187. buildConfigurationList = E9CF1F4E184961020004AE02 /* Build configuration list for PBXNativeTarget "BaconBar" */;
  188. buildPhases = (
  189. E9CF1F19184961010004AE02 /* Sources */,
  190. E9CF1F1A184961010004AE02 /* Frameworks */,
  191. E9341915184A3A6500D03488 /* ShellScript */,
  192. E9CF1F1B184961010004AE02 /* Resources */,
  193. E97FD65D185231D0006B5B3E /* Run Script */,
  194. E9C32454186E4CF900B41515 /* CopyFiles */,
  195. );
  196. buildRules = (
  197. );
  198. dependencies = (
  199. );
  200. name = BaconBar;
  201. productName = RedditBar;
  202. productReference = E9CF1F1D184961010004AE02 /* BaconBar.app */;
  203. productType = "com.apple.product-type.application";
  204. };
  205. /* End PBXNativeTarget section */
  206. /* Begin PBXProject section */
  207. E9CF1F15184961010004AE02 /* Project object */ = {
  208. isa = PBXProject;
  209. attributes = {
  210. LastUpgradeCheck = 0500;
  211. ORGANIZATIONNAME = xythobuz;
  212. TargetAttributes = {
  213. E9CF1F1C184961010004AE02 = {
  214. DevelopmentTeam = 2YRH3A6P3C;
  215. SystemCapabilities = {
  216. com.apple.Sandbox = {
  217. enabled = 1;
  218. };
  219. };
  220. };
  221. };
  222. };
  223. buildConfigurationList = E9CF1F18184961010004AE02 /* Build configuration list for PBXProject "BaconBar" */;
  224. compatibilityVersion = "Xcode 3.2";
  225. developmentRegion = English;
  226. hasScannedForEncodings = 0;
  227. knownRegions = (
  228. en,
  229. Base,
  230. de,
  231. );
  232. mainGroup = E9CF1F14184961010004AE02;
  233. productRefGroup = E9CF1F1E184961010004AE02 /* Products */;
  234. projectDirPath = "";
  235. projectReferences = (
  236. {
  237. ProductGroup = E9BA9EAA186F63C400D147BC /* Products */;
  238. ProjectRef = E9BA9EA9186F63C400D147BC /* BaconBarHelper.xcodeproj */;
  239. },
  240. );
  241. projectRoot = "";
  242. targets = (
  243. E9CF1F1C184961010004AE02 /* BaconBar */,
  244. );
  245. };
  246. /* End PBXProject section */
  247. /* Begin PBXReferenceProxy section */
  248. E9BA9EAF186F63C400D147BC /* BaconBarHelper.app */ = {
  249. isa = PBXReferenceProxy;
  250. fileType = wrapper.application;
  251. path = BaconBarHelper.app;
  252. remoteRef = E9BA9EAE186F63C400D147BC /* PBXContainerItemProxy */;
  253. sourceTree = BUILT_PRODUCTS_DIR;
  254. };
  255. /* End PBXReferenceProxy section */
  256. /* Begin PBXResourcesBuildPhase section */
  257. E9CF1F1B184961010004AE02 /* Resources */ = {
  258. isa = PBXResourcesBuildPhase;
  259. buildActionMask = 2147483647;
  260. files = (
  261. E9CF1F2B184961010004AE02 /* InfoPlist.strings in Resources */,
  262. E90E74B4184FAA0F00F38929 /* Localizable.strings in Resources */,
  263. E9CF1F39184961020004AE02 /* Images.xcassets in Resources */,
  264. E9CF1F31184961010004AE02 /* Credits.rtf in Resources */,
  265. E9CF1F37184961020004AE02 /* MainMenu.xib in Resources */,
  266. E934191B184A47DE00D03488 /* Prefs.xib in Resources */,
  267. );
  268. runOnlyForDeploymentPostprocessing = 0;
  269. };
  270. /* End PBXResourcesBuildPhase section */
  271. /* Begin PBXShellScriptBuildPhase section */
  272. E9341915184A3A6500D03488 /* ShellScript */ = {
  273. isa = PBXShellScriptBuildPhase;
  274. buildActionMask = 2147483647;
  275. files = (
  276. );
  277. inputPaths = (
  278. );
  279. outputPaths = (
  280. );
  281. runOnlyForDeploymentPostprocessing = 0;
  282. shellPath = /bin/sh;
  283. shellScript = "buildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\")\nbuildNumber=$(($buildNumber + 1))\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\"";
  284. };
  285. E97FD65D185231D0006B5B3E /* Run Script */ = {
  286. isa = PBXShellScriptBuildPhase;
  287. buildActionMask = 2147483647;
  288. files = (
  289. );
  290. inputPaths = (
  291. );
  292. name = "Run Script";
  293. outputPaths = (
  294. );
  295. runOnlyForDeploymentPostprocessing = 0;
  296. shellPath = /bin/sh;
  297. shellScript = "# update_storyboard_strings.sh - automatically extract translatable strings from storyboards and update strings files\n# Based on http://forums.macrumors.com/showpost.php?p=16060008&postcount=4 by mikezang\n\n# Also regenerate Localizable.strings\nfind . -name RedditBar\\*.m | xargs genstrings -o en.lproj\n\nstoryboardExt=\".xib\"\nstringsExt=\".strings\"\nnewStringsExt=\".strings.new\"\noldStringsExt=\".strings.old\"\nlocaleDirExt=\".lproj\"\n\n# Find storyboard file full path inside project folder\nfor storyboardPath in `find . -name \"*$storyboardExt\" -print`\ndo\n# Get Base strings file full path\nbaseStringsPath=$(echo \"$storyboardPath\" | sed \"s/$storyboardExt/$stringsExt/\")\n\n# Create base strings file if it doesn't exist\nif ! [ -f $baseStringsPath ]; then\ntouch -r $storyboardPath $baseStringsPath\n# Make base strings file older than the storyboard file\ntouch -A -01 $baseStringsPath\nfi\n\n# Create strings file only when storyboard file newer\nif find $storyboardPath -prune -newer $baseStringsPath -print | grep -q .; then\n# Get storyboard file name and folder\nstoryboardFile=$(basename \"$storyboardPath\")\nstoryboardDir=$(dirname \"$storyboardPath\")\n\n# Get New Base strings file full path and strings file name\nnewBaseStringsPath=$(echo \"$storyboardPath\" | sed \"s/$storyboardExt/$newStringsExt/\")\nstringsFile=$(basename \"$baseStringsPath\")\nibtool --export-strings-file $newBaseStringsPath $storyboardPath\niconv -f UTF-16 -t UTF-8 $newBaseStringsPath > $baseStringsPath\nrm $newBaseStringsPath\n\n# Get all locale strings folder\nfor localeStringsDir in `find . -name \"*$localeDirExt\" -print`\ndo\n# Skip Base strings folder\nif [ $localeStringsDir != $storyboardDir ]; then\nlocaleStringsPath=$localeStringsDir/$stringsFile\n\n# Just copy base strings file on first time\nif [ ! -e $localeStringsPath ]; then\ncp $baseStringsPath $localeStringsPath\nelse\noldLocaleStringsPath=$(echo \"$localeStringsPath\" | sed \"s/$stringsExt/$oldStringsExt/\")\ncp $localeStringsPath $oldLocaleStringsPath\n\n# Merge baseStringsPath to localeStringsPath\nawk 'NR == FNR && /^\\/\\*/ {x=$0; getline; a[x]=$0; next} /^\\/\\*/ {x=$0; print; getline; $0=a[x]?a[x]:$0; printf $0\"\\n\\n\"}' $oldLocaleStringsPath $baseStringsPath > $localeStringsPath\n\nrm $oldLocaleStringsPath\nfi\nfi\ndone\nelse\necho \"$storyboardPath file not modified.\"\nfi\ndone";
  298. };
  299. /* End PBXShellScriptBuildPhase section */
  300. /* Begin PBXSourcesBuildPhase section */
  301. E9CF1F19184961010004AE02 /* Sources */ = {
  302. isa = PBXSourcesBuildPhase;
  303. buildActionMask = 2147483647;
  304. files = (
  305. E9CF1F34184961010004AE02 /* AppDelegate.m in Sources */,
  306. E9341914184A1A1A00D03488 /* StateModel.m in Sources */,
  307. E9A129B1184BD24000F50D1D /* RedditItem.m in Sources */,
  308. E9CF1F2D184961010004AE02 /* main.m in Sources */,
  309. E9CF1F5C1849685C0004AE02 /* PrefController.m in Sources */,
  310. E9F64A2E185E1E2900D6CA16 /* PrefWindow.m in Sources */,
  311. E9B6773E184B73DC00850559 /* Reddit.m in Sources */,
  312. );
  313. runOnlyForDeploymentPostprocessing = 0;
  314. };
  315. /* End PBXSourcesBuildPhase section */
  316. /* Begin PBXVariantGroup section */
  317. E90E74B2184FAA0F00F38929 /* Localizable.strings */ = {
  318. isa = PBXVariantGroup;
  319. children = (
  320. E90E74B3184FAA0F00F38929 /* en */,
  321. E90E74B8184FAADE00F38929 /* de */,
  322. );
  323. name = Localizable.strings;
  324. sourceTree = "<group>";
  325. };
  326. E9341919184A47DE00D03488 /* Prefs.xib */ = {
  327. isa = PBXVariantGroup;
  328. children = (
  329. E934191A184A47DE00D03488 /* Base */,
  330. E90E74B7184FAADE00F38929 /* de */,
  331. E97FD65F185232D5006B5B3E /* en */,
  332. );
  333. name = Prefs.xib;
  334. sourceTree = "<group>";
  335. };
  336. E9CF1F29184961010004AE02 /* InfoPlist.strings */ = {
  337. isa = PBXVariantGroup;
  338. children = (
  339. E9CF1F2A184961010004AE02 /* en */,
  340. E90E74B9184FAADE00F38929 /* de */,
  341. );
  342. name = InfoPlist.strings;
  343. sourceTree = "<group>";
  344. };
  345. E9CF1F2F184961010004AE02 /* Credits.rtf */ = {
  346. isa = PBXVariantGroup;
  347. children = (
  348. E9CF1F30184961010004AE02 /* en */,
  349. E90E74BA184FAADE00F38929 /* de */,
  350. );
  351. name = Credits.rtf;
  352. sourceTree = "<group>";
  353. };
  354. E9CF1F35184961020004AE02 /* MainMenu.xib */ = {
  355. isa = PBXVariantGroup;
  356. children = (
  357. E9CF1F36184961020004AE02 /* Base */,
  358. E90E74B6184FAADE00F38929 /* de */,
  359. E9A72EF0186F66EC009ECE8C /* en */,
  360. );
  361. name = MainMenu.xib;
  362. sourceTree = "<group>";
  363. };
  364. /* End PBXVariantGroup section */
  365. /* Begin XCBuildConfiguration section */
  366. E9CF1F4C184961020004AE02 /* Debug */ = {
  367. isa = XCBuildConfiguration;
  368. buildSettings = {
  369. ALWAYS_SEARCH_USER_PATHS = NO;
  370. CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  371. CLANG_CXX_LIBRARY = "libc++";
  372. CLANG_ENABLE_OBJC_ARC = YES;
  373. CLANG_WARN_BOOL_CONVERSION = YES;
  374. CLANG_WARN_CONSTANT_CONVERSION = YES;
  375. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  376. CLANG_WARN_EMPTY_BODY = YES;
  377. CLANG_WARN_ENUM_CONVERSION = YES;
  378. CLANG_WARN_INT_CONVERSION = YES;
  379. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  380. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  381. COPY_PHASE_STRIP = NO;
  382. GCC_C_LANGUAGE_STANDARD = gnu99;
  383. GCC_DYNAMIC_NO_PIC = NO;
  384. GCC_ENABLE_OBJC_EXCEPTIONS = YES;
  385. GCC_OPTIMIZATION_LEVEL = 0;
  386. GCC_PREPROCESSOR_DEFINITIONS = (
  387. "DEBUG=1",
  388. "$(inherited)",
  389. );
  390. GCC_SYMBOLS_PRIVATE_EXTERN = NO;
  391. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  392. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  393. GCC_WARN_UNDECLARED_SELECTOR = YES;
  394. GCC_WARN_UNINITIALIZED_AUTOS = YES;
  395. GCC_WARN_UNUSED_FUNCTION = YES;
  396. GCC_WARN_UNUSED_VARIABLE = YES;
  397. MACOSX_DEPLOYMENT_TARGET = 10.8;
  398. ONLY_ACTIVE_ARCH = YES;
  399. SDKROOT = macosx10.8;
  400. };
  401. name = Debug;
  402. };
  403. E9CF1F4D184961020004AE02 /* Release */ = {
  404. isa = XCBuildConfiguration;
  405. buildSettings = {
  406. ALWAYS_SEARCH_USER_PATHS = NO;
  407. CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  408. CLANG_CXX_LIBRARY = "libc++";
  409. CLANG_ENABLE_OBJC_ARC = YES;
  410. CLANG_WARN_BOOL_CONVERSION = YES;
  411. CLANG_WARN_CONSTANT_CONVERSION = YES;
  412. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  413. CLANG_WARN_EMPTY_BODY = YES;
  414. CLANG_WARN_ENUM_CONVERSION = YES;
  415. CLANG_WARN_INT_CONVERSION = YES;
  416. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  417. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  418. COPY_PHASE_STRIP = YES;
  419. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  420. ENABLE_NS_ASSERTIONS = NO;
  421. GCC_C_LANGUAGE_STANDARD = gnu99;
  422. GCC_ENABLE_OBJC_EXCEPTIONS = YES;
  423. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  424. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  425. GCC_WARN_UNDECLARED_SELECTOR = YES;
  426. GCC_WARN_UNINITIALIZED_AUTOS = YES;
  427. GCC_WARN_UNUSED_FUNCTION = YES;
  428. GCC_WARN_UNUSED_VARIABLE = YES;
  429. MACOSX_DEPLOYMENT_TARGET = 10.8;
  430. SDKROOT = macosx10.8;
  431. };
  432. name = Release;
  433. };
  434. E9CF1F4F184961020004AE02 /* Debug */ = {
  435. isa = XCBuildConfiguration;
  436. buildSettings = {
  437. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  438. CODE_SIGN_ENTITLEMENTS = BaconBar.entitlements;
  439. CODE_SIGN_IDENTITY = "Mac Developer";
  440. COMBINE_HIDPI_IMAGES = YES;
  441. GCC_PRECOMPILE_PREFIX_HEADER = YES;
  442. GCC_PREFIX_HEADER = "RedditBar/BaconBar-Prefix.pch";
  443. INFOPLIST_FILE = "RedditBar/BaconBar-Info.plist";
  444. MACOSX_DEPLOYMENT_TARGET = 10.8;
  445. PRODUCT_NAME = BaconBar;
  446. PROVISIONING_PROFILE = "807F62BD-EA53-4E77-97C2-42370C9062A3";
  447. SDKROOT = macosx10.8;
  448. WRAPPER_EXTENSION = app;
  449. };
  450. name = Debug;
  451. };
  452. E9CF1F50184961020004AE02 /* Release */ = {
  453. isa = XCBuildConfiguration;
  454. buildSettings = {
  455. ARCHS = "$(ARCHS_STANDARD)";
  456. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  457. CODE_SIGN_ENTITLEMENTS = BaconBar.entitlements;
  458. CODE_SIGN_IDENTITY = "Mac Developer";
  459. COMBINE_HIDPI_IMAGES = YES;
  460. COPY_PHASE_STRIP = NO;
  461. GCC_PRECOMPILE_PREFIX_HEADER = YES;
  462. GCC_PREFIX_HEADER = "RedditBar/BaconBar-Prefix.pch";
  463. INFOPLIST_FILE = "RedditBar/BaconBar-Info.plist";
  464. MACOSX_DEPLOYMENT_TARGET = 10.8;
  465. PRODUCT_NAME = BaconBar;
  466. PROVISIONING_PROFILE = "B8EDDE6B-0381-4CB9-A945-041CCCB5EA7E";
  467. SDKROOT = macosx10.8;
  468. WRAPPER_EXTENSION = app;
  469. };
  470. name = Release;
  471. };
  472. /* End XCBuildConfiguration section */
  473. /* Begin XCConfigurationList section */
  474. E9CF1F18184961010004AE02 /* Build configuration list for PBXProject "BaconBar" */ = {
  475. isa = XCConfigurationList;
  476. buildConfigurations = (
  477. E9CF1F4C184961020004AE02 /* Debug */,
  478. E9CF1F4D184961020004AE02 /* Release */,
  479. );
  480. defaultConfigurationIsVisible = 0;
  481. defaultConfigurationName = Release;
  482. };
  483. E9CF1F4E184961020004AE02 /* Build configuration list for PBXNativeTarget "BaconBar" */ = {
  484. isa = XCConfigurationList;
  485. buildConfigurations = (
  486. E9CF1F4F184961020004AE02 /* Debug */,
  487. E9CF1F50184961020004AE02 /* Release */,
  488. );
  489. defaultConfigurationIsVisible = 0;
  490. defaultConfigurationName = Release;
  491. };
  492. /* End XCConfigurationList section */
  493. };
  494. rootObject = E9CF1F15184961010004AE02 /* Project object */;
  495. }