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: website/src/docs/cli/introduction.md
+20-8Lines changed: 20 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -404,7 +404,7 @@ Available actions:
404
404
|`list`| Lists the latest artifact matching the specified criteria |
405
405
|`list-all`| Lists all artifacts (optionally filtered by platform and traits) |
406
406
|`download`| Downloads an artifact from remote cache to local cache |
407
-
|`upload`| Uploads a binary to remote cache. Accepts `--ad-hoc` flag for Ad-Hoc distritbuion|
407
+
|`upload`| Uploads a binary to remote cache. Accepts `--ad-hoc` flag for Ad-Hoc distribution|
408
408
|`delete`| Deletes artifacts from remote cache |
409
409
|`get-provider-name`| Returns the name of the configured remote cache provider |
410
410
@@ -419,7 +419,7 @@ Actions have different options available:
419
419
|`-p, --platform <string>`| Platform to target (`ios`, `android`, or `harmony`). Must be used with `--traits`|
420
420
|`-t, --traits <list>`| Comma-separated traits that construct the final artifact name. For Android: variant (e.g., `debug`, `release`). For iOS: destination and configuration (e.g., `simulator,Release`) |
421
421
|`--binary-path <string>`| Path to the binary to upload (used with `upload` action) |
422
-
|`--ad-hoc <string>`| Upload IPA for ad-hoc distribution and installation from URL. Additionally uploads index.html and manifest.plist' |
422
+
|`--ad-hoc <string>`| Upload binary for ad-hoc distribution and installation from URL. **iOS**: Uploads IPA, index.html, and manifest.plist. **Android**: Uploads APK and index.html|
423
423
424
424
For example, to download remote cache for iOS simulator with Release configuration, you can use `remote-cache download` with `--name` option
Ad-hoc distribution allows you to share your iOS app with testers without going through the App Store. Testers can install your app directly on their devices by visiting a web page and tapping "Install App".
438
+
Ad-hoc distribution allows you to share your mobile app with testers without going through the App Store or Play Store. Testers can install your app directly on their devices by visiting a web page.
439
439
440
440
**What is Ad-hoc distribution?**
441
441
442
-
Ad-hoc distribution is a method for sharing iOS apps with testers without going through the App Store. It requires devices to be registered in your Apple Developer account and is perfect for beta testing, internal testing, or client demos. Apps installed this way will appear on the device's home screen just like any other app.
442
+
Ad-hoc distribution is a method for sharing mobile apps with testers without going through official app stores. It's perfect for beta testing, internal testing, or client demos. For iOS, devices must be registered in your Apple Developer account. For Android, testers need to enable "Install from Unknown Sources" in their device settings. Apps installed this way will appear on the device's home screen just like any other app.
443
443
444
444
**How it works:**
445
445
446
-
1. Build your app with a valid provisioning profile that includes your testers' devices
446
+
1. Build your app with proper configuration
447
+
447
448
```shell
449
+
# iOS - requires valid provisioning profile that includes your testers devices
448
450
npx rock build:ios --archive # ...other required flags
451
+
452
+
# Android - requires signing with keystore (use any signed variant e.g., release)
453
+
npx rock build:android --variant release # ...other required flags
449
454
```
455
+
450
456
2. Use `upload --ad-hoc` to upload the app for ad-hoc distribution
457
+
451
458
```shell
459
+
# iOS
452
460
npx rock remote-cache upload --ad-hoc --platform ios --traits device,Release
461
+
462
+
# Android - traits should match your build variant
463
+
npx rock remote-cache upload --ad-hoc --platform android --traits release
453
464
```
465
+
454
466
3. Share the generated URL with your testers
455
-
4. Testers visit the URL and tap "Install App" to install directly on their device
467
+
4. Testers visit the URL and install the app on their device (iOS: tap "Install App"; Android: Download APK and install)
456
468
457
469
The command creates a special folder structure that includes:
458
470
459
-
- Your signed IPA file
471
+
- Your signed binary (IPA for iOS, APK for Android)
460
472
- An HTML page for easy installation (you need to configure your provider to **make this file publicly available**)
461
-
- A manifest file that iOS uses to install the app
473
+
- A manifest.plist file (iOS only)
462
474
463
475
The folder will be available at `ad-hoc/` directory of your configured remote cache provider.
- For iOS simulator builds (APP directory), Rock creates a temporary `app.tar.gz` to preserve permissions and includes it in the artifact; you just receive the buffer via `getResponse`. You don't need to create the tarball yourself.
507
507
-**Ad-hoc distribution:**
508
508
- with `--ad-hoc` flag passed to `remote-cache upload` Rock uploads:
509
-
- The signed IPA at `<directory>/ad-hoc/<artifactName>/<AppName>.ipa`
510
-
- An `index.html` landing page (make sure it's accessible for testers)
511
-
- A `manifest.plist`
509
+
-**iOS**: The signed IPA at `<directory>/ad-hoc/<artifactName>/<AppName>.ipa`, an `index.html` landing page, and a `manifest.plist` file
510
+
-**Android**: The signed APK at `<directory>/ad-hoc/<artifactName>/<AppName>.apk` and an `index.html` landing page
512
511
513
-
This `index.html` file will display an ad-hoc distribution web portal, allowing developers and testers to install apps on their provisioned devices by simply clicking "Install App".
512
+
This `index.html` file will display an ad-hoc distribution web portal, allowing developers and testers to install apps on their devices by simply clicking "Install App" (iOS) or "Download APK" (Android).
514
513
515
514
Learn more about ad-hoc distribution and how it works with `remote-cache upload --ad-hoc` command [here](./cli/introduction#ad-hoc-distribution).
0 commit comments