将深层链接传递到iOS模拟器

pat*_*u22 29 ios ios-simulator swift xcode-command-line-tools

我想找到一种更简单的方法来调用iOS模拟器中的深层链接.
在Android上,您可以使用ADB通过控制台将链接传送到模拟器中.
使用最新的iOS模拟器是否有类似的方法或解决方法?

最诚挚的问候,非常感谢!

McN*_*ght 67

您可以在终端中输入:

xcrun simctl openurl booted <INSERT_URL_HERE>
Run Code Online (Sandbox Code Playgroud)

您甚至可以使用内置的Share Extension从Finder到iOS模拟器共享文档.

  • 根据运行命令的 shell,您可能需要转义 URL 中的特殊字符,即 https://example.com\?name1=value1\&amp;name2=value2。 (3认同)
  • 哇,这么简单,我基本上无法使用Google。非常感谢!:) (2认同)

Nik*_*iev 19

这是另一种方法:

在模拟器中

  1. 打开通讯录应用
  2. 转到预定义的联系人之一,例如“John Appleseed”
  3. 点击编辑
  4. 点按添加网址(在底部) - 并将您的链接设置为此联系人的“主页”网址
  5. 点击完成以保存联系人
  6. 点击您刚刚添加的链接

专业提示:您可以向 URL 条目添加自定义标签,例如,如果您想测试不同的 URL 并能够快速识别它们。

注意:如果您重置模拟器,联系人应用程序将重置为默认值并丢失 URL。


Jur*_*sic 10

作为替代方案,您可以使用ControlRoom开源工具。基本上它是模拟器 cli 之上的包装器。

ControlRoom 打开 URL


Ahm*_*d F 8

cmd 命令不起作用?!

不幸的是,该xcrun simctl openurl booted命令不起作用。我的链接是这样的:

myapp://?p=abc&case=12345
Run Code Online (Sandbox Code Playgroud)

我一直看到以下错误:

MyApp % zsh:未找到匹配项:myapp://?p

解决方案

我能够通过以下方式修复它:

在此输入图像描述

  • 添加深层链接并点击“加载”按钮。因此它应该导航到:

在此输入图像描述

  • 点击深层链接(上面屏幕截图中的黑框)。

就是这样!

注意

如果您直接将链接添加到 Safari,它将无法正常工作,请确保您使用的是 halgatewood.com 深层链接测试器。

  • 如果你还没有这样做,请不要忘记将 URL 放在引号内,我由于遗漏了它而遇到了一些问题。所以在你的情况下,它会是这样的:`xcrun simctl openurl booted "myapp://?p=abc&amp;case=12345"` (2认同)

Sap*_*van 5

尽管有很多很棒的解决方案,但我仍然想添加我的 5 美分:)

\n

我的方法基于Automator macOS 应用程序,让您只需单击两次即可在 iOS 模拟器上从计算机执行任何深层链接。

\n

I\xe2\x80\x99m 将使用快速操作,因为在这种情况下,我们可以使用任何应用程序从中获取 URL。因此,启动应用程序File \xe2\x80\x94> New \xe2\x80\x94> Quick Action \xe2\x80\x94> Choose。现在拖放您的第一个操作。它\xe2\x80\x99s 将是Set Value of Variable。转至View菜单并选择Variables。在变量部分中右键单击并选择New variable。将其命名为url. 我们将在该变量中保留输入文本(这应该是我们的深层链接)。现在拖放Run Shell Script操作,确保Pass输入参数设置为 \xe2\x80\x9cas 参数\xe2\x80\x9d。粘贴以下行:

\n

xcrun simctl openurl booted $1

\n

其中 $1 将是我们的 URL 变量。

\n

它应该是这样的:\n

\n

现在将此操作另存为Open in Simulator. 此操作现在可在Services上下文菜单中使用。在任何应用程序中选择任何 URL 作为文本,右键单击,Open in Simulator- 整齐吧?

\n