Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 283 lines (195 sloc) 8.838 kb
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
1 ## 0.6.0
2
3 A full list of all the changes since 0.5.1 can be found [here][6].
4
5
a3f084b @alloy Add entry to the CHANGELOG regarding link_with.
alloy authored
6 ### Link with specific targets
7
8 CocoaPods can now integrate all the targets specified in your `Podfile`.
9
10 To specify which target, in your Xcode project, a Pods target should be linked
11 with, use the `link_with` method like so:
12
13 ```ruby
14 platform :ios
15
16 link_with ['MyAppTarget', 'MyOtherAppTarget']
17 dependency 'JSONKit'
18
19 target :test, :exclusive => true do
20 link_with 'TestRunnerTarget'
21 dependency 'Kiwi'
22 end
23 ```
24
25 _NOTE: As you can see it can take either one target name, or an array of names._
26
27 Alternatively, you can also specify the target to link with in the target
28 options like so:
29
30 ```ruby
31 target :test, :exclusive => true, :link_with => 'TestRunnerTarget' do
32 dependency 'Kiwi'
33 end
34 ```
35
36 If no explicit target is specified, then the Pods target will be linked with
37 the first target in your project. So if you only have one target you do not
38 need to specify the target to link with.
39
40 See [#76](https://github.com/CocoaPods/CocoaPods/issues/76) for more info.
41
42
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
43 ### Documentation
44
45 CocoaPods will now generate documentation for every library with the
46 [`appledoc`][5] tool and install it into Xcode’s documentation viewer.
47
48 You can customize the settings used like so:
49
50 ```ruby
51 s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
52 ```
53
54 Alternatively, you can specify a URL where an HTML version of the documentation
55 can be found:
56
57 ```ruby
58 s.documentation = { :html => 'http://example.com/docs/index.html' }
59 ```
60
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
61 See [#149](https://github.com/CocoaPods/CocoaPods/issues/149) and
a3f084b @alloy Add entry to the CHANGELOG regarding link_with.
alloy authored
62 [#151](https://github.com/CocoaPods/CocoaPods/issues/151) for more info.
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
63
64
65 ### Introduced two new classes: LocalPod and Sandbox.
66
67 The Sandbox represents the entire contents of the `POD_ROOT` (normally
68 `SOURCE_ROOT/Pods`). A LocalPod represents a pod that has been installed within
69 the Sandbox.
70
71 These two classes can be used as better homes for various pieces of logic
72 currently spread throughout the installation process and provide a better API
73 for working with the contents of this directory.
74
75
bd07c85 @alloy Add note to CHANGELOG.md about Xcodeproj API changes.
alloy authored
76 ### Xcodeproj API
77
78 All Xcodeproj APIs are now in `snake_case`, instead of `camelCase`. If you are
79 manipulating the project from your Podfile's `post_install` hook, or from a
80 podspec, then update these method calls.
81
82
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
83 ### Enhancements
84
0dd703f @fabiopelosin Updated changelog
fabiopelosin authored
85 * [#166](https://github.com/CocoaPods/CocoaPods/issues/166): Added printing
86 of homepage and source to search results.
87
88 * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Added `--stat`
89 option to display watchers and forks for pods hosted on GitHub.
90
91 * [#177](https://github.com/CocoaPods/CocoaPods/issues/177): Introduced colors
92 and tuned layout of search.
93
94 * [#112](https://github.com/CocoaPods/CocoaPods/issues/112): Introduced `--push`
95 option to `$ pod setup`. It configures the master spec repository to use the private
96 push URL. The change is preserved in future calls to `$ pod setup`.
97
98 * [#153](https://github.com/CocoaPods/CocoaPods/issues/153): It is no longer
99 required to call `$ pod setup`.
100
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
101 * [#163](https://github.com/CocoaPods/CocoaPods/issues/163): Print a template
102 for a new ticket when an error occurs.
103
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
104 * Added a new Github-specific downloader that can download repositories as a
105 gzipped tarball.
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
106
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
107 * No more global state is kept during resolving of dependencies.
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
108
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
109 * Updated Xcodeproj to have a friendlier API.
110
111
112 ### Fixes
113
0dd703f @fabiopelosin Updated changelog
fabiopelosin authored
114 * [#183](https://github.com/CocoaPods/CocoaPods/issues/183): Fix for
115 `.DS_Store` file in `~/.cocoapods` prevents `$ pod install` from running.
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
116
117 * [#134](https://github.com/CocoaPods/CocoaPods/issues/134): Match
118 `IPHONEOS_DEPLOYMENT_TARGET` build setting with `deployment_target` option in
119 generated Pods project file.
120
121 * [#142](https://github.com/CocoaPods/CocoaPods/issues/): Add `-fobjc-arc` to
122 `OTHER_LD_FLAGS` if _any_ pods require ARC.
123
124 * [#148](https://github.com/CocoaPods/CocoaPods/issues/148): External encoding
125 set to UTF-8 on Ruby 1.9 to fix crash caused by non-ascii characters in pod
126 description.
127
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
128 * Ensure all header search paths are quoted in the xcconfig file.
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
129
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
130 * Added weak quoting to `ibtool` input paths.
131
132
133 ---------------------------------------
134
135 ## 0.5.0
136
137 No longer requires MacRuby. Runs on MRI 1.8.7 (OS X system version) and 1.9.3.
138
139 A full list of all the changes since 0.3.0 can be found [here][7].
140
141
142 ---------------------------------------
143
144 ## 0.4.0
145
146 Oops, accidentally skipped this version.
147
148
149 ---------------------------------------
150
7cb4ea0 @alloy Use a h2 for the version in CHANGELOG
alloy authored
151 ## 0.3.0
4f0d85d @alloy Add CHANGELOG.md
alloy authored
152
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
153 ### Multiple targets
4f0d85d @alloy Add CHANGELOG.md
alloy authored
154
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
155 Add support for multiple static library targets in the Pods Xcode project with
156 different sets of depedencies. This means that you can create a separate
157 library which contains all dependencies, including extra ones that you only use
158 in, for instance, a debug or test build. [[docs][1]]
4f0d85d @alloy Add CHANGELOG.md
alloy authored
159
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
160 ```Ruby
161 # This Podfile will build three static libraries:
162 # * libPods.a
163 # * libPods-debug.a
164 # * libPods-test.a
4f0d85d @alloy Add CHANGELOG.md
alloy authored
165
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
166 # This dependency is included in the `default` target, which generates the
167 # `libPods.a` library, and all non-exclusive targets.
168 dependency 'SSCatalog'
4f0d85d @alloy Add CHANGELOG.md
alloy authored
169
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
170 target :debug do
171 # This dependency is only included in the `debug` target, which generates
172 # the `libPods-debug.a` library.
173 dependency 'CocoaLumberjack'
174 end
4f0d85d @alloy Add CHANGELOG.md
alloy authored
175
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
176 target :test, :exclusive => true do
177 # This dependency is *only* included in the `test` target, which generates
178 # the `libPods-test.a` library.
179 dependency 'Kiwi'
180 end
181 ```
4f0d85d @alloy Add CHANGELOG.md
alloy authored
182
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
183 ### Install libraries from anywhere
4f0d85d @alloy Add CHANGELOG.md
alloy authored
184
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
185 A dependency can take a git url if the repo contains a podspec file in its
186 root, or a podspec can be loaded from a file or HTTP location. If no podspec is
187 available, a specification can be defined inline in the Podfile. [[docs][2]]
188
189 ```Ruby
190 # From a spec repo.
191 dependency 'SSToolkit'
192
193 # Directly from the Pod’s repo (if it contains a podspec).
194 dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git'
195
196 # Directly from the Pod’s repo (if it contains a podspec) with a specific commit (or tag).
197 dependency 'SSToolkit', :git => 'https://github.com/samsoffes/sstoolkit.git',
198 :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b'
199
200 # From a podspec that's outside a spec repo _and_ the library’s repo. This can be a file or http url.
201 dependency 'SSToolkit', :podspec => 'https://raw.github.com/gist/1353347/ef1800da9c5f5d267a642b8d3950b41174f2a6d7/SSToolkit-0.1.1.podspec'
202
203 # If no podspec is available anywhere, you can define one right in your Podfile.
204 dependency do |s|
205 s.name = 'SSToolkit'
206 s.version = '0.1.3'
207 s.platform = :ios
208 s.source = { :git => 'https://github.com/samsoffes/sstoolkit.git', :commit => '2adcd0f81740d6b0cd4589af98790eee3bd1ae7b' }
209 s.resources = 'Resources'
210 s.source_files = 'SSToolkit/**/*.{h,m}'
211 s.frameworks = 'QuartzCore', 'CoreGraphics'
212
213 def s.post_install(target)
214 prefix_header = config.project_pods_root + target.prefix_header_filename
215 prefix_header.open('a') do |file|
216 file.puts(%{#ifdef __OBJC__\n#import "SSToolkitDefines.h"\n#endif})
217 end
218 end
219 end
220 ```
221
222 ### Add a `post_install` hook to the Podfile class
223
224 This allows the user to customize, for instance, the generated Xcode project
225 _before_ it’s written to disk. [[docs][3]]
226
227 ```Ruby
228 # Enable garbage collection support for MacRuby applications.
229 post_install do |installer|
230 installer.project.targets.each do |target|
6e4ee6e @lukeredpath Fixes for the latest version of xcodeproj
lukeredpath authored
231 target.build_configurations.each do |config|
232 config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
6cf539a @alloy Include examples in CHANGELOG.
alloy authored
233 end
234 end
235 end
236 ```
237
238 ### Manifest
239
240 Generate a Podfile.lock file next to the Podfile, which contains a manifest of
241 your application’s dependencies and their dependencies.
242
243 ```
244 PODS:
245 - JSONKit (1.4)
246 - LibComponentLogging-Core (1.1.4)
247 - LibComponentLogging-NSLog (1.0.2):
248 - LibComponentLogging-Core (>= 1.1.4)
249 - RestKit-JSON-JSONKit (0.9.3):
250 - JSONKit
251 - RestKit (= 0.9.3)
252 - RestKit-Network (0.9.3):
253 - LibComponentLogging-NSLog
254 - RestKit (= 0.9.3)
255 - RestKit-ObjectMapping (0.9.3):
256 - RestKit (= 0.9.3)
257 - RestKit-Network (= 0.9.3)
258
259 DOWNLOAD_ONLY:
260 - RestKit (0.9.3)
261
262 DEPENDENCIES:
263 - RestKit-JSON-JSONKit
264 - RestKit-ObjectMapping
265 ```
266
267 ### Generate Xcode projects from scratch
268
269 We no longer ship template projects with the gem, but instead generate them
270 programmatically. This code has moved out into its own [Xcodeproj gem][4],
271 allowing you to automate Xcode related tasks.
272
273
274
275
276 [1]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L151
277 [2]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L82
278 [3]: https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/podfile.rb#L185
279 [4]: https://github.com/CocoaPods/Xcodeproj
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
280 [5]: https://github.com/tomaz/appledoc
c3bb9a1 @alloy Compare 0.5.1 to HEAD until we actually tag 0.6.0 and explicitely link t...
alloy authored
281 [6]: https://github.com/CocoaPods/CocoaPods/compare/0.5.1...HEAD
311e6cc @alloy Update CHANGELOG with changes for 0.6.0 so far.
alloy authored
282 [7]: https://github.com/CocoaPods/CocoaPods/compare/0.3.10...0.5.0
Something went wrong with that request. Please try again.