Skip to content

Commit 846bae8

Browse files
committed
update docs
1 parent a770497 commit 846bae8

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

Docs/Usage.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- [Use dependencies](#use-dependencies)
88
- [Cocoapods](#cocoapods)
99
- [Carthage](#carthage)
10+
- [SDK](#sdk)
1011

1112
# Configuring build settings
1213
There are various ways of configuring build settings
@@ -92,15 +93,15 @@ DEVELOPMENT_TEAM=XXXXXXXXX xcodebuild ...
9293

9394
# Use dependencies
9495

95-
Each target can declare one or more dependencies. See [Dependency](#dependency) for more info
96+
Each target can declare one or more dependencies. See [Dependency](ProjectSpec.md#dependency) in the ProjectSpec for more info about all the properties
9697

9798
### Cocoapods
9899
Use your `podfile` as normal. The pods themselves don't need to be referenced in the project spec. After you generate your project simply run `pod install` which will integrate with your project and create a workspace.
99100

100101
### Carthage
101102
XcodeGen makes integrating Carthage dependencies super easy!
102103

103-
You simply reference them in each target that requires them and XcodeGen does the rest by automatically linking and embedding the carthage frameworks where neccessary.
104+
You simply reference them in each target that requires them and XcodeGen does the rest by automatically linking and embedding the carthage frameworks where necessary.
104105

105106
```yaml
106107
targets:
@@ -111,4 +112,29 @@ targets:
111112
Framework:
112113
dependencies:
113114
- carthage: Alamofire
114-
```
115+
```
116+
117+
XcodeGen automatically creates the build phase that Carthage requires which lists all the files and runs `carthage copy-frameworks`. You can change the invocation of carthage to something different, for example if you are running it with [Mint](https://github.com/yonaskolb/mint). This is then prepended to ` copy frameworks`
118+
119+
```yaml
120+
options:
121+
carthageExecutablePath: mint run Carthage/Carthage carthage
122+
```
123+
124+
By default XcodeGen looks for carthage frameworks in `Carthage/Build`. You can change this with the `carthageBuildPath` option
125+
126+
```yaml
127+
options:
128+
carthageBuildPath: ../../Carthage/Build
129+
```
130+
131+
### SDK
132+
System frameworks and libs can be linked by using the `sdk` dependency type. You can either specify frameworks or libs by using a `.framework` or `.tbd` filename, respectively
133+
134+
```yaml
135+
targets:
136+
App:
137+
dependencies:
138+
- sdk: Contacts.framework
139+
- sdk: libc++.tbd
140+
```

0 commit comments

Comments
 (0)