iphone - 注册应用程序以从 Safari 的 "share"或 "open in..."对话框打开不起作用。 (虽然适用于其他应用程序)

标签 iphone ios objective-c ipad safari

我正在尝试注册我的应用程序,以便在用户单击任何 html 网页上的共享按钮时显示在 Safari 的“打开方式...”对话框中。

我已将 public.html(和 public.data 用于良好的度量)内容类型添加到 Xcode 中的文档类型,如许多答案中所建议的那样:(请参阅this questionthis questionthis apple documentation 。)

而且,它似乎有效。如果我在 Safari 中打开 .pdf,我会在顶部看到“在我的应用程序中打开”对话框。 我还可以使用其他应用程序的“打开方式...”对话框与“我的应用程序”共享文档。

为了测试它,我构建了 DocInteraction推荐in this answer ,如果我创建一个 html 文件,我的应用程序会显示在共享对话框中。

但是,我的应用程序仍然没有出现在 Safari 的共享对话框中。 当我在 iOS 模拟器上的 iOS7 中运行它时,我只显示邮件、Twitter 和 Facebook:

No sign of My App anywhere!

当我在我的真实 iOS 设备上测试时也是如此:

Sad Safari can't find My App

但是,我希望您注意到这似乎是可能的!看看上面的截图。不知何故,微博做到了这一壮举。我不知道如何,但出于某种原因微博出现在这个列表中,即使我的应用程序没有。

你知道,实际上,考虑到有多少应用程序可以打开 html 页面,这种做法是有道理的。这是在我的 iOS 设备上运行的 DocInteraction,它试图共享一个 html 页面:

Everybody wants some of the .html action!

就是它了!我的应用程序! (其实叫“Wulu Podify”)。但是有太多的应用程序渴望 .html 页面,我猜 Safari 认为提供所有这些页面可能有点不知所措。

但是,这仍然引出了一个问题,微博是如何进入该名单的?但是,一些进一步的挖掘似乎表明微博实际上似乎已经进入了每个列表。

What can't Weibo open?

我不确定他们是如何做到的,但也许他们的做法有所不同。

微博的“我会打开任何文件,你扔给我,来吧,试试吧,来吧”的方法可能会解决这个问题,但并不理想。我真的只想打开 html 页面。

所以。我想我的问题有三方面:

  1. 有没有办法让我的应用真正显示在 Safari 的“打开方式...”对话框中?
  2. 如果没有,我如何才能达到微博的效果,并出现在所有的对话中?
  3. 我应该这样做吗?这似乎是个坏主意。

感谢您的帮助!我已经有一段时间了!!


更新:

所以,实际上,我没有意识到,但我认为微博可能是一个内置选项,就像 Facebook 和 Twitter 一样。我认为它就在那里,因为我已经将它安装在我的手机上,但也许它是 iOS6 默认设置之一。我这么说是因为当我在 iOS6.0 模拟器上测试时,我突然看到微博出现在共享屏幕中,尽管我肯定没有在我的模拟器上安装它。

Weibo for all! :( Sad face.

所以除了苹果将它内置到 Safari 之外,也许没有办法解决这个问题..

最佳答案

我知道这是多年后的事了,但如果有人遇到这个老问题,从 IOS 8 开始,Apple 现在允许应用程序创建者进行“扩展”,允许您将您的应用程序添加到共享菜单。

这里是一些文档:

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html

关于iphone - 注册应用程序以从 Safari 的 "share"或 "open in..."对话框打开不起作用。 (虽然适用于其他应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000018/

相关文章:

iphone:UItableviewcell 滚动时重新加载

ios - OpenCV Swift 项目

objective-c - touchXML:stringValue 未保存为字符串?

objective-c - 如何打印 Restkit 发送的正文(IOS)

iphone - UITableViewCell 内旋转的 UITableView 未显示 initWithFrame : says to

iphone - 同步后立即从 iPod 库加载歌曲

objective-c - 在 AVAssetReader 中设置时间范围会导致卡住

iphone - 无法将 NSString 传递到 NSMutableAttributedString 中?

iphone - 如何学习iPhone越狱编程?

javascript - 从 iOS 中的 Safari 打开 Google Chrome 中的网页