当用户单击任何 html 网页上的共享按钮时,我正在尝试注册我的应用程序以显示在 Safari 的“打开...”对话框中。
正如许多答案中所建议的那样,我已将public.html
(并且public.data
为了很好的衡量)内容类型添加到 Xcode 中的文档类型中:(请参阅此问题、此问题或此苹果文档。)
而且,它似乎有效。如果我在 Safari 中打开 .pdf,我会在顶部看到“在我的应用程序中打开”对话框。我还可以使用其他应用程序中的“打开方式...”对话框与我的应用程序共享文档。
为了测试它,我按照这个答案中的建议构建了 DocInteraction,如果我创建了一个 html 文件,我的应用程序会显示在共享对话框中。
但是,我的应用程序仍然没有出现在 Safari 的共享对话框中。当我在 iOS 模拟器上的 iOS7 中运行它时,我只会看到 Mail、Twitter 和 Facebook:
当我在我的真实 iOS 设备上测试它时也是如此:
但是,我希望您注意,这似乎是可能的!看看上面的截图.. 不知何故,微博已经完成了这一壮举。我不知道怎么做,但出于某种原因,即使我的应用程序没有,微博也会出现在这个列表中。
你知道,实际上,考虑到有多少应用程序可能会打开 html 页面,这种做法是有道理的。这是在我的 iOS 设备上运行的 DocInteraction,试图共享一个 html 页面:
就在那里!我的应用程序!(它实际上被称为“Wulu Podify”)。但是有这么多的应用程序都渴望 .html 页面,我猜 Safari 认为提供所有这些页面可能有点让人不知所措。
但是,这仍然引出了一个问题,微博是如何让自己上榜的?但是,一些进一步的挖掘似乎表明,实际上微博似乎已经登上了每一个榜单。
我不确定他们是如何做到的,但也许他们的处理方式有所不同。
微博的“我会打开任何文档-你扔-我-c'mon-try-it-c'mon”的方法可能会解决这个问题,但并不理想。我真的只想打开html页面。
所以。我想我的问题有三个:
- 有没有办法让我的应用程序真正出现在 Safari 的“打开方式...”对话框中?
- 如果没有,我怎样才能实现微博实现的目标,并出现在所有对话框中?
- 我应该这样做吗?似乎这可能是个坏主意。
谢谢你的帮助!我已经有一段时间了!
更新:
所以,实际上,我没有意识到这一点,但我认为微博可能是一个内置选项,就像 Facebook 和 Twitter 一样。我以为它就在那里,因为我已经将它安装在我的手机上,但也许它是 iOS6 的默认设置之一。我这么说是因为我在iOS6.0模拟器上测试的时候,突然看到微博出现在分享屏上,虽然我肯定没有安装在我的模拟器上。
所以也许没有办法解决这个问题,除非苹果将它内置到 Safari 中。