Skip to content

Commit

Permalink
Ss tf 1990 symbols vision os aab (#2929)
Browse files Browse the repository at this point in the history
* [TF-1990] Update documentation with latest changes doc.saucelabs.com
- Adding documentation for Symbols/dSYM upload

* [TF-1990] Update documentation with latest changes doc.saucelabs.com
- Adding documentation for AAB files

* [TF-1990] Update documentation with latest changes doc.saucelabs.com
- Minor adjustments
  • Loading branch information
simon-sarrafi authored Sep 11, 2024
1 parent 014cf35 commit 430cdd1
Show file tree
Hide file tree
Showing 7 changed files with 148 additions and 4 deletions.
10 changes: 8 additions & 2 deletions docs/testfairy/api-reference/upload-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Streamline your build process and upload APKs or IPAs directly to TestFairy.
<tbody>
<tr>
<td><code>symbols_file</code></td>
<td><p><small>| OPTIONAL |</small></p><p>Symbols mapping file. For iOS, this is a path to the <strong>zipped</strong> symbols file. For Android, this is the path to the mappings.txt file</p></td>
<td><p><small>| OPTIONAL |</small></p><p>Symbols mapping file. For iOS, this is a path to the <strong>zipped</strong> symbols file (dSYM). For Android, this is the path to the <strong>.txt</strong> file</p></td>
</tr>
</tbody>
<tbody>
Expand Down Expand Up @@ -180,7 +180,7 @@ In the case of an error, TestFairy returns a JSON with `status` => `fail` and `c
<td colSpan='2'>Invalid file.</td>
</tr>
</tbody>
</table>
```json title="Sample Response"
Expand Down Expand Up @@ -220,3 +220,9 @@ curl https://upload.testfairy.com/api/upload \
```
Metadata is displayed and can be searched on in App Versions page by clicking on an app from the Dashboard. You can also view them on a single version's settings page.

### Can I attach the symbols file to my app to download it later?

Yes! You can attach your dSYM zipped for iOS / Text file .txt for Android app while uploading the app. Check out the [Upload/Download Symbols file] documentation for more details.

[Upload/Download Symbols file]: /testfairy/app-distribution/symbols-file/
16 changes: 16 additions & 0 deletions docs/testfairy/app-distribution/app-versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,19 @@ To retain the previous app build, you have two options:
2. Change the app package name (or bundle identifier).

Since apps are grouped by package name, uploading an app with a new package name creates a new project. For example, apps with the package name `com.company.app` are grouped separately from those with `com.company.app.debug`.

## Download Your AAB File

If you uploaded an AAB file to us, we will convert it to an APK for distribution. However, you can still access your original AAB file by following these steps:

1. Navigate to Your Build: Go to the build where you uploaded the AAB file.

2. Find the App: Locate the app within the build details.

3. Access the Detail Page: Click on the app to open its detail page.

4. Download the AAB File: Click on **More**. If the app was originally an AAB, you will find a download link in the **Attachments** section.

Use this link to download the original AAB file if needed.

<img src={useBaseUrl('/img/testfairy/app-distribution/download-aab-file.png')} alt="Download AAB file"/>
84 changes: 84 additions & 0 deletions docs/testfairy/app-distribution/symbols-file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
id: symbols-file
title: Upload/download Symbols file
sidebar_label: Upload/download Symbols file
---

import useBaseUrl from '@docusaurus/useBaseUrl';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

### Uploading Symbols Files

To ensure accurate symbolication and better management of your app's debug information, it's recommended to upload mapping files (symbols) through the API. Follow these steps to attach the file during the app upload process:

### 1. Prepare the Symbols File

Ensure you have the mapping file (symbols) that corresponds to your app version. This file is crucial for decoding crash reports and understanding stack traces.

### 2. Upload the File via API

You can upload the mapping file by using the API provided by Sauce Labs. Here's a general approach:

- **Endpoint:** Use the appropriate API endpoint for uploading your app. For example:

- **Attachment:** Include the mapping file `symbols_file` as part of your app submission. For instance:

Android:

```bash
curl https://upload.testfairy.com/api/upload \
-F api_key='your_api_key' \
-F [email protected] \
-F [email protected]
```

IOS:

```bash
curl https://upload.testfairy.com/api/upload \
-F api_key='your_api_key' \
-F [email protected] \
-F [email protected]
```

### Accessing Your Symbols File

After a successful upload via the API, the response will include a URL to download your Symbols file.

Here’s an example of the relevant portion of the API response:

```json
{
"status": "ok",
...
"symbols_download_url": "https://mobile.testfairy.com/api/xxx/projects/xxx/builds/xxx/symbols/download/",
...
}
```

## Accessing Symbols File Through the Dashboard

To download your symbols file through the TestFairy dashboard, follow these steps:

1. **Log In to Your Dashboard**

Log in to your [Sauce Labs dashboard](https://mobile.saucelabs.com).

2. **Navigate to Uploaded Apps**

From the apps list, find the app that has the symbols file attached to it.

3. **Access App Details**

- Locate the app in the list and click on the gear icon (⚙️) at the end of the row.

4. **Download Symbols File**

- In the details page, click on **More**.
- If a symbols file has been uploaded, you will see a **Download** link.
- Click the **Download** link to retrieve your symbols file.

By following these steps, you can easily access and download your symbols file from the dashboard.

<img src={useBaseUrl('/img/testfairy/app-distribution/download-symbols-file-dashboard.png')} alt="Download Symbols file"/>
41 changes: 39 additions & 2 deletions docs/testfairy/using-testfairy/uploading-an-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,41 @@ The code of our command line uploader, Jenkins plugin, and Gradle plugin is open
- **iOS**: TestFairy supports uploading and distributing iOS applications. You can sign iOS apps with AdHoc, Development, or Enterprise certificates. Distributing iOS apps with TestFairy must be packaged as a `.ipa` file.
- **MacOS**: MacOS apps are bundled as `.app` files, however, to distribute MacOS apps with TestFairy, those `.app` files must be zipped into a `.zip` file.

### Choose your Build File
### Expanding iOS Platform Support: Now Including VisionOS (XROS)

In the first stage you need to choose the file you want to upload. It can be an **.ipa** (for iOS), **.apk** (for Android), or **.zip** (for MacOS) file.
We now support VisionOS in addition to all other iOS platforms. Below is the complete list of platforms. Note that **XROS** is used to indicate support for VisionOS:

- iPhoneOS
- WatchOS
- MacOSX
- AppleTVOS
- DriverKit
- XROS (VisionOS)

### Supporting Both APK and AAB Formats for Android Apps

For Android apps, we support both APK and AAB formats. Here’s how it works:

- **APK Support:**

- If you provide your app in APK format, we handle it directly.

- **AAB Support:**
- If you upload your app as an AAB (Android App Bundle), we convert it to APK for distribution.
- We also keep a copy of your original AAB format attached to your project. This allows you to download the AAB file if needed.

Feel free to upload your app in either format, and we'll ensure it’s properly managed and available for your needs.

### Choose Your Build File

In the first stage, you need to select the file you want to upload. The supported file types are:

- **iOS:** `.ipa`
- **Android:** `.apk` or `.aab`
- **MacOS:** `.zip`
- **Windows:** Typically `.exe` or `.zip` (Please contact support for further assistance)

Choose the appropriate file type based on your platform to proceed with the upload.

### Project Settings

Expand All @@ -49,3 +81,8 @@ To update a build, upload the same file again (that is., the same build with the
### Uploading a New Version

To upload a new build (a new version of the same app), upload the new version as you uploaded the old version. TestFairy identifies that both apps have the same package name (bundle identifier) and group them together in the same project.

### Symbols or Mapping file

In iOS and Android development, symbols or mapping files refer to files used to help debug and analyze crash reports. They are essential when apps are built with optimization settings, such as code obfuscation or stripping debug information, which make crash reports harder to read.
If you're using the API to upload your app, you can attach this file to your build for easy retrieval later if needed.
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -1166,6 +1166,7 @@ module.exports = {
'testfairy/app-distribution/app-expiration',
'testfairy/app-distribution/release-notes',
'testfairy/app-distribution/tags',
'testfairy/app-distribution/symbols-file',
],
},
{
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 430cdd1

Please sign in to comment.