本机iOS应用程序是否可以与Safari浏览器进行交互?

时间:2011-09-06 17:03:23

标签: iphone objective-c ios browser safari

我想在原生iOS应用程序和Safari浏览器之间启用交互,以便在网页上的图像上点击右键单击,在上下文菜单中提供一个选项,将图像发送到另一个自定义编写的本机iOS应用程序,用于进一步处理和/或存储。

但是,根据Safari Developer Library中的article,“iOS 目前不支持 Safari扩展程序”。

还有其他替代方法可以实现上述功能吗?

2 个答案:

答案 0 :(得分:6)

您有多种选择:

  • 您可以在应用程序的Info.plist文件中注册您的应用程序知道如何处理某些类型的文档(请参阅here in Apple's doc)。这样,当您的iPhone遇到此文档类型时,iOS会建议用户在您的应用中打开此文档;例如,如果您注册了PDF类型,然后点击PDF文档作为邮件中的附件,您的应用程序将列在建议的菜单中,然后将该文档作为参数打开。

似乎即使这适用于任何类型,如DOC,PDF甚至自定义类型,它都不适用于图像,这似乎是由iOS单独处理:(

  • 更简单的方法是在应用程序的Info.plist中注册任何自定义URL方案。见here and below in the Apple's doc。例如,当你在iPhone的任何地方(无论是在你自己的应用程序中,还是在另一个第三方应用程序中,包括Safari),它会遇到像“myapp:// xxx / yyy / zzz”这样的网址,它会打开你的应用程序,通过这个URL作为参数。然后,您可以使用此URL执行任何操作。

然后解决方案是在您的网页中添加一些代码,以便在点击图像时,您要求Safari打开URL“myimageditor:// edit?url = http://www.url.of/your /image.jpg”。如果您注册了“myimageeditor://”URL方案,那么您的应用程序将随参数中的URL一起打开,然后您就可以使用嵌入URL检索图像。

答案 1 :(得分:0)

我认为只有越狱设备才有可能。