cocoapods-square-stable 0.19.3

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 (58) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1296 -0
  3. data/LICENSE +20 -0
  4. data/README.md +94 -0
  5. data/bin/pod +16 -0
  6. data/bin/sandbox-pod +120 -0
  7. data/lib/cocoapods.rb +77 -0
  8. data/lib/cocoapods/command.rb +116 -0
  9. data/lib/cocoapods/command/help.rb +23 -0
  10. data/lib/cocoapods/command/inter_process_communication.rb +178 -0
  11. data/lib/cocoapods/command/list.rb +77 -0
  12. data/lib/cocoapods/command/outdated.rb +56 -0
  13. data/lib/cocoapods/command/podfile_info.rb +91 -0
  14. data/lib/cocoapods/command/project.rb +88 -0
  15. data/lib/cocoapods/command/push.rb +172 -0
  16. data/lib/cocoapods/command/repo.rb +145 -0
  17. data/lib/cocoapods/command/search.rb +61 -0
  18. data/lib/cocoapods/command/setup.rb +134 -0
  19. data/lib/cocoapods/command/spec.rb +590 -0
  20. data/lib/cocoapods/config.rb +231 -0
  21. data/lib/cocoapods/downloader.rb +59 -0
  22. data/lib/cocoapods/executable.rb +118 -0
  23. data/lib/cocoapods/external_sources.rb +363 -0
  24. data/lib/cocoapods/file_list.rb +36 -0
  25. data/lib/cocoapods/gem_version.rb +7 -0
  26. data/lib/cocoapods/generator/acknowledgements.rb +107 -0
  27. data/lib/cocoapods/generator/acknowledgements/markdown.rb +40 -0
  28. data/lib/cocoapods/generator/acknowledgements/plist.rb +64 -0
  29. data/lib/cocoapods/generator/bridge_support.rb +22 -0
  30. data/lib/cocoapods/generator/copy_resources_script.rb +54 -0
  31. data/lib/cocoapods/generator/dummy_source.rb +22 -0
  32. data/lib/cocoapods/generator/prefix_header.rb +82 -0
  33. data/lib/cocoapods/generator/target_environment_header.rb +86 -0
  34. data/lib/cocoapods/generator/xcconfig.rb +185 -0
  35. data/lib/cocoapods/hooks/installer_representation.rb +134 -0
  36. data/lib/cocoapods/hooks/library_representation.rb +94 -0
  37. data/lib/cocoapods/hooks/pod_representation.rb +74 -0
  38. data/lib/cocoapods/installer.rb +571 -0
  39. data/lib/cocoapods/installer/analyzer.rb +559 -0
  40. data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +253 -0
  41. data/lib/cocoapods/installer/file_references_installer.rb +179 -0
  42. data/lib/cocoapods/installer/pod_source_installer.rb +248 -0
  43. data/lib/cocoapods/installer/target_installer.rb +379 -0
  44. data/lib/cocoapods/installer/user_project_integrator.rb +180 -0
  45. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +224 -0
  46. data/lib/cocoapods/library.rb +202 -0
  47. data/lib/cocoapods/open_uri.rb +24 -0
  48. data/lib/cocoapods/project.rb +209 -0
  49. data/lib/cocoapods/resolver.rb +212 -0
  50. data/lib/cocoapods/sandbox.rb +343 -0
  51. data/lib/cocoapods/sandbox/file_accessor.rb +217 -0
  52. data/lib/cocoapods/sandbox/headers_store.rb +96 -0
  53. data/lib/cocoapods/sandbox/path_list.rb +208 -0
  54. data/lib/cocoapods/sources_manager.rb +276 -0
  55. data/lib/cocoapods/user_interface.rb +304 -0
  56. data/lib/cocoapods/user_interface/error_report.rb +101 -0
  57. data/lib/cocoapods/validator.rb +350 -0
  58. metadata +238 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ data.tar.gz: d410d2a439c2dfcd18a6b95c3abf749ac70a501249485ce08a3b01cf63bc5a8d035e474dc1329e0a519efee6e47e187e9e957462c3775e8954fdf2ada6ee8644
