从浏览器打开iOS应用程序

Sag*_*gar 32 iphone safari xcode ios

我想做的是,我们在网站上有一个产品信息.该产品在商店有售.我们在网站上的内容是,产品信息和该产品的一个按钮.

我想对该按钮采取两个动作.当用户在Safari(浏览器)上打开iPad或iPhone上的网站并单击GetProduct按钮时,必须执行以下两个操作.1.如果用户已在设备上安装了产品,则直接在设备中打开应用程序.2.如果用户没有设备上的应用程序,则将用户链接到商店上的应用程序,以便他可以从那里下载.

我已经处理了第二个条件,但是如何处理第一个条件.如果我已经拥有应用程序,那么如何在浏览器中点击按钮的操作打开它.

Gad*_*Gad 48

您可以使用URL方案实现您所要求的.这将使您能够openUrl:使用应用程序的URL方案调用该方法,然后启动您的应用程序.以下是设置自定义网址方案的方法:

  1. 打开应用程序的Info.plist并添加一行,其中包含一个名为URL Types的键.
  2. 展开URL Types项,然后在其下面的Item 0,您将看到URL Identifier
  3. 输入您的应用程序的包标识符(例如com.myCompany.myApp)作为URL标识符值.
  4. 将另一行添加到项目0并输入URL方案.
  5. 展开URL方案,并在项目0下键入自定义方案的名称(例如myScheme).

您现在应该可以通过在地址栏中键入myScheme://从Safari打开您的应用程序.或者,从您的应用中,您可以启动其他应用,如下所示:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myScheme://"]];
Run Code Online (Sandbox Code Playgroud)

请注意,您还可以使用url方案将参数发送到您正在启动的应用程序(此处更多内容).

  • 谢谢,这很好用,正是我所需要的。顺便说一下,我发现 URL Scheme 名称(例如,“myScheme://”)不区分大小写,至少在运行 iOS 8.3 的 iPad Mini A1432 上是这样。 (2认同)

Pra*_*een 9

借助iOS9,Apple推出了一种从Links打开已安装应用的方法.以下是官方链接:Apple通用链接

  • 值得注意的是,通用链接不会使用来自同一域的链接打开。举例来说,假设您在 https://example.com/page-1 上,如果您单击 https://example.com/page-2 的链接,您将无法通过 Universal 打开该应用程序链接。 (2认同)