Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[Readme] Update.

  • Loading branch information...
commit 9cfa712d4d7e5eba838c2877d3cbee83a1909e96 1 parent e7dbbe2
@fabiopelosin fabiopelosin authored
Showing with 37 additions and 22 deletions.
  1. +37 −22 README.md
View
59 README.md
@@ -5,44 +5,57 @@
This repository contains specifications of open-source Objective-C libraries, which are used by [CocoaPods](https://github.com/CocoaPods/CocoaPods) to manage library dependencies for your Xcode project.
-### Creating specifications
+## Creating specifications
First of all, you need to install the tools.
- $ [sudo] gem install cocoapods
- $ pod setup
+```console
+$ [sudo] gem install cocoapods
+```
-CocoaPods uses a versioning scheme known as [Semantic Versioning](http://semver.org/). See this [example](https://github.com/CocoaPods/Specs/wiki/Cross-dependencies-resolution-example) for more info on why this scheme is used.
+Then you can have the CocoaPods `pod` command create a stub specification:
-If the library, that you are creating a specification for, does not yet have any tagged versions in its repo, then it’s best to start with the lowest version ‘0.0.1’, which will ensure that once the author does add tagged versions they will be equal or higher than ‘0.0.1’. It is _your_ responsibility to ask the author of the library to tag versions, luckily we have [a template](https://github.com/CocoaPods/Specs/wiki/%22Please-add-semantic-version-tags%22-issue-template) for this.
+```console
+$ pod spec create Bananas
+$ pod spec create https://github.com/Bananas/Bananas # For libraries hosted on GitHub
+```
-A specification file has to be namespaced by the library’s name and the version for which the specification is meant. For instance, the directory for a library named ‘Bananas’ with version ‘1.2.3’ should be:
+Now edit the stub specification following the explanations therein contained. This file is a [Ruby](http://www.ruby-lang.org/) source file.
- $ mkdir -p Bananas/1.2.3
- $ cd Bananas/1.2.3
+```console
+$ vim Bananas.podspec
+```
-Then you can have the CocoaPods `pod` command create a stub specification:
+You can verify the specification file with the lint command, which checks for common errors and whether the pod builds.
- $ pod spec create Bananas
+```console
+$ pod spec lint Bananas.podspec --verbose
+```
-Now edit the stub specification following the explanations therein contained. This file is a [Ruby](http://www.ruby-lang.org/) source file.
+Once you have created a working specification create a pull request. Once accepted, you will receive push access to this repo. Feel free to push updates, specs for other libraries you use, and participate in other tickets.
- $ vim Bananas.podspec
+If you have push access you can publish all the podspecs in a working directory.
-You can verify the specification file with the lint command.
+```console
+$ pod setup --push # Run only once
+$ pod push master
+```
- $ pod spec lint Bananas.podspec
-Before create a pull request, please verify the specification on a test project locally. Create a Podfile:
+### Namespacing
-```ruby
-platform :ios
-dependency 'Bananas', :podspec => 'Bananas.podspec'
-```
+A specification file has to be namespaced by the library’s name and the version for which the specification is meant. For instance, the directory for a library named ‘Bananas’ with version ‘1.2.3’ should be:
-where `:podspec` point to a file.
+ $ mkdir -p Bananas/1.2.3
+ $ cd Bananas/1.2.3
-Once you have created a working specification create a pull request. Once accepted, you will receive push access to this repo. Feel free to push updates, specs for other libraries you use, and participate in other tickets.
+### Versioning
+
+CocoaPods uses a versioning scheme known as [Semantic Versioning](http://semver.org/). See this [example](https://github.com/CocoaPods/Specs/wiki/Cross-dependencies-resolution-example) for more info on why this scheme is used.
+
+If the library, that you are creating a specification for, does not yet have any tagged versions in its repo, then it’s best to start with the lowest version ‘0.0.1’, which will ensure that once the author does add tagged versions they will be equal or higher than ‘0.0.1’. It is _your_ responsibility to ask the author of the library to tag versions, luckily we have [a template](https://github.com/CocoaPods/Specs/wiki/%22Please-add-semantic-version-tags%22-issue-template) for this.
+
+## Check the entire repo
You can also verify the entire set by running the rake task.
@@ -50,6 +63,8 @@ You can also verify the entire set by running the rake task.
_(Note: this is run on every commit by [Travis](http://travis-ci.org/#!/CocoaPods/Specs))_
-### License
+## License
These specifications and CocoaPods are available under the [MIT license](http://www.opensource.org/licenses/mit-license.php).
+
+
Please sign in to comment.
Something went wrong with that request. Please try again.