Changelog History
Page 12
-
v0.11.1 Changes
August 09, 2012๐ ###### Bug fixes
- ๐ Fixed a crash related to subspecs without header files. [#449]
- Git submodules are loaded after the appropriate referenced is checked out and will be not loaded anymore in the cache. [#451]
- ๐ Fixed SVN support for the head version. [#432]
-
v0.11.0 Changes
August 08, 2012Enhancements
- โ Added support for public headers. [#440]
- โ Added
pod repo lint
. [#423] - ๐ Improved support for
:head
option and SVN repositories. - When integrating Pods with a project without "Frameworks" group in root of the project, raise an informative message. #431
- โฌ๏ธ Dropped support for legacy
config.ios?
andconfig.osx?
๐ ###### Bug fixes
- ๐ Version message now correctly terminates with a 0 exit status.
- Resolved an issue that lead to git error messages in the error report.
-
v0.10.0 Changes
July 29, 2012Enhancements
- โ Added a
--local-only
option topod push
so that developers can push locally and test before pushing to a remote. #405 - โ Added line number information for errors generated in the Podfile. #408
- Pods stored in git repositories now initialize submodules. #406
๐ ###### Bug fixes
- โ Removed note about the post install hook form the linter.
- ๐ Improved xcodebuild error detection in the linter.
- โก๏ธ Ensure the git cache exists, before updating it, when trying to install the โbleeding edgeโ of a pod. #426
- Clean downloaded external pods after resolving and activating (sub)specs. #414
- ๐ Support
tar.gz
as filename in a HTTP source. #428
- โ Added a
-
v0.9.2 Changes
July 16, 2012 -
v0.9.1 Changes
July 14, 2012 -
v0.9.0 Changes
July 14, 2012Enhancements
- ๐ฎ Force downloading the โbleeding edgeโ version of a pod with the
:head
flag. #392 - ๐ Support for weak frameworks. #263
- ๐ Use double quotes when shelling out. This makes a url like
$HOME/local/lib
work. #396
๐ ###### Bug fixes
- ๐ Relaxed linter to accepts pod that only specify paths to preserve (like TuneupJS).
- ๐ Gender neutralization of podfile documentation. #384
- ๐ Exit early when using an old RubyGems version (< 1.4.0). These versions contain subtle bugs related to prerelease version comparisons. Unfortunately, OS X >= 10.7 ships with 1.3.6. #398
- ๐ฎ Force downloading the โbleeding edgeโ version of a pod with the
-
v0.8.0 Changes
July 09, 2012 -
v0.7.0 Changes
July 06, 2012Features
- โ Added support for branches in git repos.
- โ Added support for linting remote files, i.e.
pod spec lint http://raw/file.podspec
. - ๐ Improved
Spec create template
. - The indentation is automatically stripped for podspecs strings.
๐ ###### Bug fixes
- โ The default warnings of Xcode are not overriden anymore.
- ๐ Improvements to the detection of the license files.
- ๐ Improvements to
pod spec lint
. - CocoaPods is now case insensitive.
-
v0.6.1 Changes
July 01, 2012๐ ###### Bug fixes
- Switched to master branch for specs repo.
- ๐ Fixed a crash with
pod spec lint
related topreserve_paths
. - ๐ Fixed a bug that caused subspecs to not inherit the compiler flags of the top level specification.
- ๐ Fixed a bug that caused duplication of system framworks.
-
v0.6.0 Changes
July 01, 2012A full list of all the changes since 0.5.1 can be found [here][6].
๐ Link with specific targets
CocoaPods can now integrate all the targets specified in your
Podfile
.To specify which target, in your Xcode project, a Pods target should be linked with, use the
link_with
method like so:platform :ios workspace 'MyWorkspace' link_with ['MyAppTarget', 'MyOtherAppTarget'] dependency 'JSONKit' target :test, :exclusive => true do xcodeproj 'TestProject', 'Test' => :debug link_with 'TestRunnerTarget' dependency 'Kiwi' end
๐ NOTE: As you can see it can take either one target name, or an array of names.
If no explicit Xcode workspace is specified and only one project exists in the same directory as the Podfile, then the name of that project is used as the workspaceโs name.
If no explicit Xcode project is specified for a target, it will use the Xcode project of the parent target. If no target specifies an expicit Xcode project and there is only one project in the same directory as the Podfile then that project will be used.
If no explicit target is specified, then the Pods target will be linked with the first target in your project. So if you only have one target you do not need to specify the target to link with.
๐ See #76 for more info.
๐ Finally, CocoaPods will add build configurations to the Pods project for all ๐ง configurations in the other projects in the workspace. By default the ๐ configurations are based on the
Release
configuration, to base them on the ๐Debug
configuration you will have to explicitely specify them as can be seen above in the following line:xcodeproj 'TestProject', 'Test' => :debug
๐ Documentation
๐ CocoaPods will now generate documentation for every library with the ๐ [
appledoc
][5] tool and install it into Xcodeโs documentation viewer.You can customize the settings used like so:
s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
๐ Alternatively, you can specify a URL where an HTML version of the documentation can be found:
s.documentation = { :html => 'http://example.com/docs/index.html' }
๐ See #149 and #151 for more info.
๐ Licenses & Documentation
CocoaPods will now generate two 'Acknowledgements' files for each target specified in your Podfile which contain the License details for each Pod used in that target (assuming details have been specified in the Pod spec).
There is a markdown file, for general consumption, as well as a property list file that can be added to a settings bundle for an iOS application.
You don't need to do anything for this to happen, it should just work.
0๏ธโฃ If you're not happy with the default boilerplate text generated for the title, header and footnotes in the files, it's possible to customise these by overriding the methods that generate the text in your
Podfile
like this:class ::Pod::Generator::Acknowledgements def header_text "My custom header text" end end
You can even go one step further and customise the text on a per target basis by checking against the target name, like this:
class ::Pod::Generator::Acknowledgements def header_text if @target_definition.label.end_with?("MyTargetName") "Custom header text for MyTargetName" else "Custom header text for other targets" end end end
Finally, here's a list of the methods that are available to override:
header_title header_text footnote_title footnote_text
Introduced two new classes: LocalPod and Sandbox.
The Sandbox represents the entire contents of the
POD_ROOT
(normallySOURCE_ROOT/Pods
). A LocalPod represents a pod that has been installed within the Sandbox.๐ These two classes can be used as better homes for various pieces of logic ๐ currently spread throughout the installation process and provide a better API for working with the contents of this directory.
Xcodeproj API
All Xcodeproj APIs are now in
snake_case
, instead ofcamelCase
. If you are manipulating the project from your Podfile'spost_install
hook, or from a โก๏ธ podspec, then update these method calls.โจ Enhancements
#188:
list
command now displays the specifications introduced in the master repo if it is given as an option the number of days to take into account.#188: Transferred search layout improvements and options to
list
command.๐จ #166: Added printing of homepage and source to search results.
#177: Added
--stat
option to display watchers and forks for pods hosted on GitHub.#177: Introduced colors and tuned layout of search.
#112: Introduced
--push
option to$ pod setup
. It configures the master spec repository to use the private push URL. The change is preserved in future calls to$ pod setup
.#153: It is no longer required to call
$ pod setup
.๐จ #163: Print a template for a new ticket when an error occurs.
โ Added a new Github-specific downloader that can download repositories as a gzipped tarball.
No more global state is kept during resolving of dependencies.
โก๏ธ Updated Xcodeproj to have a friendlier API.
๐ Fixes
#142: Xcode 4.3.2 no longer supports passing the -fobj-arc flag to the linker and will fail to build. The addition of this flag was a workaround for a compiler bug in previous versions. This flag is no longer included by default - to keep using this flag, you need to add
set_arc_compatibility_flag!
to your Podfile.#183: Fix for
.DS_Store
file in~/.cocoapods
prevents$ pod install
from running.#134: Match
IPHONEOS_DEPLOYMENT_TARGET
build setting withdeployment_target
option in generated Pods project file.#142: Add
-fobjc-arc
toOTHER_LDFLAGS
if any pods require ARC.#148: External encoding set to UTF-8 on Ruby 1.9 to fix crash caused by non-ascii characters in pod description.
Ensure all header search paths are quoted in the xcconfig file.
โ Added weak quoting to
ibtool
input paths.