【发布时间】:2018-03-22 01:42:08
【问题描述】:
我想找到一种更简单的方法来调用 iOS 模拟器中的深层链接。
在 Android 上,您可以使用 ADB 通过控制台将链接通过管道传输到模拟器中。
是否有类似的方法或解决方法可以使用最新的 iOS 模拟器打开深层链接?
【问题讨论】:
-
我通常将它们粘贴到提醒中并单击它们。
标签: ios swift ios-simulator xcode-command-line-tools
我想找到一种更简单的方法来调用 iOS 模拟器中的深层链接。
在 Android 上,您可以使用 ADB 通过控制台将链接通过管道传输到模拟器中。
是否有类似的方法或解决方法可以使用最新的 iOS 模拟器打开深层链接?
【问题讨论】:
标签: ios swift ios-simulator xcode-command-line-tools
您可以在终端中输入:
xcrun simctl openurl booted <INSERT_URL_HERE>
您甚至可以使用内置的共享扩展将文档从 Finder 共享到 iOS 模拟器。
【讨论】:
这是另一种方法:
在模拟器中
专业提示:您可以为 URL 条目添加自定义标签,例如,如果您想测试不同的 URL 并能够快速识别它们。
注意:如果您重置模拟器,联系人应用程序将重置为默认值并丢失 URL。
【讨论】:
作为替代方案,您可以使用ControlRoom 开源工具。基本上它是模拟器 cli 之上的包装器。
【讨论】:
(针对Branch.io QuickLinks 测试)
在iOS模拟器中打开深度链接的另一种非常简单的方法是:
【讨论】:
xcrun simctl openurl booted https://branch.app.link/someBrachDeeplink 打开应用程序
即使有很多很棒的解决方案,我仍然想加我的 5 美分 :)
我的方法基于 Automator macOS 应用程序,让您在 iOS 模拟器上的计算机上执行任何深层链接,只需单击两下即可。 p>
我将使用 Quick Actions,因为在这种情况下,我们可以使用任何应用程序从中获取 URL。所以,启动应用程序,File —> New —> Quick Action —> Choose。现在拖放您的第一个操作。它将是Set Value of Variable。转到View 菜单并选择Variables。在变量部分中右键单击并选择New variable。将其命名为 url。我们将在该变量中保留输入文本(这应该是我们的深层链接)。现在拖放Run Shell Script 动作,确保Pass 输入参数设置为“作为参数”。粘贴以下行:
xcrun simctl openurl booted $1
其中 $1 将是我们的 URL 变量。
现在将此操作保存为Open in Simulator。此操作现在可在 Services 上下文菜单中使用。在任何应用程序中选择任何 URL 作为文本,右键单击,Open in Simulator - 不错吧?
【讨论】:
很遗憾,xcrun simctl openurl booted 命令不起作用。我的链接是这样的:
myapp://?p=abc&case=12345
我一直看到以下错误:
MyApp % zsh:未找到匹配项:myapp://?p
我能够通过以下方式修复它:
就是这样!
【讨论】: