Update iOS SwiftPM docs for ExecuTorch 1.0.0#19565
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/19565
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 1 New Failure, 71 PendingAs of commit ccaf274 with merge base 65c7ee2 ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@pytorchbot label "release notes: none" |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Refreshes iOS SwiftPM documentation to reflect the ExecuTorch 1.0.0 package flow, replacing older swiftpm-0.6.0 guidance and clarifying which products to link.
Changes:
- Updates getting-started docs to reference
swiftpm-1.0.0instead ofswiftpm-0.6.0. - Clarifies Xcode product selection for the XNNPACK backend path.
- (Asset updates for screenshot/video referenced in PR description but not in diff.)
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/source/using-executorch-ios.md | Refines branch selection wording and lists specific products to link for an XNNPACK app. |
| docs/source/getting-started.md | Replaces outdated swiftpm-0.6.0 example with swiftpm-1.0.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hi @mergennachin, this is ready for review when you have a chance. The linked Docathon issue #17425 is assigned to me now, and the PR has the CLA/docathon/advanced labels. Please let me know if you'd like any changes to the docs text or media assets. |
shoumikhin
left a comment
There was a problem hiding this comment.
Approving — docs-only change, looks good. A few small follow-up suggestions inline (non-blocking). Also flagging that the refreshed .mp4 / .png assets couldn't be verified programmatically — worth one human eyeball on the video before merge.
Additional asset nit (can't attach inline to binaries): swiftpm_xcode2.png was refreshed but the sibling swiftpm_xcode1.png (search-bar step in the same flow) wasn't. If the Xcode UI changed between 0.6.0 and 1.0.0 for that step too, the two screenshots will show different Xcode chrome side-by-side. Worth a quick visual check.
| #### Xcode | ||
|
|
||
| In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-<version>", (e.g. "swiftpm-1.0.0"), or a branch name in format "swiftpm-<version>.<year_month_date>" (e.g. "swiftpm-1.1.0-20251101") for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. | ||
| In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Change the dependency rule to a branch named for the desired ExecuTorch version, such as `swiftpm-1.0.0`, or use a branch name in the format `swiftpm-<version>.<year_month_date>` for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. |
There was a problem hiding this comment.
Minor: the previous text gave a concrete nightly example (e.g. swiftpm-1.1.0-20251101). Consider keeping one real example alongside the pattern — it's a useful copy-pasteable for first-time users.
| #### Xcode | ||
|
|
||
| In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-<version>", (e.g. "swiftpm-1.0.0"), or a branch name in format "swiftpm-<version>.<year_month_date>" (e.g. "swiftpm-1.1.0-20251101") for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. | ||
| In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Change the dependency rule to a branch named for the desired ExecuTorch version, such as `swiftpm-1.0.0`, or use a branch name in the format `swiftpm-<version>.<year_month_date>` for a [nightly build](https://ossci-ios.s3.amazonaws.com/list.html) on a specific date. |
There was a problem hiding this comment.
Nit: this line says year_month_date but the CLI block further down (around L64) says year_month_day. Since you're already touching this line, would you mind unifying both to year_month_day?
|  | ||
|
|
||
| Then select which ExecuTorch framework should link against which target. | ||
| Then select the ExecuTorch products that your app needs. For a simple app using the XNNPACK backend, link the app target against `executorch`, `backend_xnnpack`, and `kernels_optimized`. |
There was a problem hiding this comment.
Minor: worth a one-line caveat that executorch is the core runtime, other backends (CoreML, MPS) require different products, and kernels_portable is an alternative to kernels_optimized if binary size matters. A pointer to the full product list further down the page would also help beginners.
| ExecuTorch supports both iOS and macOS via C++, as well as hardware backends for CoreML, MPS, and CPU. The iOS runtime library is provided as a collection of .xcframework targets and are made available as a Swift PM package. | ||
|
|
||
| To get started with Xcode, go to File > Add Package Dependencies. Paste the URL of the ExecuTorch repo into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format “swiftpm-”, (e.g. “swiftpm-0.6.0”). The ExecuTorch dependency can also be added to the package file manually. See [Using ExecuTorch on iOS](using-executorch-ios.md) for more information. | ||
| To get started with Xcode, go to `File > Add Package Dependencies`. Paste the URL of the ExecuTorch repo into the search bar and select it. Make sure to change the dependency rule to a branch named for the desired ExecuTorch version, such as `swiftpm-1.0.0`. The ExecuTorch dependency can also be added to the package file manually. See [Using ExecuTorch on iOS](using-executorch-ios.md) for more information. |
There was a problem hiding this comment.
Nit: other places in the docs use the (e.g. …) parenthetical pattern. Not a blocker — the new phrasing is cleaner — just flagging the slight style drift.
Reverts #19565 The mp4 file fails import (D105606113) due to large file size restrictions: oldSize: 3635918 newSize: 7982247 cc @mergennachin @AlannaBurke @shoumikhin @cbilgin
Part of #17425.
This refreshes the iOS SwiftPM documentation for the ExecuTorch 1.0.0 package flow.
Changes:
swiftpm-0.6.0guidance in the getting started page to useswiftpm-1.0.0.swiftpm-1.0.0flow.Validation:
git diff --checkdocs/source/_static/img/swiftpm_xcode.mp4duration is 94.37s at 1280x836 and sampled frames through package selection.cc @mergennachin @AlannaBurke @shoumikhin @cbilgin