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

docs: Update information regarding fileImporter SwiftUI API #3085

Merged
merged 7 commits into from
Feb 10, 2025
Merged
Changes from 5 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
16 changes: 16 additions & 0 deletions docs/mobile-apps/automated-testing/ipa-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,19 @@
2. If the above solution does not work, try using a different network without the proxy.

We do not have control over Apple's signature verification process. It is recommended to work with your network administrator to ensure that Apple's signature check is not blocked by the proxy.

### Unable to access Downloads folder using 'fileImporter' SwiftUI API

Check warning on line 153 in docs/mobile-apps/automated-testing/ipa-files.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/mobile-apps/automated-testing/ipa-files.md#L153

[sauce.Headings] 'Unable to access Downloads folder using ************** SwiftUI API' should use title case capitalization.
Raw output
{"message": "[sauce.Headings] 'Unable to access Downloads folder using ************** SwiftUI API' should use title case capitalization.", "location": {"path": "docs/mobile-apps/automated-testing/ipa-files.md", "range": {"start": {"line": 153, "column": 1}}}, "severity": "WARNING"}
Copy link
Contributor

Choose a reason for hiding this comment

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

I would put this into it's own section

## Known Errors caused by resigning

In some cases resigning apps with a Sauce Labs certificate and provisioning profile breaks certain features of your app.

The known limitations are listed below and the only known workaround for those errors is to disable resigning using private devices.

### Unable to access Downloads folder using 'fileImporter' SwiftUI API
...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@dmissmann thanks for the comment! I updated the docs


For instrumentation, Sauce Labs must resign the app using our certificates and provisioning profiles, and change the bundle identifier to Sauce Labs wildcard identifier.
Apple prevents access to private sandbox data via `fileImporter` (and likely other APIs) after resigning an app.

The console may contain one of the following error messages:
```
Could not resolve bookmark
Failed to create a url from bookmarkableString
Tried to call delegate -documentBrowser:didPickDocumentURLs: with an empty array of item
```

This is an inherent limitation of the Apple system.

Check warning on line 165 in docs/mobile-apps/automated-testing/ipa-files.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/mobile-apps/automated-testing/ipa-files.md#L165

[sauce.UnclearAntecedent] Instead of 'This is', try starting this sentence with a specific subject and verb.
Raw output
{"message": "[sauce.UnclearAntecedent] Instead of 'This is', try starting this sentence with a specific subject and verb.", "location": {"path": "docs/mobile-apps/automated-testing/ipa-files.md", "range": {"start": {"line": 165, "column": 1}}}, "severity": "WARNING"}
Copy link
Contributor

Choose a reason for hiding this comment

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

The "this" here references the idea in the first paragraph, which makes me think this sentence should follow immediately after it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

The only known workaround is to not use instrumentation when accessing data using `fileImporter`.