Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ss tf 1990 symbols vision os aab #2929

Merged
merged 3 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@
<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 @@
<td colSpan='2'>Invalid file.</td>
</tr>
</tbody>

</table>

```json title="Sample Response"
Expand Down Expand Up @@ -220,3 +220,9 @@
```

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?

Check warning on line 224 in docs/testfairy/api-reference/upload-api.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/api-reference/upload-api.md#L224

[sauce.Headings] 'Can I attach the symbols file to my app to download it later?' should use title case capitalization.
Raw output
{"message": "[sauce.Headings] 'Can I attach the symbols file to my app to download it later?' should use title case capitalization.", "location": {"path": "docs/testfairy/api-reference/upload-api.md", "range": {"start": {"line": 224, "column": 5}}}, "severity": "WARNING"}

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.

Check warning on line 226 in docs/testfairy/api-reference/upload-api.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/api-reference/upload-api.md#L226

[sauce.Exclamation] Avoid exclamation marks.
Raw output
{"message": "[sauce.Exclamation] Avoid exclamation marks.", "location": {"path": "docs/testfairy/api-reference/upload-api.md", "range": {"start": {"line": 226, "column": 3}}}, "severity": "WARNING"}

[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 @@
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.

Check warning on line 75 in docs/testfairy/app-distribution/app-versioning.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/app-distribution/app-versioning.md#L75

[sauce.WordList] Use 'in' instead of 'within'.
Raw output
{"message": "[sauce.WordList] Use 'in' instead of 'within'.", "location": {"path": "docs/testfairy/app-distribution/app-versioning.md", "range": {"start": {"line": 75, "column": 33}}}, "severity": "WARNING"}

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:

Check warning on line 21 in docs/testfairy/app-distribution/symbols-file.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/app-distribution/symbols-file.md#L21

[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.
Raw output
{"message": "[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.", "location": {"path": "docs/testfairy/app-distribution/symbols-file.md", "range": {"start": {"line": 21, "column": 74}}}, "severity": "WARNING"}

- **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]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@simon-sarrafi is this always txt? what other format do we support?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes always text file for Android

```

IOS:

Check warning on line 36 in docs/testfairy/app-distribution/symbols-file.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/app-distribution/symbols-file.md#L36

[sauce.WordList] Use 'iOS' instead of 'IOS'.
Raw output
{"message": "[sauce.WordList] Use 'iOS' instead of 'IOS'.", "location": {"path": "docs/testfairy/app-distribution/symbols-file.md", "range": {"start": {"line": 36, "column": 1}}}, "severity": "WARNING"}

```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:

Check warning on line 49 in docs/testfairy/app-distribution/symbols-file.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/app-distribution/symbols-file.md#L49

[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.
Raw output
{"message": "[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.", "location": {"path": "docs/testfairy/app-distribution/symbols-file.md", "range": {"start": {"line": 49, "column": 1}}}, "severity": "WARNING"}

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesnt the download url contains the file extension?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No! the download url is the api endpoint which will call the actual aws url. This url remain the same for all platforms' files

...
}
```

## 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.

Check warning on line 82 in docs/testfairy/app-distribution/symbols-file.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/app-distribution/symbols-file.md#L82

[sauce.Simplicity] Remove 'easily'. Be precise instead of subjective.
Raw output
{"message": "[sauce.Simplicity] Remove 'easily'. Be precise instead of subjective.", "location": {"path": "docs/testfairy/app-distribution/symbols-file.md", "range": {"start": {"line": 82, "column": 35}}}, "severity": "WARNING"}

<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 @@
- **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:

Check notice on line 29 in docs/testfairy/using-testfairy/uploading-an-app.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/using-testfairy/uploading-an-app.md#L29

[sauce.WordsToAvoid] Avoid usage of 'Note that'.
Raw output
{"message": "[sauce.WordsToAvoid] Avoid usage of 'Note that'.", "location": {"path": "docs/testfairy/using-testfairy/uploading-an-app.md", "range": {"start": {"line": 29, "column": 106}}}, "severity": "INFO"}

- 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:

Check warning on line 40 in docs/testfairy/using-testfairy/uploading-an-app.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/using-testfairy/uploading-an-app.md#L40

[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.
Raw output
{"message": "[sauce.MeaningfulLinkWords] Improve SEO and accessibility by rewriting 'Here' in the link text.", "location": {"path": "docs/testfairy/using-testfairy/uploading-an-app.md", "range": {"start": {"line": 40, "column": 56}}}, "severity": "WARNING"}

- **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)

Check notice on line 59 in docs/testfairy/using-testfairy/uploading-an-app.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/using-testfairy/uploading-an-app.md#L59

[sauce.WordsToAvoid] Avoid usage of 'Please'.
Raw output
{"message": "[sauce.WordsToAvoid] Avoid usage of 'Please'.", "location": {"path": "docs/testfairy/using-testfairy/uploading-an-app.md", "range": {"start": {"line": 59, "column": 44}}}, "severity": "INFO"}

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

### Project Settings

Expand All @@ -49,3 +81,8 @@
### 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

Check warning on line 85 in docs/testfairy/using-testfairy/uploading-an-app.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/using-testfairy/uploading-an-app.md#L85

[sauce.Headings] 'Symbols or Mapping file' should use title case capitalization.
Raw output
{"message": "[sauce.Headings] 'Symbols or Mapping file' should use title case capitalization.", "location": {"path": "docs/testfairy/using-testfairy/uploading-an-app.md", "range": {"start": {"line": 85, "column": 5}}}, "severity": "WARNING"}

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.

Check warning on line 88 in docs/testfairy/using-testfairy/uploading-an-app.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/testfairy/using-testfairy/uploading-an-app.md#L88

[sauce.Simplicity] Remove 'easy'. Be precise instead of subjective.
Raw output
{"message": "[sauce.Simplicity] Remove 'easy'. Be precise instead of subjective.", "location": {"path": "docs/testfairy/using-testfairy/uploading-an-app.md", "range": {"start": {"line": 88, "column": 88}}}, "severity": "WARNING"}
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.