You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/actions/build_ios_app.md
+1-245Lines changed: 1 addition & 245 deletions
Original file line number
Diff line number
Diff line change
@@ -6,255 +6,11 @@ To modify it, go to its source at https://github.com/fastlane/fastlane/blob/mast
6
6
# build_ios_app
7
7
8
8
9
-
Easily build and sign your app (via _gym_)
9
+
This action uses the [`gym`](../tools/gym.md) tool to build your iOS app.
10
10
11
11
12
12
13
13
14
-
<palign="center">
15
-
<imgsrc="/img/actions/gym.png"width="250">
16
-
</p>
17
-
18
-
-------
19
-
20
-
<palign="center">
21
-
<a href="#whats-gym">Features</a> •
22
-
<a href="#usage">Usage</a> •
23
-
<a href="#tips">Tips</a>
24
-
</p>
25
-
26
-
-------
27
-
28
-
<h5align="center"><code>gym</code> is part of <ahref="https://fastlane.tools">fastlane</a>: The easiest way to automate beta deployments and releases for your iOS and Android apps.</h5>
29
-
30
-
# What's gym?
31
-
32
-
_gym_ builds and packages iOS apps for you. It takes care of all the heavy lifting and makes it super easy to generate a signed `ipa` or `app` file 💪
33
-
34
-
_gym_ is a replacement for [shenzhen](https://github.com/nomad/shenzhen).
To access the raw `xcodebuild` output open `~/Library/Logs/gym`
121
-
122
-
# Gymfile
123
-
124
-
Since you might want to manually trigger a new build but don't want to specify all the parameters every time, you can store your defaults in a so called `Gymfile`.
125
-
126
-
Run `fastlane gym init` to create a new configuration file. Example:
127
-
128
-
```ruby-skip-tests
129
-
scheme("Example")
130
-
131
-
sdk("iphoneos9.0")
132
-
133
-
clean(true)
134
-
135
-
output_directory("./build") # store the ipa in this folder
136
-
output_name("MyApp") # the name of the ipa file
137
-
```
138
-
139
-
## Export options
140
-
141
-
Since Xcode 7, _gym_ is using new Xcode API which allows us to specify export options using `plist` file. By default _gym_ creates this file for you and you are able to modify some parameters by using `export_method`, `export_team_id`, `include_symbols` or `include_bitcode`. If you want to have more options, like creating manifest file for app thinning, you can provide your own `plist` file:
142
-
143
-
```ruby-skip-tests
144
-
export_options("./ExportOptions.plist")
145
-
```
146
-
147
-
or you can provide hash of values directly in the `Gymfile`:
148
-
149
-
```ruby-skip-tests
150
-
export_options = {
151
-
method: "ad-hoc",
152
-
manifest: {
153
-
appURL: "https://example.com/My App.ipa",
154
-
},
155
-
thinning: "<thin-for-all-variants>"
156
-
}
157
-
```
158
-
159
-
Optional: If _gym_ can't automatically detect the provisioning profiles to use, you can pass a mapping of bundle identifiers to provisioning profiles:
"com.example.bundleid2" => "Provisioning Profile Name 2"
167
-
}
168
-
}
169
-
```
170
-
171
-
**Note**: If you use [_fastlane_](https://fastlane.tools) with [_match_](https://fastlane.tools/match) you don't need to provide those values manually.
172
-
173
-
For the list of available options run `xcodebuild -help`.
174
-
175
-
## Setup code signing
176
-
177
-
-[More information on how to get started with codesigning](https://docs.fastlane.tools/codesigning/getting-started/)
178
-
-[Docs on how to set up your Xcode project](https://docs.fastlane.tools/codesigning/xcode-project/)
179
-
180
-
## Automating the whole process
181
-
182
-
_gym_ works great together with [_fastlane_](https://fastlane.tools), which connects all deployment tools into one streamlined workflow.
183
-
184
-
Using _fastlane_ you can define a configuration like
_gym_ makes use of the new Xcode 7 API which allows us to specify the export options using a `plist` file. You can find more information about the available options by running `xcodebuild --help`.
245
-
246
-
Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.
247
-
248
-
Note: the [xcbuild-safe.sh script](https://github.com/fastlane/fastlane/blob/master/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.
249
-
250
-
## Use 'ProvisionQL' for advanced Quick Look in Finder
0 commit comments