4
+ metadata.gz: 1911b57c4155f533d59ae921617907b376e54bf3129932922a8454a0a2fcbf3bcafd77f4fe46cbb3a0e53861fd26e7f6a219d629dcff5854a08b1b02fbd76a33
5
+ SHA1:
6
+ data.tar.gz: b6c008942deed942e17423eaa67ace2350d28925
7
+ metadata.gz: e5146b6f32801fcd45c252f097810f25aa62373a
@@ -0,0 +1,1296 @@
1
+ ## Installation & Update
2
+
3
+ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html).
4
+
5
+ ## Master
6
+
7
+ ###### Enhancements
8
+
9
+ * Documentation generation has been removed from CocoaPods as it graduated
10
+ to CocoaDocs. This decision was taken because CocoaDocs is a much better
11
+ solution which doesn't clutter Xcode's docsets while still allowing
12
+ access to the docsets with Xcode and with Dash. Removing this feature
13
+ keeps the installer leaner and easier to develop and paves the way for the
14
+ upcoming sandbox. Private pods can use pre install hook to generate the
15
+ documentation. If there will be enough demand this feature might be
16
+ reintegrated as plugin (see
17
+ [#1037](https://github.com/CocoaPods/CocoaPods/issues/1037)).
18
+
19
+ ###### Bug fixes
20
+
21
+ * Inheriting `inhibit_warnings` per pod is now working
22
+ [#1032](https://github.com/CocoaPods/CocoaPods/issues/1032)
23
+ * Fix copy resources script for iOS < 6 and OS X < 10.8 by removing the `--reference-external-strings-file`
24
+ flag. [#1030](https://github.com/CocoaPods/CocoaPods/pull/1030)
25
+
26
+ ## 0.19.1
27
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.19.0...0.19.1)
28
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.19.0...0.19.1)
29
+
30
+ ###### Bug fixes
31
+
32
+ * Project-level preprocessor macros are not overwritten anymore.
33
+ [#903](https://github.com/CocoaPods/CocoaPods/issues/903)
34
+ * A Unique hash instances for the build settings of the Pods target is now
35
+ created resolving interferences in the hooks.
36
+ [#1014](https://github.com/CocoaPods/CocoaPods/issues/1014)
37
+
38
+ ## 0.19.0
39
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.18.1...0.19.0)
40
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.18.1...0.19.0)
41
+
42
+ ###### Enhancements
43
+
44
+ * Compile time introspection. Macro definitions which allow to inspect the
45
+ installed Pods and their version have been introduced in the build
46
+ environment of the Pod libraries
47
+ ([example](https://gist.github.com/irrationalfab/5348551)).
48
+ * CocoaPods now defines the `COCOAPODS=1` macro in the Pod and the Client
49
+ targets. This is useful for libraries which conditionally expose interfaces.
50
+ [#903](https://github.com/CocoaPods/CocoaPods/issues/903)
51
+ * Added support for the `private_header_files` attribute of the Specification
52
+ DSL.
53
+ [#998](https://github.com/CocoaPods/CocoaPods/issues/998)
54
+ * CocoaPods now defines the deployment target of the Pods project computed as
55
+ the minimum deployment target of the Pods libraries.
56
+ [#556](https://github.com/CocoaPods/CocoaPods/issues/556)
57
+ * Added `pod podfile-info` command. Shows list of used Pods and their info
58
+ in a project or supplied Podfile.
59
+ Options: `--all` - with dependencies. `--md` - in Markdown.
60
+ [#855](https://github.com/CocoaPods/CocoaPods/issues/855)
61
+ * Added `pod help` command. You can still use the old format
62
+ with --help flag.
63
+ [#957](https://github.com/CocoaPods/CocoaPods/pull/957)
64
+ * Restored support for Podfiles named `CocoaPods.podfile`. Moreover, the
65
+ experimental YAML format of the Podfile now is associated with files named
66
+ `CocoaPods.podfile.yaml`.
67
+ [#1004](https://github.com/CocoaPods/CocoaPods/pull/1004)
68
+
69
+ ###### Deprecations
70
+
71
+ * The `:local` flag in Podfile has been renamed to `:path` and has been
72
+ deprecated.
73
+ [#971](https://github.com/CocoaPods/CocoaPods/issues/971)
74
+
75
+ ###### Bug fixes
76
+
77
+ * Fixed issue related to `pod outdated` and external sources.
78
+ [#954](https://github.com/CocoaPods/CocoaPods/issues/954)
79
+ * Fixed issue with .svn folders in copy resources script.
80
+ [#972](https://github.com/CocoaPods/CocoaPods/issues/972)
81
+
82
+ ## 0.18.1
83
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.18.0...0.18.1)
84
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.18.0...0.18.)
85
+
86
+ ###### Bug fixes
87
+
88
+ * Fixed a bug introduced in 0.18 which cause compilation issue due to the
89
+ quoting of the inherited value in the xcconfigs.
90
+ [#956](https://github.com/CocoaPods/CocoaPods/issues/956)
91
+ * Robustness against user targets including build files with missing file
92
+ references.
93
+ [#938](https://github.com/CocoaPods/CocoaPods/issues/938)
94
+ * Partially fixed slow performance from the command line
95
+ [#919](https://github.com/CocoaPods/CocoaPods/issues/919)
96
+
97
+
98
+ ## 0.18.0
99
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.2...0.18.0)
100
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.2...0.18.0)
101
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.2...0.5.5)
102
+
103
+ ###### Enhancements
104
+
105
+ * Added the ability to inhibit warnings per pod.
106
+ Just pass `:inhibit_warnings => true` inline.
107
+ This feature has been implemented by Marin Usalj (@mneorr).
108
+ [#10](https://github.com/CocoaPods/Core/pull/10)
109
+ [#934](https://github.com/CocoaPods/CocoaPods/pull/934)
110
+ * Inhibiting warnings will also suppress the warnings of the static analyzer.
111
+ * A new build phase has been added to check that your
112
+ installation is in sync with the `Podfile.lock` and fail the build otherwise.
113
+ The new build phase will not be added automatically to targets already
114
+ integrated with CocoaPods, for integrating targets manually see [this
115
+ comment](https://github.com/CocoaPods/CocoaPods/pull/946#issuecomment-16042419).
116
+ This feature has been implemented by Ullrich Schäfer (@stigi).
117
+ [#946](https://github.com/CocoaPods/CocoaPods/pull/946)
118
+ * The `pod search` commands now accepts the `--ios` and the `--osx` arguments
119
+ to filter the results by platform.
120
+ [#625](https://github.com/CocoaPods/CocoaPods/issues/625)
121
+ * The developer frameworks are automatically added if `SenTestingKit` is
122
+ detected. There is no need to specify them in specifications anymore.
123
+ [#771](https://github.com/CocoaPods/CocoaPods/issues/771)
124
+ * The `--no-update` argument of the `install`, `update`, `outdated` subcommands
125
+ has been renamed to `--no-repo-update`.
126
+ [#913](https://github.com/CocoaPods/CocoaPods/issues/913)
127
+
128
+ ###### Bug fixes
129
+
130
+ * Improved handling for Xcode projects containing non ASCII characters.
131
+ Special thanks to Cédric Luthi (@0xced), Vincent Isambart (@vincentisambart),
132
+ and Manfred Stienstra (@Manfred) for helping to develop the workaround.
133
+ [#926](https://github.com/CocoaPods/CocoaPods/issues/926)
134
+ * Corrected improper configuration of the PODS_ROOT xcconfig variable in
135
+ non-integrating installations.
136
+ [#918](https://github.com/CocoaPods/CocoaPods/issues/918)
137
+ * Improved support for pre-release versions using dashes.
138
+ [#935](https://github.com/CocoaPods/CocoaPods/issues/935)
139
+ * Documentation sets are now namespaced by pod solving improper attribution.
140
+ [#659](https://github.com/CocoaPods/CocoaPods/issues/659)
141
+
142
+
143
+ ## 0.17.2
144
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.1...0.17.2)
145
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.1...0.17.2)
146
+
147
+ ###### Bug fixes
148
+
149
+ * Fix crash related to the specification of the workspace as a relative path.
150
+ [#920](https://github.com/CocoaPods/CocoaPods/issues/920)
151
+ * Fix an issue related to the `podspec` dsl directive of the Podfile for
152
+ specifications with internal dependencies.
153
+ [#928](https://github.com/CocoaPods/CocoaPods/issues/928)
154
+ * Fix crash related to search from the command line.
155
+ [#929](https://github.com/CocoaPods/CocoaPods/issues/929)
156
+
157
+ ###### Ancillary enhancements
158
+
159
+ * Enabled the FileList deprecation warning in the Linter.
160
+ * CocoaPods will raise if versions requirements are specified for dependencies
161
+ with external sources.
162
+ * The exclude patterns now handle folders automatically.
163
+
164
+
165
+ ## 0.17.1
166
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0...0.17.1)
167
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0...0.17.1)
168
+
169
+ ###### Bug fixes
170
+
171
+ * Always create the CACHE_ROOT directory when performing a search.
172
+ [#917](https://github.com/CocoaPods/CocoaPods/issues/917)
173
+
174
+ ## 0.17.0
175
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc7...0.17.0)
176
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc7...0.17.0)
177
+
178
+ #### GM
179
+
180
+ ###### Bug fixes
181
+
182
+ * Don’t break when specifying doc options, but not appledoc ones.
183
+ [#906](https://github.com/CocoaPods/CocoaPods/issues/906)
184
+ * Sort resolved specifications.
185
+ [#907](https://github.com/CocoaPods/CocoaPods/issues/907)
186
+ * Subspecs do not need to include HEAD information.
187
+ [#905](https://github.com/CocoaPods/CocoaPods/issues/905)
188
+
189
+ ###### Ancillary enhancements
190
+
191
+ * Allow the analyzer to do its work without updating sources.
192
+ [motion-cocoapods#50](https://github.com/HipByte/motion-cocoapods/pull/50)
193
+
194
+ #### rc7
195
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc6...0.17.0.rc7)
196
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc6...0.17.0.rc7)
197
+
198
+ ###### Bug fixes
199
+
200
+ - Fixed an issue which lead to the missing declaration of the plural directives
201
+ of the Specification DSL.
202
+ [#816](https://github.com/CocoaPods/CocoaPods/issues/816)
203
+ - The resolver now respects the order of specification of the target
204
+ definitions.
205
+ - Restore usage of cache file to store a cache for expensive stats.
206
+ - Moved declaration of `Pod::FileList` to CocoaPods-core.
207
+
208
+ ###### Ancillary enhancements
209
+
210
+ - Fine tuned the Specification linter and the health reporter of repositories.
211
+ - Search results are sorted.
212
+
213
+ #### rc6
214
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc5...0.17.0.rc6)
215
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc5...0.17.0.rc6)
216
+
217
+ ###### Bug fixes
218
+
219
+ - CocoaPods updates the repositories by default.
220
+ [#872](https://github.com/CocoaPods/CocoaPods/issues/872)
221
+ - Fixed a crash which was present when the Podfile specifies a workspace.
222
+ [#871](https://github.com/CocoaPods/CocoaPods/issues/871)
223
+ - Fix for a bug which lead to a broken installation in paths containing
224
+ brackets and other glob metacharacters.
225
+ [#862](https://github.com/CocoaPods/CocoaPods/issues/862)
226
+ - Fix for a bug related to the case of the paths which lead to clean all files
227
+ in the directories of the Pods.
228
+
229
+
230
+ ###### Ancillary enhancements
231
+
232
+ - CocoaPods now maintains a search index which is updated incrementally instead
233
+ of analyzing all the specs every time. The search index can be updated
234
+ manually with the `pod ipc update-search-index` command.
235
+ - Enhancements to the `pod repo lint` command.
236
+ - CocoaPods will not create anymore the pre commit hook in the master repo
237
+ during setup. If already created it is possible remove it deleting the
238
+ `~/.cocoapods/master/.git/hooks/pre-commit` path.
239
+ - Improved support for linting and validating specs repo.
240
+
241
+ #### rc5
242
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc4...0.17.0.rc5)
243
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc4...0.17.0.rc5)
244
+
245
+ ###### Bug fixes
246
+
247
+ - The `--no-clean` argument is not ignored anymore by the installer.
248
+ - Proper handling of file patterns ending with a slash.
249
+ - More user errors are raised as an informative.
250
+
251
+ #### rc4
252
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc3...0.17.0.rc4)
253
+
254
+ ###### Bug fixes
255
+
256
+ - Restored compatibility with `Podfile::TargetDefinition#copy_resources_script_name`
257
+ in the Podfile hooks.
258
+ - Updated copy resources script so that it will use base internationalization
259
+ [#846](https://github.com/CocoaPods/CocoaPods/issues/846)
260
+ - Robustness against an empty configuration file.
261
+ - Fixed a crash with `pod push`
262
+ [#848](https://github.com/CocoaPods/CocoaPods/issues/848)
263
+ - Fixed an issue which lead to the creation of a Pods project which would
264
+ crash Xcode.
265
+ [#854](https://github.com/CocoaPods/CocoaPods/issues/854)
266
+ - Fixed a crash related to a `PBXVariantGroup` present in the frameworks build
267
+ phase of client targets.
268
+ [#859](https://github.com/CocoaPods/CocoaPods/issues/859)
269
+
270
+
271
+ ###### Ancillary enhancements
272
+
273
+ - The `podspec` option of the `pod` directive of the Podfile DSL now accepts
274
+ folders.
275
+
276
+ #### rc3
277
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc2...0.17.0.rc3
278
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.0...0.5.1))
279
+
280
+ ###### Bug fixes
281
+
282
+ - CocoaPods will not crash anymore if the license file indicated on the spec
283
+ doesn't exits.
284
+ - Pre install hooks are called before the Pods are cleaned.
285
+ - Fixed and issue which prevent the inclusion of OTHER_CFLAGS and
286
+ OTHER_CPLUSPLUSFLAGS in the release builds of the Pods project.
287
+ - Fixed `pod lint --local`
288
+ - Fixed the `--allow-warnings` of `pod push`
289
+ [#835](https://github.com/CocoaPods/CocoaPods/issues/835)
290
+ - Added `copy_resources_script_name` to the library representation used in the
291
+ hooks.
292
+ [#837](https://github.com/CocoaPods/CocoaPods/issues/837)
293
+
294
+ ###### Ancillary enhancements
295
+
296
+ - General improvements to `pod ipc`.
297
+ - Added `pod ipc repl` subcommand.
298
+
299
+ #### rc2
300
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc1...0.17.0.rc2)
301
+ • [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc1...0.17.0.rc2)
302
+
303
+ ###### Bug fixes
304
+
305
+ - Restored output coloring.
306
+ - Fixed a crash related to subspecs
307
+ [#819](https://github.com/CocoaPods/CocoaPods/issues/819)
308
+ - Git repos were not cached for dependencies with external sources.
309
+ [#820](https://github.com/CocoaPods/CocoaPods/issues/820)
310
+ - Restored support for directories for the preserve_patterns specification
311
+ attribute.
312
+ [#823](https://github.com/CocoaPods/CocoaPods/issues/823)
313
+
314
+ #### rc1
315
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.4...0.17.0.rc1)
316
+ • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.3...0.5.0)
317
+ • [cocoapods-core](https://github.com/CocoaPods/Core)
318
+ • [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader)
319
+
320
+ ###### __Notice__
321
+
322
+ At some point in future the master repo will be switched to the YAML format of
323
+ specifications. This means that specifications with hooks (or any other kind of
324
+ dynamic logic) will not be accepted. Please let us know if there is need for
325
+ other DSL attributes or any other kind of support.
326
+
327
+ Currently the following specifications fail to load as they depended on the
328
+ CocoaPods internals and need to be updated:
329
+
330
+ - LibComponentLogging-pods/0.0.1/LibComponentLogging-pods.podspec
331
+ - RestKit/0.9.3/RestKit.podspec
332
+ - Three20/1.0.11/Three20.podspec
333
+ - ARAnalytics/1.1/ARAnalytics.podspec
334
+
335
+ Other specifications, might present compatibility issues for the reasons
336
+ presented below.
337
+
338
+ ###### __Breaking__
339
+
340
+ - Subspecs do **not** inherit the files patterns from the parent spec anymore.
341
+ This feature made the implementation more complicated and was not easy to
342
+ explain to podspecs maintainers. Compatibility can be easily fixed by adding
343
+ a 'Core' subspec.
344
+ - Support for inline podspecs has been removed.
345
+ - The support for Rake::FileList is being deprecated, in favor of a more
346
+ consistent DSL. Rake::FileList also presented issues because it would access
347
+ the file system as soon as it was converted to an array.
348
+ - The hooks architecture has been re-factored and might present
349
+ incompatibilities (please open an issue if appropriate).
350
+ - The `requires_arc` attribute default value is transitioning from `false` to
351
+ `true`. In the meanwhile a value is needed to pass the lint.
352
+ - Deprecated `copy_header_mapping` hook.
353
+ - Deprecated `exclude_header_search_paths` attribute.
354
+ - External sources are not supported in the dependencies of specifications
355
+ anymore. Actually they never have been supported, they just happened to work.
356
+
357
+ ###### DSL
358
+
359
+ - Podfile:
360
+ - It is not needed to specify the platform anymore (unless not integrating)
361
+ as CocoaPods now can infer the platform from the integrated targets.
362
+ - Specification:
363
+ - `preferred_dependency` has been renamed to `default_subspec`.
364
+ - Added `exclude_files` attribute.
365
+ - Added `screenshots` attribute.
366
+ - Added default values for attributes like `source_files`.
367
+
368
+ ###### Enhancements
369
+
370
+ - Released preview [documentation](http://docs.cocoapods.org).
371
+ - CocoaPods now has support for working in teams and not committing the Pods
372
+ folder, as it will keep track of the status of the Pods folder.
373
+ [#552](https://github.com/CocoaPods/CocoaPods/issues/552)
374
+ - Simplified installation: no specific version of ruby gems is required anymore.
375
+ - The workspace is written only if needed greatly reducing the occasions in
376
+ which Xcode asks to revert.
377
+ - The Lockfile is sorted reducing the SCM noise.
378
+ [#591](https://github.com/CocoaPods/CocoaPods/issues/591)
379
+ - Added Podfile, Frameworks, and Resources to the Pods project.
380
+ [#647](https://github.com/CocoaPods/CocoaPods/issues/647)
381
+ [#588](https://github.com/CocoaPods/CocoaPods/issues/588)
382
+ - Adds new subcommand `pod spec cat NAME` to print a spec file to standard output.
383
+ - Specification hooks are only called when the specification is installed.
384
+ - The `--no-clean` option of the `pod spec lint` command now displays the Pods
385
+ project for inspection.
386
+ - It is now possible to specify default values for the configuration in
387
+ `~/.cocoapods/config.yaml` ([default values](https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/config.rb#L17)).
388
+ - CocoaPods now checks the checksums of the installed specifications and
389
+ reinstalls them if needed.
390
+ - Support for YAML formats of the Podfile and the Specification.
391
+ - Added new command `pod ipc` to provide support for inter process
392
+ communication through YAML formats.
393
+ - CocoaPods now detects if the folder of a Pod is empty and reinstalls it.
394
+ [#534](https://github.com/CocoaPods/CocoaPods/issues/534)
395
+ - Install hooks and the `prefix_header_contents` attribute are supported in subspecs.
396
+ [#617](https://github.com/CocoaPods/CocoaPods/issues/617)
397
+ - Dashes are now supported in the versions of the Pods.
398
+ [#293](https://github.com/CocoaPods/CocoaPods/issues/293)
399
+
400
+ ###### Bug fixes
401
+
402
+ - CocoaPods is not confused anymore by target definitions with different activated subspec.
403
+ [#535](https://github.com/CocoaPods/CocoaPods/issues/535)
404
+ - CocoaPods is not confused anymore by to dependencies from external sources.
405
+ [#548](https://github.com/CocoaPods/CocoaPods/issues/548)
406
+ - The git cache will always update against the remote if a tag is requested,
407
+ resolving issues where library maintainers where updating the tag after a
408
+ lint and would be confused by CocoaPods using the cached commit for the tag.
409
+ [#407](https://github.com/CocoaPods/CocoaPods/issues/407)
410
+ [#596](https://github.com/CocoaPods/CocoaPods/issues/596)
411
+
412
+ ###### Codebase
413
+
414
+ - Major clean up and refactor of the whole code base.
415
+ - Extracted the core classes into
416
+ [cocoapods-core](https://github.com/CocoaPods/Core) gem.
417
+ - Extracted downloader into
418
+ [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader).
419
+ - Extracted command-line command & option handling into
420
+ [CLAide](https://github.com/CocoaPods/CLAide).
421
+
422
+ ## 0.16.4
423
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.3...0.16.4)
424
+
425
+ ###### Enhancements
426
+
427
+ - Add explicit flattening option to `Downloader:Http`: `:flatten => true`.
428
+ [#814](https://github.com/CocoaPods/CocoaPods/pull/814)
429
+ [#812](https://github.com/CocoaPods/CocoaPods/issues/812)
430
+ [#1314](https://github.com/CocoaPods/Specs/pull/1314)
431
+
432
+ ###### Bug fixes
433
+
434
+ - Explicitely require `date` in the gemspec for Ruby 2.0.0.
435
+ [34da3f7](https://github.com/CocoaPods/CocoaPods/commit/34da3f792b2a36fafacd4122e29025c9cf2ff38d)
436
+
437
+ ## 0.16.3
438
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.2...0.16.3) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.3...0.5.0)
439
+
440
+ ###### Bug fixes
441
+
442
+ - Only flatten tarballs, **not** zipballs, from HTTP sources. A zipball can
443
+ contain single directories in the root that should be preserved, for instance
444
+ a framework bundle. This reverts part of the change in 0.16.1.
445
+ **NOTE** This will break some podspecs that were changed after 0.16.1.
446
+ [#783](https://github.com/CocoaPods/CocoaPods/pull/783)
447
+ [#727](https://github.com/CocoaPods/CocoaPods/issues/727)
448
+ - Never consider aggregate targets in the user’s project for integration.
449
+ [#729](https://github.com/CocoaPods/CocoaPods/issues/729)
450
+ [#784](https://github.com/CocoaPods/CocoaPods/issues/784)
451
+ - Support comments on all build phases, groups and targets in Xcode projects.
452
+ [#51](https://github.com/CocoaPods/Xcodeproj/pull/51)
453
+ - Ensure default Xcode project values are copied before being used.
454
+ [b43087c](https://github.com/CocoaPods/Xcodeproj/commit/b43087cb342d8d44b491e702faddf54a222b23c3)
455
+ - Block assertions in Release builds.
456
+ [#53](https://github.com/CocoaPods/Xcodeproj/pull/53)
457
+ [#803](https://github.com/CocoaPods/CocoaPods/pull/803)
458
+ [#802](https://github.com/CocoaPods/CocoaPods/issues/802)
459
+
460
+
461
+ ###### Enhancements
462
+
463
+ - Compile Core Data model files.
464
+ [#795](https://github.com/CocoaPods/CocoaPods/pull/795)
465
+ - Add `Xcodeproj::Differ`, which shows differences between Xcode projects.
466
+ [308941e](https://github.com/CocoaPods/Xcodeproj/commit/308941eeaa3bca817742c774fd584cc5ab1c8f84)
467
+
468
+
469
+ ## 0.16.2
470
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.1...0.16.2) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.1...0.4.3)
471
+
472
+ ###### Bug fixes
473
+
474
+ - Quote storyboard and xib paths in ‘copy resource’ script.
475
+ [#740](https://github.com/CocoaPods/CocoaPods/pull/740)
476
+ - Fix use of `podspec` directive in Podfile with no options specified.
477
+ [#768](https://github.com/CocoaPods/CocoaPods/pull/768)
478
+ - Generate Mac OS X Pods target with the specified deployment target.
479
+ [#757](https://github.com/CocoaPods/CocoaPods/issues/757)
480
+ - Disable libSystem objects for ARC libs that target older platforms.
481
+ This applies when the deployment target is set to < iOS 6.0 or OS X 10.8,
482
+ or not specified at all.
483
+ [#352](https://github.com/CocoaPods/Specs/issues/352)
484
+ [#1161](https://github.com/CocoaPods/Specs/pull/1161)
485
+ - Mark header source files as ‘Project’ not ‘Public’.
486
+ [#747](https://github.com/CocoaPods/CocoaPods/issues/747)
487
+ - Add `PBXGroup` as acceptable `PBXFileReference` value.
488
+ [#49](https://github.com/CocoaPods/Xcodeproj/pull/49)
489
+ - Make `xcodeproj show` without further arguments actually work.
490
+ [#45](https://github.com/CocoaPods/Xcodeproj/issues/45)
491
+
492
+ ###### Enhancements
493
+
494
+ - Added support for pre-download over Mercurial.
495
+ [#750](https://github.com/CocoaPods/CocoaPods/pull/750)
496
+
497
+ ## 0.16.1
498
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0...0.16.1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.0...0.4.1)
499
+
500
+ ###### Bug fixes
501
+
502
+ - After unpacking source from a HTTP location, move the source into the parent
503
+ dir if the archive contained only one child. This is done to make it
504
+ consistent with how source from other types of locations are described in a
505
+ podspec.
506
+ **NOTE** This might break some podspecs that assumed the incorrect layout.
507
+ [#727](https://github.com/CocoaPods/CocoaPods/issues/727)
508
+ [#728](https://github.com/CocoaPods/CocoaPods/pull/728)
509
+ - Remove duplicate option in `pod update` command.
510
+ [#725](https://github.com/CocoaPods/CocoaPods/issues/725)
511
+ - Memory fixes in Xcodeproj.
512
+ [#43](https://github.com/CocoaPods/Xcodeproj/pull/43)
513
+
514
+ ###### Xcodeproj Enhancements
515
+
516
+ - Sort contents of xcconfig files by setting name.
517
+ [#591](https://github.com/CocoaPods/CocoaPods/issues/591)
518
+ - Add helpers to get platform name, deployment target, and frameworks build phases
519
+ - Take SDKROOT into account when adding frameworks.
520
+
521
+ ## 0.16.0
522
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc5...master)
523
+
524
+ ###### Enhancements
525
+
526
+ - Use Rake 0.9.4
527
+ [#657](https://github.com/CocoaPods/CocoaPods/issues/657)
528
+
529
+ ## 0.16.0.rc5
530
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc4...0.16.0.rc5)
531
+
532
+ ###### Deprecated
533
+
534
+ - The usage of specifications defined in a Podfile is deprecated. Use the
535
+ `:podspec` option with a file path instead. Complete removal will most
536
+ probably happen in 0.17.0.
537
+ [#549](https://github.com/CocoaPods/CocoaPods/issues/549)
538
+ [#616](https://github.com/CocoaPods/CocoaPods/issues/616)
539
+ [#525](https://github.com/CocoaPods/CocoaPods/issues/525)
540
+
541
+ ###### Bug fixes
542
+
543
+ - Always consider inline podspecs as needing installation.
544
+ - Fix detection when the lib has already been integrated with the user’s target.
545
+ [#643](https://github.com/CocoaPods/CocoaPods/issues/643)
546
+ [#614](https://github.com/CocoaPods/CocoaPods/issues/614)
547
+ [#613](https://github.com/CocoaPods/CocoaPods/issues/613)
548
+
549
+ ## 0.16.0.rc4
550
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc3...0.16.0.rc4)
551
+
552
+ ###### Bug fixes
553
+
554
+ - Fix for Rake 0.9.3
555
+ [#657](https://github.com/CocoaPods/CocoaPods/issues/657)
556
+
557
+ ## 0.16.0.rc3
558
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc2...0.16.0.rc3) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.0.rc1...0.4.0.rc6)
559
+
560
+ ###### Enhancements
561
+
562
+ - Added support for copying frameworks to the app bundle.
563
+ [#597](https://github.com/CocoaPods/CocoaPods/pull/597)
564
+
565
+ ###### Bug fixes
566
+
567
+ - Ignore PBXReferenceProxy while integrating into user project.
568
+ [#626](https://github.com/CocoaPods/CocoaPods/issues/626)
569
+ - Added support for PBXAggregateTarget and PBXLegacyTarget.
570
+ [#615](https://github.com/CocoaPods/CocoaPods/issues/615)
571
+ - Added support for PBXReferenceProxy.
572
+ [#612](https://github.com/CocoaPods/CocoaPods/issues/612)
573
+
574
+ ## 0.16.0.rc2
575
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.0.rc1...0.16.0.rc2)
576
+
577
+ ###### Bug fixes
578
+
579
+ - Fix for uninitialized constant Xcodeproj::Constants error.
580
+
581
+ ## 0.16.0.rc1
582
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.2...0.16.0.rc1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.5...0.4.0.rc1)
583
+
584
+ ###### Enhancements
585
+
586
+ - Xcodeproj partial rewrite.
587
+ [#565](https://github.com/CocoaPods/CocoaPods/issues/565)
588
+ [#561](https://github.com/CocoaPods/CocoaPods/pull/561)
589
+ - Performance improvements in the `Generating support files` phase.
590
+ - Better support for editing existing projects and sorting groups.
591
+
592
+ ## 0.15.2
593
+
594
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.1...0.15.2)
595
+
596
+ ###### Enhancements
597
+
598
+ - Added support for `.hh` headers.
599
+ [#576](https://github.com/CocoaPods/CocoaPods/pull/576)
600
+
601
+ ###### Bug fixes
602
+
603
+ - Restored support for running CocoaPods without a terminal.
604
+ [#575](https://github.com/CocoaPods/CocoaPods/issues/575)
605
+ [#577](https://github.com/CocoaPods/CocoaPods/issues/577)
606
+ - The git cache now always uses a barebones repo preventing a number of related issues.
607
+ [#581](https://github.com/CocoaPods/CocoaPods/issues/581)
608
+ [#569](https://github.com/CocoaPods/CocoaPods/issues/569)
609
+ - Improved fix for the issue that lead to empty directories for Pods.
610
+ [#572](https://github.com/CocoaPods/CocoaPods/issues/572)
611
+ [#602](https://github.com/CocoaPods/CocoaPods/issues/602)
612
+ - Xcodeproj robustness against invalid values, such as malformed UTF8.
613
+ [#592](https://github.com/CocoaPods/CocoaPods/issues/592)
614
+
615
+ ## 0.15.1
616
+
617
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.0...0.15.1)
618
+
619
+ ###### Enhancements
620
+
621
+ - Show error if syntax error in Podfile or Podfile.lock.
622
+
623
+ ###### Bug fixes
624
+
625
+ - Fixed an issue that lead to empty directories for Pods.
626
+ [#519](https://github.com/CocoaPods/CocoaPods/issues/519)
627
+ [#568](https://github.com/CocoaPods/CocoaPods/issues/568)
628
+ - Fixed a crash related to the RubyGems version informative.
629
+ [#570](https://github.com/CocoaPods/CocoaPods/issues/570)
630
+ - Fixed a crash for `pod outdated`.
631
+ [#567](https://github.com/CocoaPods/CocoaPods/issues/567)
632
+ - Fixed an issue that lead to excessively slow sets computation.
633
+
634
+ ## 0.15.0
635
+
636
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0...0.15.0) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.3...0.3.4)
637
+
638
+ ###### Enhancements
639
+
640
+ - Pod `install` will update the specs repo only if needed.
641
+ [#533](https://github.com/CocoaPods/CocoaPods/issues/533)
642
+ - CocoaPods now searches for the highest version of a Pod on all the repos.
643
+ [#85](https://github.com/CocoaPods/CocoaPods/issues/85)
644
+ - Added a pre install hook to the Podfile and to root specifications.
645
+ [#486](https://github.com/CocoaPods/CocoaPods/issues/486)
646
+ - Support for `header_mappings_dir` attribute in subspecs.
647
+ - Added support for linting a Podspec using the files from its folder `pod spec
648
+ lint --local`
649
+ - Refactored UI.
650
+ - Added support for Podfiles named `CocoaPods.podfile` which allows to
651
+ associate an editor application in Mac OS X.
652
+ [#528](https://github.com/CocoaPods/CocoaPods/issues/528)
653
+ - Added config option to disable the new version available message.
654
+ [#448](https://github.com/CocoaPods/CocoaPods/issues/448)
655
+ - Added support for extracting `.tar.bz2` files
656
+ [#522](https://github.com/CocoaPods/CocoaPods/issues/522)
657
+ - Improved feedback for errors of repo subcommands.
658
+ [#505](https://github.com/CocoaPods/CocoaPods/issues/505)
659
+
660
+
661
+ ###### Bug fixes
662
+
663
+ - Subspecs namespacing has been restored.
664
+ [#541](https://github.com/CocoaPods/CocoaPods/issues/541)
665
+ - Improvements to the git cache that should be more robust.
666
+ [#517](https://github.com/CocoaPods/CocoaPods/issues/517)
667
+ - In certain conditions pod setup would execute twice.
668
+ - The git cache now is updated if a branch is not found
669
+ [#514](https://github.com/CocoaPods/CocoaPods/issues/514)
670
+ - Forcing UTF-8 encoding on licenses generation in Ruby 1.9.
671
+ [#530](https://github.com/CocoaPods/CocoaPods/issues/530)
672
+ - Added support for `.hpp` headers.
673
+ [#244](https://github.com/CocoaPods/CocoaPods/issues/244)
674
+
675
+ ## 0.14.0
676
+
677
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0.rc2...0.14.0) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.2...0.3.3)
678
+
679
+ ###### Bug fixes
680
+
681
+ - In certain conditions the spec of an external would have been overridden
682
+ by the spec in the root of a Pod.
683
+ [#489](https://github.com/CocoaPods/CocoaPods/issues/489)
684
+ - CocoaPods now uses a recent version of Octokit.
685
+ [#490](https://github.com/CocoaPods/CocoaPods/issues/490)
686
+ - Fixed a bug that caused Pods with preferred dependencies to be always
687
+ installed.
688
+ [Specs#464](https://github.com/CocoaPods/CocoaPods/issues/464)
689
+ - Fixed Xcode 4.4+ artwork warning.
690
+ [Specs#508](https://github.com/CocoaPods/CocoaPods/issues/508)
691
+
692
+ ## 0.14.0.rc2
693
+
694
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0.rc1...0.14.0.rc2)
695
+
696
+ ###### Bug fixes
697
+
698
+ - Fix incorrect name for Pods from external sources with preferred subspecs.
699
+ [#485](https://github.com/CocoaPods/CocoaPods/issues/485)
700
+ - Prevent duplication of Pod with a local source and mutliple activated specs.
701
+ [#485](https://github.com/CocoaPods/CocoaPods/issues/485)
702
+ - Fixed the `uninitialized constant Pod::Lockfile::Digest` error.
703
+ [#484](https://github.com/CocoaPods/CocoaPods/issues/484)
704
+
705
+ ## 0.14.0.rc1
706
+
707
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.13.0...0.14.0.rc1) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.1...0.3.2)
708
+
709
+ ###### Enhancements
710
+
711
+ - Improve installation process by preserving the installed versions of Pods
712
+ across installations and machines. A Pod is reinstalled if:
713
+ - the version required in the Podfile changes and becomes incompatible with
714
+ the installed one.
715
+ [#191](https://github.com/CocoaPods/CocoaPods/issues/191)
716
+ - the external source changes.
717
+ - the head status changes (from disabled to enabled or vice-versa).
718
+ - Introduce `pod update` command that installs the dependencies of the Podfile
719
+ **ignoring** the lockfile `Podfile.lock`.
720
+ [#131](https://github.com/CocoaPods/CocoaPods/issues/131)
721
+ - Introduce `pod outdated` command that shows the pods with known updates.
722
+ - Add `:local` option for dependencies which will use the source files directly
723
+ from a local directory. This is usually used for libraries that are being
724
+ developed in parallel to the end product (application/library).
725
+ [#458](https://github.com/CocoaPods/CocoaPods/issues/458),
726
+ [#415](https://github.com/CocoaPods/CocoaPods/issues/415),
727
+ [#156](https://github.com/CocoaPods/CocoaPods/issues/156).
728
+ - Folders of Pods which are no longer required are removed during installation.
729
+ [#298](https://github.com/CocoaPods/CocoaPods/issues/298)
730
+ - Add meaningful error messages
731
+ - ia podspec can’t be found in the root of an external source.
732
+ [#385](https://github.com/CocoaPods/CocoaPods/issues/385),
733
+ [#338](https://github.com/CocoaPods/CocoaPods/issues/338),
734
+ [#337](https://github.com/CocoaPods/CocoaPods/issues/337).
735
+ - a subspec name is misspelled.
736
+ [#327](https://github.com/CocoaPods/CocoaPods/issues/327)
737
+ - an unrecognized command and/or argument is provided.
738
+ - The subversion downloader now does an export instead of a checkout, which
739
+ makes it play nicer with SCMs that store metadata in each directory.
740
+ [#245](https://github.com/CocoaPods/CocoaPods/issues/245)
741
+ - Now the Podfile is added to the Pods project for convenient editing.
742
+
743
+ ###### Bug fixes
744
+
745
+ - The git cache now fetches the tags from the remote if it can’t find the
746
+ reference.
747
+ - Xcodeproj now builds on 10.6.8 and Travis CI without symlinking headers.
748
+ - Only try to install, add source files to the project, and clean a Pod once.
749
+ [#376](https://github.com/CocoaPods/CocoaPods/issues/376)
750
+
751
+ ###### Notes
752
+
753
+ - External Pods might be reinstalled due to the migration to the new
754
+ `Podfile.lock`.
755
+ - The SCM reference of head Pods is not preserved across machines.
756
+ - Pods whose inline specification changed are not detected as modified. As a
757
+ workaround, remove their folder stored in `Pods`.
758
+ - Pods whose specification changed are not detected as modified. As a
759
+ workaround, remove their folder stored in `Pods`.
760
+
761
+
762
+ ## 0.13.0
763
+
764
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.12.0...0.13.0)
765
+
766
+ ###### Enhancements
767
+
768
+ - Add Podfile `podspec` which allows to use the dependencies of a podspec file.
769
+ [#162](https://github.com/CocoaPods/CocoaPods/issues/162)
770
+ - Check if any of the build settings defined in the xcconfig files is
771
+ overridden. [#92](https://github.com/CocoaPods/CocoaPods/issues/92)
772
+ - The Linter now checks that there are no compiler flags that disable warnings.
773
+
774
+ ###### Bug fixes
775
+
776
+ - The final project isn’t affected anymore by the `inhibit_all_warnings!`
777
+ option.
778
+ - Support for redirects while using podspec from an url.
779
+ [#462](https://github.com/CocoaPods/CocoaPods/issues/462)
780
+
781
+
782
+ ## 0.12.0
783
+
784
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.11.1...0.12.0)
785
+
786
+ ###### Enhancements
787
+
788
+ - The documentation is generated using the public headers if they are
789
+ specified.
790
+ - In case of a download failure the installation is aborted and the error
791
+ message is shown.
792
+ - Git submodules are initialized only if requested.
793
+ - Don’t impose a certain structure of the user’s project by raising if no
794
+ ‘Frameworks’ group exists.
795
+ [#431](https://github.com/CocoaPods/CocoaPods/pull/431)
796
+ - Support for GitHub Gists in the linter.
797
+ - Allow specifying ARC settings in subspecs.
798
+ - Add Podfile `inhibit_all_warnings!` which will inhibit all warnings from the
799
+ Pods library. [#209](https://github.com/CocoaPods/CocoaPods/issues/209)
800
+ - Make the Pods Xcode project prettier by namespacing subspecs in nested
801
+ groups. [#466](https://github.com/CocoaPods/CocoaPods/pull/466)
802
+
803
+
804
+ ## 0.11.1
805
+
806
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.11.0...0.11.1)
807
+
808
+ ###### Bug fixes
809
+
810
+ - Fixed a crash related to subspecs without header files. [#449]
811
+ - Git submodules are loaded after the appropriate referenced is checked out and
812
+ will be not loaded anymore in the cache. [#451]
813
+ - Fixed SVN support for the head version. [#432]
814
+
815
+
816
+ ## 0.11.0
817
+
818
+ [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.10.0...0.11.0)
819
+
820
+ ###### Enhancements
821
+
822
+ - Added support for public headers. [#440]
823
+ - Added `pod repo lint`. [#423]
824
+ - Improved support for `:head` option and SVN repositories.
825
+ - When integrating Pods with a project without "Frameworks" group in root of
826
+ the project, raise an informative message.
827
+ [#431](https://github.com/CocoaPods/CocoaPods/pull/431)
828
+ - Dropped support for legacy `config.ios?` and `config.osx?`
829
+
830
+ ###### Bug fixes
831
+
832
+ - Version message now correctly terminates with a 0 exit status.
833
+ - Resolved an issue that lead to git error messages in the error report.
834
+
835
+
836
+ ## 0.10.0
837
+
838
+ [CocoaPods](http://git.io/4i75YA)
839
+
840
+ ###### Enhancements
841
+
842
+ - Added a `--local-only` option to `pod push` so that developers can push
843
+ locally and test before pushing to a remote. [#405](http://git.io/0ILJEw)
844
+ - Added line number information for errors generated in the Podfile.
845
+ [#408](http://git.io/fWQvMg)
846
+ - Pods stored in git repositories now initialize submodules.
847
+ [#406](http://git.io/L9ssSw)
848
+
849
+ ###### Bug fixes
850
+
851
+ - Removed note about the post install hook form the linter.
852
+ - Improved xcodebuild error detection in the linter.
853
+ - Ensure the git cache exists, before updating it, when trying to install the
854
+ ‘bleeding edge’ of a pod. [#426](http://git.io/d4eqRA)
855
+ - Clean downloaded external pods **after** resolving and activating (sub)specs.
856
+ [#414](http://git.io/i77q_w)
857
+ - Support `tar.gz` as filename in a HTTP source. [#428](http://git.io/qhwKkA)
858
+
859
+
860
+ ## 0.9.2
861
+
862
+ [CocoaPods](http://git.io/AVlRKg) • [Xcodeproj](http://git.io/xHbc0w)
863
+
864
+ ###### Bug fixes
865
+
866
+ - When generating the PodsDummy class, make that class unique to each target. [#402](http://git.io/NntYiQ)
867
+ - Raise an informative error message when the platform in the `Podfile` is omitted or incorrect. [#403](http://git.io/k5EcUQ)
868
+
869
+
870
+ ## 0.9.1
871
+
872
+ [CocoaPods](http://git.io/_kqAbw)
873
+
874
+ ###### Bug fixes
875
+
876
+ - CocoaPods 0.9.x needs Xcodeproj 0.3.0.
877
+
878
+
879
+ ## 0.9.0
880
+
881
+ [CocoaPods](http://git.io/kucJQw) • [Xcodeproj](http://git.io/5eLL8g)
882
+
883
+ ###### Enhancements
884
+
885
+ - Force downloading the ‘bleeding edge’ version of a pod with the `:head` flag. [#392](http://git.io/t_NVRQ)
886
+ - Support for weak frameworks. [#263](http://git.io/XZDuog)
887
+ - Use double quotes when shelling out. This makes a url like `$HOME/local/lib` work. [#396](http://git.io/DnBzhA)
888
+
889
+ ###### Bug fixes
890
+
891
+ - Relaxed linter to accepts pod that only specify paths to preserve (like TuneupJS).
892
+ - Gender neutralization of podfile documentation. [#384](http://git.io/MAsHXg)
893
+ - Exit early when using an old RubyGems version (< 1.4.0). These versions contain subtle bugs
894
+ related to prerelease version comparisons. Unfortunately, OS X >= 10.7 ships with 1.3.6. [#398](http://git.io/Lr7DoA)
895
+
896
+
897
+ ## 0.8.0
898
+
899
+ [CocoaPods](http://git.io/RgMF3w) • [Xcodeproj](http://git.io/KBKE_Q)
900
+
901
+ ###### Breaking change
902
+
903
+ Syntax change in Podfile: `dependency` has been replaced by `pod`.
904
+
905
+ ``ruby
906
+ platform :ios
907
+ pod 'JSONKit', '~> 1.4'
908
+ pod 'Reachability', '~> 2.0.4'
909
+ ``
910
+
911
+ ###### Bug fixes
912
+
913
+ - Properly quote all paths given to Git.
914
+
915
+
916
+ ## 0.7.0
917
+
918
+ [CocoaPods](http://git.io/Agia6A) • [Xcodeproj](http://git.io/mlqquw)
919
+
920
+ ###### Features
921
+
922
+ - Added support for branches in git repos.
923
+ - Added support for linting remote files, i.e. `pod spec lint http://raw/file.podspec`.
924
+ - Improved `Spec create template`.
925
+ - The indentation is automatically stripped for podspecs strings.
926
+
927
+ ###### Bug fixes
928
+
929
+ - The default warnings of Xcode are not overriden anymore.
930
+ - Improvements to the detection of the license files.
931
+ - Improvements to `pod spec lint`.
932
+ - CocoaPods is now case insensitive.
933
+
934
+
935
+ ## 0.6.1
936
+
937
+ [CocoaPods](http://git.io/45wFjw) • [Xcodeproj](http://git.io/rRA4XQ)
938
+
939
+ ###### Bug fixes
940
+
941
+ - Switched to master branch for specs repo.
942
+ - Fixed a crash with `pod spec lint` related to `preserve_paths`.
943
+ - Fixed a bug that caused subspecs to not inherit the compiler flags of the top level specification.
944
+ - Fixed a bug that caused duplication of system framworks.
945
+
946
+
947
+ ## 0.6.0
948
+
949
+ A full list of all the changes since 0.5.1 can be found [here][6].
950
+
951
+
952
+ ### Link with specific targets
953
+
954
+ CocoaPods can now integrate all the targets specified in your `Podfile`.
955
+
956
+ To specify which target, in your Xcode project, a Pods target should be linked
957
+ with, use the `link_with` method like so:
958
+
959
+ ``ruby
960
+ platform :ios
961
+
962
+ workspace 'MyWorkspace'
963
+
964
+ link_with ['MyAppTarget', 'MyOtherAppTarget']
965
+ dependency 'JSONKit'
966
+
967
+ target :test, :exclusive => true do
968
+ xcodeproj 'TestProject', 'Test' => :debug
969
+ link_with 'TestRunnerTarget'
970
+ dependency 'Kiwi'
971
+ end
972
+ ``
973
+
974
+ _NOTE: As you can see it can take either one target name, or an array of names._
975
+
976
+ * If no explicit Xcode workspace is specified and only **one** project exists in
977
+ the same directory as the Podfile, then the name of that project is used as the
978
+ workspace’s name.
979
+
980
+ * If no explicit Xcode project is specified for a target, it will use the Xcode
981
+ project of the parent target. If no target specifies an expicit Xcode project
982
+ and there is only **one** project in the same directory as the Podfile then that
983
+ project will be used.
984
+
985
+ * If no explicit target is specified, then the Pods target will be linked with
986
+ the first target in your project. So if you only have one target you do not
987
+ need to specify the target to link with.
988
+
989
+ See [#76](https://github.com/CocoaPods/CocoaPods/issues/76) for more info.
990
+
991
+ Finally, CocoaPods will add build configurations to the Pods project for all
992
+ configurations in the other projects in the workspace. By default the
993
+ configurations are based on the `Release` configuration, to base them on the
994
+ `Debug` configuration you will have to explicitely specify them as can be seen
995
+ above in the following line:
996
+
997
+ ```ruby
998
+ xcodeproj 'TestProject', 'Test' => :debug
999
+ ```
1000
+
1001
+
1002
+ ### Documentation
1003
+
1004
+ CocoaPods will now generate documentation for every library with the
1005
+ [`appledoc`][5] tool and install it into Xcode’s documentation viewer.
1006
+
1007
+ You can customize the settings used like so:
1008
+
1009
+ ```ruby
1010
+ s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
1011
+ ```
1012
+
1013
+ Alternatively, you can specify a URL where an HTML version of the documentation
1014
+ can be found:
1015
+
1016
+ ```ruby
1017
+ s.documentation = { :html => 'http://example.com/docs/index.html' }
1018
+ ```
1019
+
1020
+ See [#149](https://github.com/CocoaPods/CocoaPods/issues/149) and
1021
+ [#151](https://github.com/CocoaPods/CocoaPods/issues/151) for more info.
1022
+
1023
+
1024
+ ### Licenses & Documentation
1025
+
1026
+ CocoaPods will now generate two 'Acknowledgements' files for each target specified
1027
+ in your Podfile which contain the License details for each Pod used in that target
1028
+ (assuming details have been specified in the Pod spec).
1029
+
1030
+ There is a markdown file, for general consumption, as well as a property list file
1031
+ that can be added to a settings bundle for an iOS application.
1032
+
1033
+ You don't need to do anything for this to happen, it should just work.
1034
+
1035
+ If you're not happy with the default boilerplate text generated for the title, header
1036
+ and footnotes in the files, it's possible to customise these by overriding the methods
1037
+ that generate the text in your `Podfile` like this:
1038
+
1039
+ ```ruby
1040
+ class ::Pod::Generator::Acknowledgements
1041
+ def header_text
1042
+ "My custom header text"
1043
+ end
1044
+ end
1045
+ ```
1046
+
1047
+ You can even go one step further and customise the text on a per target basis by
1048
+ checking against the target name, like this:
1049
+
1050
+ ```ruby
1051
+ class ::Pod::Generator::Acknowledgements
1052
+ def header_text
1053
+ if @target_definition.label.end_with?("MyTargetName")
1054
+ "Custom header text for MyTargetName"
1055
+ else
1056
+ "Custom header text for other targets"
1057
+ end
1058
+ end
1059
+ end
1060
+ ```
1061
+
1062
+ Finally, here's a list of the methods that are available to override:
1063
+
1064
+ ```ruby
1065
+ header_title
1066
+ header_text
1067
+ footnote_title
1068
+ footnote_text
1069
+ ```
1070
+
1071
+
1072
+ ### Introduced two new classes: LocalPod and Sandbox.
1073
+
1074
+ The Sandbox represents the entire contents of the `POD_ROOT` (normally
1075
+ `SOURCE_ROOT/Pods`). A LocalPod represents a pod that has been installed within
1076
+ the Sandbox.
1077
+
1078
+ These two classes can be used as better homes for various pieces of logic
1079
+ currently spread throughout the installation process and provide a better API
1080
+ for working with the contents of this directory.
1081
+
1082
+
1083
+ ### Xcodeproj API
1084
+
1085
+ All Xcodeproj APIs are now in `snake_case`, instead of `camelCase`. If you are
1086
+ manipulating the project from your Podfile's `post_install` hook, or from a
1087
+ podspec, then update these method calls.
1088
+
1089
+
1090
+ ### Enhancements
1091
+
1092
+ * [#188](https://github.com/CocoaPods/CocoaPods/pull/188): `list` command now
1093
+ displays the specifications introduced in the master repo if it is given as an
1094
+ option the number of days to take into account.
1095
+
1096
+ * [#188](https://github.com/CocoaPods/CocoaPods/pull/188): Transferred search
1097
+ layout improvements and options to `list` command.
1098
+
1099
+ * [#166](https://github.com/CocoaPods/CocoaPods/issues/166): Added printing
1100
+ of homepage and source to search results.
1101
+
1102
+ * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Added `--stat`
1103
+ option to display watchers and forks for pods hosted on GitHub.
1104
+
1105
+ * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Introduced colors
1106
+ and tuned layout of search.
1107
+
1108
+ * [#112](https://github.com/CocoaPods/CocoaPods/issues/112): Introduced `--push`
1109
+ option to `$ pod setup`. It configures the master spec repository to use the private
1110
+ push URL. The change is preserved in future calls to `$ pod setup`.
1111
+
1112
+ * [#153](https://github.com/CocoaPods/CocoaPods/issues/153): It is no longer
1113
+ required to call `$ pod setup`.
1114
+
1115
+ * [#163](https://github.com/CocoaPods/CocoaPods/issues/163): Print a template
1116
+ for a new ticket when an error occurs.
1117
+
1118
+ * Added a new Github-specific downloader that can download repositories as a
1119
+ gzipped tarball.
1120
+
1121
+ * No more global state is kept during resolving of dependencies.
1122
+
1123
+ * Updated Xcodeproj to have a friendlier API.
1124
+
1125
+
1126
+ ### Fixes
1127
+
1128
+ * [#142](https://github.com/CocoaPods/CocoaPods/issues/142): Xcode 4.3.2 no longer
1129
+ supports passing the -fobj-arc flag to the linker and will fail to build. The
1130
+ addition of this flag was a workaround for a compiler bug in previous versions.
1131
+ This flag is no longer included by default - to keep using this flag, you need to
1132
+ add `set_arc_compatibility_flag!` to your Podfile.
1133
+
1134
+ * [#183](https://github.com/CocoaPods/CocoaPods/issues/183): Fix for
1135
+ `.DS_Store` file in `~/.cocoapods` prevents `$ pod install` from running.
1136
+
1137
+ * [#134](https://github.com/CocoaPods/CocoaPods/issues/134): Match
1138
+ `IPHONEOS_DEPLOYMENT_TARGET` build setting with `deployment_target` option in
1139
+ generated Pods project file.
1140
+
1141
+ * [#142](https://github.com/CocoaPods/CocoaPods/issues/): Add `-fobjc-arc` to
1142
+ `OTHER_LD_FLAGS` if _any_ pods require ARC.
1143
+
1144
+ * [#148](https://github.com/CocoaPods/CocoaPods/issues/148): External encoding
1145
+ set to UTF-8 on Ruby 1.9 to fix crash caused by non-ascii characters in pod
1146
+ description.
1147
+
1148
+ * Ensure all header search paths are quoted in the xcconfig file.
1149
+
1150
+ * Added weak quoting to `ibtool` input paths.
1151
+
1152
+
1153
+ ## 0.5.0
1154
+
1155
+ No longer requires MacRuby. Runs on MRI 1.8.7 (OS X system version) and 1.9.3.
1156
+
1157
+ A full list of all the changes since 0.3.0 can be found [here][7].
1158
+
1159
+
1160
+ ## 0.4.0
1161
+
1162
+ Oops, accidentally skipped this version.
1163
+
1164
+
1165
+ ## 0.3.0
1166
+
1167
+ ### Multiple targets
1168
+
1169
+ Add support for multiple static library targets in the Pods Xcode project with
1170
+ different sets of depedencies. This means that you can create a separate
1171
+ library which contains all dependencies, including extra ones that you only use
1172
+ in, for instance, a debug or test build. [[docs][1]]
1173
+
1174
+ ```ruby
1175
+ # This Podfile will build three static libraries:
1176
+ # * libPods.a
1177
+ # * libPods-debug.a
1178
+ # * libPods-test.a
1179
+
1180
+ # This dependency is included in the `default` target, which generates the
1181
+ # `libPods.a` library, and all non-exclusive targets.
1182
+ dependency 'SSCatalog'
1183
+
1184
+ target :debug do
1185
+ # This dependency is only included in the `debug` target, which generates
1186
+ # the `libPods-debug.a` library.
1187
+ dependency 'CocoaLumberjack'
1188
+ end
1189
+
1190
+ target :test, :exclusive => true do
1191
+ # This dependency is *only* included in the `test` target, which generates
1192
+ # the `libPods-test.a` library.
1193
+ dependency 'Kiwi'
1194
+ end
1195
+ ```
1196
+
1197
+ ### Install libraries from anywhere
1198
+
1199
+ A dependency can take a git url if the repo contains a podspec file in its
1200
+ root, or a podspec can be loaded from a file or HTTP location. If no podspec is
1201
+ available, a specification can be defined inline in the Podfile. [[docs][2]]
1202
+
1203
+ ```ruby
1204
+ # From a spec repo.
1205
+ dependency 'SSToolkit'
1206
+
1207
+ # Directly from the Pod’s repo (if it contains a podspec).
1208
+ dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git'
1209
+
1210
+ # Directly from the Pod’s repo (if it contains a podspec) with a specific commit (or tag).
1211
+ dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git',
1212
+ :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b'
1213
+
1214
+ # From a podspec that's outside a spec repo _and_ the library’s repo. This can be a file or http url.
1215
+ dependency 'SSToolkit', :podspec => 'https://raw.github.com/gist/1353347/ef1800da9c5f5d267a642b8d3950b41174f2a6d7/SSToolkit-0.1.1.podspec'
1216
+
1217
+ # If no podspec is available anywhere, you can define one right in your Podfile.
1218
+ dependency do |s|
1219
+ s.name = 'SSToolkit'
1220
+ s.version = '0.1.3'
1221
+ s.platform = :ios
1222
+ s.source = { :git => 'https://github.com/samsoffes/sstoolkit.git', :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b' }
1223
+ s.resources = 'Resources'
1224
+ s.source_files = 'SSToolkit/**/*.{h,m}'
1225
+ s.frameworks = 'QuartzCore', 'CoreGraphics'
1226
+
1227
+ def s.post_install(target)
1228
+ prefix_header = config.project_pods_root + target.prefix_header_filename
1229
+ prefix_header.open('a') do |file|
1230
+ file.puts(%{#ifdef __OBJC__\n#import "SSToolkitDefines.h"\n#endif})
1231
+ end
1232
+ end
1233
+ end
1234
+ ```
1235
+
1236
+ ### Add a `post_install` hook to the Podfile class
1237
+
1238
+ This allows the user to customize, for instance, the generated Xcode project
1239
+ _before_ it’s written to disk. [[docs][3]]
1240
+
1241
+ ```ruby
1242
+ # Enable garbage collection support for MacRuby applications.
1243
+ post_install do |installer|
1244
+ installer.project.targets.each do |target|
1245
+ target.build_configurations.each do |config|
1246
+ config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
1247
+ end
1248
+ end
1249
+ end
1250
+ ```
1251
+
1252
+ ### Manifest
1253
+
1254
+ Generate a Podfile.lock file next to the Podfile, which contains a manifest of
1255
+ your application’s dependencies and their dependencies.
1256
+
1257
+ ```
1258
+ PODS:
1259
+ - JSONKit (1.4)
1260
+ - LibComponentLogging-Core (1.1.4)
1261
+ - LibComponentLogging-NSLog (1.0.2):
1262
+ - LibComponentLogging-Core (>= 1.1.4)
1263
+ - RestKit-JSON-JSONKit (0.9.3):
1264
+ - JSONKit
1265
+ - RestKit (= 0.9.3)
1266
+ - RestKit-Network (0.9.3):
1267
+ - LibComponentLogging-NSLog
1268
+ - RestKit (= 0.9.3)
1269
+ - RestKit-ObjectMapping (0.9.3):
1270
+ - RestKit (= 0.9.3)
1271
+ - RestKit-Network (= 0.9.3)
1272
+
1273
+ DOWNLOAD_ONLY:
1274
+ - RestKit (0.9.3)
1275
+
1276
+ DEPENDENCIES:
1277
+ - RestKit-JSON-JSONKit
1278
+ - RestKit-ObjectMapping
1279
+ ```
1280
+
1281
+ ### Generate Xcode projects from scratch
1282
+
1283
+ We no longer ship template projects with the gem, but instead generate them
1284
+ programmatically. This code has moved out into its own [Xcodeproj gem][4],
1285
+ allowing you to automate Xcode related tasks.
1286
+
1287
+
1288
+
1289
+
1290
+ [1]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L151
1291
+ [2]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L82
1292
+ [3]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L185
1293
+ [4]: https://github.com/CocoaPods/Xcodeproj
1294
+ [5]: https://github.com/tomaz/appledoc
1295
+ [6]: https://github.com/CocoaPods/CocoaPods/compare/0.5.1...0.6.0
1296
+ [7]: https://github.com/CocoaPods/CocoaPods/compare/0.3.10...0.5.0