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

Lop*_*per 1 browser iphone safari objective-c ios

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

但是,根据Safari Developer Library的这篇文章," iOS目前不支持Safari扩展 ".

有没有其他替代方案来实现上述功能?

Ali*_*are 6

你有多种选择:

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

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

  • 一种更简单的方法是在应用程序的Info.plist中注册任何自定义URL方案.请参阅Apple的文档中的此处和下方.例如,当你在iPhone的任何地方(无论是在你自己的应用程序中,还是在另一个第三方应用程序中,包括Safari),它会遇到像"myapp:// xxx/yyy/zzz"这样的网址,它会打开你的应用程序,通过这个URL作为参数.然后,您可以使用此URL执行任何操作.

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