注册应用程序以从Safari的“共享”打开或“打开......”或对话框无效。 (虽然从其他应用程序工作) [英] Register app to open from Safari's "share" or "open in..." dialog not working. (though works from other apps)

查看:243
本文介绍了注册应用程序以从Safari的“共享”打开或“打开......”或对话框无效。 (虽然从其他应用程序工作)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户点击任何html网页上的分享按钮时,我正在尝试注册我的应用程序以显示在Safari的Open-in ...对话框中。



我已将 public.html (以及 public.data 的良好衡量标准)内容类型添加到文档类型中Xcode,如许多答案所示:(见


I am trying to register my application to show up in Safari's "Open-in..." dialog when a user clicks the share button on any html webpage.

I have added the public.html (and public.data for good measure) content types to the Document Types in Xcode, as suggested in many answers: (See this question, this question, or this apple documentation.)

And, it seems to work. If I open a .pdf in Safari, I get the "open in My App" dialog at the top. I can also use the "open in..." dialog from other apps to share the document with My App.

To test it, I built DocInteraction as recommended in this answer, and if I create an html file, My App shows up in the share dialog.

However, My App still doesn't show up in the share dialog in Safari. When I run it in iOS7 on the iOS Simulator, I only get Mail, Twitter, and Facebook showing up:

The same goes when I test it on my real iOS device:

BUT, I would like you to note that it does seem to be possible! Look at the above screenshot.. SOMEHOW, Weibo has managed this feat. I don't know how, but for some reason Weibo shows up in this list even though My App doesn't.

And you know, actually, this sort of makes sense, given how many apps can probably open html pages. Here is DocInteraction running on my iOS device trying to share an html page:

There it is! My App! (It's actually called "Wulu Podify"). But there are so many apps who are hungry for .html pages, I guess Safari thinks it might be a bit overwhelming to provide them all.

BUT, this still begs the question, how did Weibo get themselves on that list? But, some further digging seems to show that actually Weibo seems to have gotten itself on EVERY list.

I'm not sure how they managed it, but maybe they are going about this differently.

Weibo's "I-will-open-any-document-you-throw-at-me-c'mon-try-it-c'mon" approach might solve this problem, but it's not ideal. I really only want to open html pages.

So. I guess my questions is three-fold:

  1. Is there a way to actually have my app show up in Safari's "Open In..." dialog?
  2. If not, how can I achieve what Weibo achieved, and show up in ALL the dialogs?
  3. Should I want to do that? It seems like it might be a bad idea.

Thanks for any help! I've been at this for a while!!


Update:

So, actually, I didn't realize it but I think Weibo might be a built-in option just like Facebook and Twitter. I assumed it was just there because I have it installed on my phone, but maybe it was one of the iOS6 defaults. I say that because when I test on the iOS6.0 Simulator, I suddenly see Weibo show up in the share screen, even though I definitely haven't installed it on my simulator.

So maybe there is no way around this except for having it built in to Safari by apple..

解决方案

I know this is years later, but if anyone runs into this old question, as of IOS 8, Apple now allows app creators to make "extensions" which do allow you to add your app to the share menus.

Here is some documentation:

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

这篇关于注册应用程序以从Safari的“共享”打开或“打开......”或对话框无效。 (虽然从其他应用程序工作)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