Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#2,998 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
88/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
ios, typescript

調査の方向性

packages/platform-apple/src/core/physical-device-coredevice.ts の起動引数の構築箇所から始め、packages/platform-apple/src/core/tests/apps.test.ts の期待値と比較します。関連する apps のテストを実行し、payload URL が起動オプションとして扱われ、物理 iOS デバイスに渡されることを確認します。その際、起動引数のサポートは引き続き維持します。

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
TypeScript
スター
4.7k
フォーク
304
平均マージ
11時間 6分
マージ済み PR(30日)
521

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

callstack/agent-device のほかの issue

callstack/agent-device の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。