Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

iOS devices: `open <app> <url>` never delivers the URL, `--payload-url` is passed after the bundle ID

Geschlossen Anfängerfreundlich
#2,998 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
88/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
ios, typescript

Rechercherichtung

Beginne in packages/platform-apple/src/core/physical-device-coredevice.ts bei der Erstellung der Startargumente und vergleiche dies anschließend mit den Erwartungen in packages/platform-apple/src/core/tests/apps.test.ts. Führe die relevanten App-Tests aus und überprüfe, dass die Payload-URL als Startoption behandelt und auf physischen iOS-Geräten übergeben wird, während Startargumente weiterhin unterstützt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Summary

On a physical iPhone, open <bundle-id> <url> and Maestro openLink launch the app, but the app never receives the URL. The same call with devicectl works when --payload-url comes before the bundle ID.

Cause

The launch arguments put --payload-url after the bundle ID:

https://github.com/callstack/agent-device/blob/16e07572ab28227563fd76ab062cb375c4b7e1db/packages/platform-apple/src/core/physical-device-coredevice.ts#L24-L27

devicectl treats everything after the bundle ID as program arguments for the app:

USAGE: devicectl device process launch [<options>] --device <...> <bundle-identifier-or-path> [<command-line-arguments> ...]

So the app receives --payload-url <url> in its argv and opens no link. The unit test pins the same order:

https://github.com/callstack/agent-device/blob/16e07572ab28227563fd76ab062cb375c4b7e1db/packages/platform-apple/src/core/__tests__/apps.test.ts#L256-L267

Repro

Same device, same app state (app running on its first screen), custom-scheme link to a screen with a visible marker:

Call Link opens
devicectl device process launch --device <udid> <bundle-id> --payload-url <url> no
devicectl device process launch --device <udid> --payload-url <url> <bundle-id> yes
agent-device open <bundle-id> <url> --platform ios --udid <udid> no

A cold launch with --payload-url before the bundle ID also opens the link.

Possible fix

Push --payload-url <url> before the bundle ID, and keep -- <launch args> after it. Update the two expectations in apps.test.ts.

Environment

  • agent-device 0.21.14. Same code in 0.21.15 and on main at 16e0757
  • iPhone 14 Pro, iOS 26.2, USB, CoreDevice backend
  • Xcode 26.4
Vorherrschende Sprache
TypeScript
Sterne
4.8k
Forks
315
Ø Merge
11 Std. 25 Min.
Gemergte PRs (30 T.)
545

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.