Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 单击url时打开应用程序_Iphone_Objective C_Ipad_Ios5 - Fatal编程技术网

Iphone 单击url时打开应用程序

Iphone 单击url时打开应用程序,iphone,objective-c,ipad,ios5,Iphone,Objective C,Ipad,Ios5,我想知道在safari或其他iOS浏览器中单击链接时是否有打开应用程序的方法 我的应用程序在Twitter/Facebook上发布了一个位置的名称和一个屏幕截图,该截图上还有一个链接。如果用户在pc或iOS设备上,我需要检测用户何时单击该链接。如果他们不在iOS设备上,我想继续链接页面,否则我想打开应用程序,并在打开时将该位置名称作为参数。如果应用程序已注册自定义URL方案,则当要求打开特定方案的URL时,设备将打开特定应用程序 这源于应用程序infoPlist的CbundleUrlScheme

我想知道在safari或其他iOS浏览器中单击链接时是否有打开应用程序的方法


我的应用程序在Twitter/Facebook上发布了一个位置的名称和一个屏幕截图,该截图上还有一个链接。如果用户在pc或iOS设备上,我需要检测用户何时单击该链接。如果他们不在iOS设备上,我想继续链接页面,否则我想打开应用程序,并在打开时将该位置名称作为参数。

如果应用程序已注册自定义URL方案,则当要求打开特定方案的URL时,设备将打开特定应用程序

这源于应用程序infoPlist的CbundleUrlSchemes键。苹果的文档中包含了您开始学习所需的所有信息

要注册应用程序的URL类型,请包含CbundleUrlTypes键 在应用程序的Info.plist文件中。CbundleUrlTypes键包含 字典数组,每个字典定义应用程序的URL方案 支持。表6-2描述了每个表中包含的键和值 字典

更多信息,请参见“与其他应用程序通信”部分

编辑 为了支持问题的特定功能,您需要更深入一步

您的第一个链接需要是一个标准的web URL。 从第一个URL显示的页面需要检测设备,并将用户转发到第二个URL上,该URL将在设备上打开应用程序,其中包含您希望转发到应用程序的任何参数。 所以-你要做的是在你的第一个URL指向的页面中建立某种设备检测。在该页面上,检测设备,然后有条件地将用户转发到第二个URL,该URL将是您特定应用程序的自定义URL


可以进行此设备检测,并检测他们的设备上是否安装了应用程序,这些应用程序具有移动浏览器支持的一些较新的HTML5功能,但您的问题的主题是在iOS中打开带有URL的应用程序,以及支持使用参数打开应用程序所需的主要本机iOS挂钩,所有内容都在上述文档中。

如果应用程序已注册自定义URL方案,则当要求设备打开特定方案的URL时,设备将打开特定应用程序

这源于应用程序infoPlist的CbundleUrlSchemes键。苹果的文档中包含了您开始学习所需的所有信息

要注册应用程序的URL类型,请包含CbundleUrlTypes键 在应用程序的Info.plist文件中。CbundleUrlTypes键包含 字典数组,每个字典定义应用程序的URL方案 支持。表6-2描述了每个表中包含的键和值 字典

更多信息,请参见“与其他应用程序通信”部分

编辑 为了支持问题的特定功能,您需要更深入一步

您的第一个链接需要是一个标准的web URL。 从第一个URL显示的页面需要检测设备,并将用户转发到第二个URL上,该URL将在设备上打开应用程序,其中包含您希望转发到应用程序的任何参数。 所以-你要做的是在你的第一个URL指向的页面中建立某种设备检测。在该页面上,检测设备,然后有条件地将用户转发到第二个URL,该URL将是您特定应用程序的自定义URL


可以进行此设备检测,并检测他们的设备上是否安装了应用程序,这些应用程序具有移动浏览器支持的一些较新的HTML5功能,但你的问题是围绕在iOS中打开带有URL的应用程序以及支持打开带有参数的应用程序所需的主要本机iOS挂钩展开的,所有这些都在上面的文档中。

好的,我知道了,但是如何从那篇文章中获得位置名称,甚至有可能这样做吗?@Poppydejay我已经更新了我的答案,提供了更多关于如何解决问题的细节,但您可能需要做的一些事情超出了这一问题的范围。是的,谢谢您的回答,我需要做的唯一一件事就是设置自定义url方案,向委托添加handleOpenURL函数,并向该页面添加一个javascript来处理pc和iOS之间的检测。如果pc转到http://站点,则转到myapp://params@Poppydejay是的,我知道这是要点。好吧,我知道了,但是我如何从那篇文章中获得位置名称,有可能做到吗?@Poppydejay我更新了我的答案,提供了更多关于如何解决问题的细节,但是,您可能需要做的一些事情超出了这个问题的范围。是的,谢谢您的回答,我唯一需要做的就是设置自定义url方案,向委托添加handleopeanUrl函数,并向该页面添加javascript,以处理pc和iOS之间的检测。如果pc转到http://站点,则转到myapp://params@是的,我知道 要点。