我正在思考如何在模拟器上测试我的branch.io集成。对于链接生成,我使用的是Javascript/web SDK而不是iOS SDK。当您在我的落地页上点击“在应用程序中查看内容”的按钮时,它将生成链接并跟随它。所有这些都非常出色,但是当我在模拟器中打开跳转页面时,它实际上从未尝试打开具有相同包标识符的手机上的本地应用程序。我猜测这可能是因为当前的应用商店URL框为空(因为它尚不存在)...但我不确定如何测试它是否有效,如果我无法使深度链接在本地触发它。谢谢!
如果您只是想通过Branch链接传递静态参数并在模拟器中测试应用程序对它们的实现,那么这并不完美,但您可以在Branch initSessionWithLaunchOptions:andRegisterDeepLinkHandler:
块中将它们硬编码。每次应用程序重新变为活动状态时(即,如果它被置于后台),以及在应用程序启动时调用此块,即使在application:didFinishLaunchingWithOptions:
中使用也是如此。
Branch处理程序块传入一个params
字典,您可以覆盖它(如果块未从已点击的链接调用,则它们将为空或仅包含一些键)或创建自己的字典以传递到您的应用程序。
显然,这不能用于测试桌面网站重定向或App Store下载(或Branch的许多其他用例),但如果您只想测试从单击的链接跳转到特定视图以及在我这种情况下,当我没有4S可供测试时,动态生成的视图在4S上的外观,那么这就完成了工作。
@Tallboy,不幸的是模拟器不适合测试深度链接,有两个原因:
你说得很对--你可以点击链接,然后手动打开应用程序。在这种情况下,我们使用我们的“延迟深度链接”机制来确定该链接先前已被点击。该方法在我们的文档here中讨论。
如果您对此有任何疑问,请提出。您还可以通过support@branch.io联系Branch团队。
我找到了一个解决这个问题的方法。只需使用Safari中的任何在线笔记应用程序即可。我已经使用Google Keep创建了一个新的并粘贴了Branch URL,然后从那里单击/轻敲该链接。
我是通过使用提醒事项应用程序来完成的,创建一个新列表,在该列表中添加该URL作为新项目,然后单击/轻敲该项目中的链接。它应该会打开您的应用程序。:)