cocoaseeds 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -27
- data/lib/cocoaseeds/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b3fc81f85b35705e7e7948553937276bcd98fe5
|
4
|
+
data.tar.gz: 7e3089c9f4e929dd0762e706e7e04fb3c5bf6c5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60e6c7a44361af15ac80dc17f0cc48cdd76781cfa8ce5ff15cd8bc8600fb60e674534689fa633d205c42bb09c668e0e26597805385a785910ba355198c05cc2b
|
7
|
+
data.tar.gz: 98474437de8a640de0e9cac5785c2c37c438b370d6b3dbed24f38efecf168ce72c275f7ff1657184da073a75fabd835b65cd4f2f4299318d0d511fee9a4594af
|
data/README.md
CHANGED
@@ -10,10 +10,10 @@ Git Submodule Alternative for Cocoa. Inspired by [CocoaPods](https://cocoapods.o
|
|
10
10
|
Why?
|
11
11
|
----
|
12
12
|
|
13
|
-
- iOS 7 projects
|
13
|
+
- iOS 7 projects do not support the use of Swift libraries from [CocoaPods](https://cocoapods.org) or [Carthage](https://github.com/Carthage/Carthage).
|
14
14
|
> ld: warning: embedded dylibs/frameworks only run on iOS 8 or later
|
15
15
|
|
16
|
-
- CocoaSeeds just downloads the source code and add to your Xcode project. No static libraries, no dynamic frameworks
|
16
|
+
- CocoaSeeds just downloads the source code and add it to your Xcode project. No static libraries, no dynamic frameworks.
|
17
17
|
- Git Submodule sucks.
|
18
18
|
- It can be used with CocoaPods and Carthage.
|
19
19
|
|
@@ -28,16 +28,14 @@ $ [sudo] gem install cocoaseeds
|
|
28
28
|
```
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
How to Use CocoaSeeds
|
32
32
|
----------------
|
33
33
|
|
34
|
-
### 1. Write Seedfile
|
34
|
+
### 1. Write a Seedfile
|
35
35
|
|
36
|
-
*Seedfile* is a ruby script that
|
36
|
+
A *Seedfile* is a ruby script that manifests the dependencies of your project. You can manage third party libraries by simply specifying them in the Seedfile. Currently, CocoaSeeds supports only GitHub repositories. However, we are planning to support other version control systems.
|
37
37
|
|
38
|
-
Let's make an empty file named **Seedfile** in the
|
39
|
-
|
40
|
-
Here is a sample Seedfile:
|
38
|
+
Let's make an empty file named **Seedfile** in the directory where your Xcode project file is located. Here is a sample Seedfile:
|
41
39
|
|
42
40
|
**Seedfile**
|
43
41
|
|
@@ -53,7 +51,9 @@ target :MyAppTest do
|
|
53
51
|
end
|
54
52
|
```
|
55
53
|
|
56
|
-
Can you guess what each
|
54
|
+
Can you guess what each line does? It has basic information about the third party libraries.
|
55
|
+
|
56
|
+
Each line in a Seedfile consists of three parts: source, tag, and files. Let's look at the second line of the previous sample.
|
57
57
|
|
58
58
|
```ruby
|
59
59
|
github "devxoul/JLToast", "1.2.5", :files => "JLToast/*.{swift,h}"
|
@@ -61,18 +61,18 @@ github "devxoul/JLToast", "1.2.5", :files => "JLToast/*.{swift,h}"
|
|
61
61
|
(Source) (Tag) (Files)
|
62
62
|
```
|
63
63
|
|
64
|
-
|
|
65
|
-
|
66
|
-
| Source
|
67
|
-
| Tag
|
68
|
-
| Files
|
64
|
+
| Parts | Example | Required | Default |
|
65
|
+
|--------|-----------------------------------|:--------:|:---------------------:|
|
66
|
+
| Source | `github "devxoul/SwipeBack"` | Required | - |
|
67
|
+
| Tag | `1.0.4` | Required | - |
|
68
|
+
| Files | `:files => "JLToast/*.{swift,h}"` | Optional | `*/**.{h,m,mm,swift}` |
|
69
69
|
|
70
|
-
|
70
|
+
Want to use branch names instead of tags? See the [Branch support](#branch-support) section.
|
71
71
|
|
72
72
|
|
73
73
|
#### Specifying targets
|
74
74
|
|
75
|
-
Third party libraries can be
|
75
|
+
Third party libraries can be included as a specific target by creating a target block. For example, if you want to add some testing libraries such as Quick and Nimble into test target, you can specify them like this:
|
76
76
|
|
77
77
|
```ruby
|
78
78
|
target :MyAppTest do
|
@@ -81,18 +81,15 @@ target :MyAppTest do
|
|
81
81
|
end
|
82
82
|
```
|
83
83
|
|
84
|
-
Source files in the target block will only be added to target.
|
85
|
-
|
86
|
-
|
87
84
|
### 2. Install dependencies
|
88
85
|
|
89
|
-
After you done with Seedfile, it's time to
|
86
|
+
After you are done with your Seedfile, it's time to load those libraries into your project. This is pretty simple. Just open the terminal, cd to your project directory and execute `seed install` command.
|
90
87
|
|
91
88
|
```bash
|
92
89
|
$ seed install
|
93
90
|
```
|
94
91
|
|
95
|
-
Then all the source files will be automatically downloaded and added to
|
92
|
+
Then, all the source files will be automatically downloaded and added to a group named 'Seeds'.
|
96
93
|
|
97
94
|
![Seeds-in-Xcode](https://cloud.githubusercontent.com/assets/931655/7502414/cbe45ecc-f476-11e4-9564-450e8887a054.png)
|
98
95
|
|
@@ -105,12 +102,12 @@ Build your project and enjoy!
|
|
105
102
|
Beta Features
|
106
103
|
-------------
|
107
104
|
|
108
|
-
There are some beta features
|
105
|
+
There are some beta features that seem to work but are not fully tested in the real world. Please keep that in mind if you want to use those features. (Don't worry too much. I'm using them for my company's projects.)
|
109
106
|
|
110
107
|
|
111
108
|
#### Branch support
|
112
109
|
|
113
|
-
|
110
|
+
Previously, you could specify a library only with a tag. However, depending on your situation, such as using an experimental branch like `swift-2.0`, you can specify them with a branch name instead of the tag. What you need to do is just replacing the tag with the branch name.
|
114
111
|
|
115
112
|
```ruby
|
116
113
|
github 'devxoul/SwiftyImage', 'swift-2.0', :files => 'SwiftyImage/SwiftyImage.swift'
|
@@ -119,7 +116,7 @@ github 'devxoul/SwiftyImage', 'swift-2.0', :files => 'SwiftyImage/SwiftyImage.sw
|
|
119
116
|
|
120
117
|
#### Resolving filename conflicts
|
121
118
|
|
122
|
-
Since CocoaSeeds
|
119
|
+
Since CocoaSeeds tries to include source files directly rather than linking dynamic frameworks, it is important to make sure that all sources have different names. CocoaSeeds provides a way to do this:
|
123
120
|
|
124
121
|
**Seedfile**
|
125
122
|
|
@@ -142,11 +139,11 @@ Then all of source files installed via CocoasSeeds will have names with the seed
|
|
142
139
|
FAQ
|
143
140
|
---
|
144
141
|
|
145
|
-
* Are you using this in
|
146
|
-
* Of course I am. I'm developing
|
142
|
+
* Are you using this in real-world projects? (Does Apple allow apps to use CocoaSeeds?)
|
143
|
+
* Of course I am. I'm developing a social media service that has about 1.6 million users. The app is on AppStore without any complaints from Apple.
|
147
144
|
|
148
145
|
* Can I ignore **Seeds** folder in VCS *(version control system)*?
|
149
|
-
* Yes, you can
|
146
|
+
* Yes, you can ignore the **Seeds** folder (by adding it to `.gitignore` if you use Git).
|
150
147
|
|
151
148
|
|
152
149
|
License
|
data/lib/cocoaseeds/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoaseeds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Suyeol Jeon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.26.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.26.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: colorize
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.7.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.7.0
|
41
41
|
description: |-
|
42
42
|
Git Submodule Alternative for Cocoa.
|
43
43
|
|