我正在尝试为所有可能的文件类型注册我的应用。我将以下内容添加到我的info.plist中:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>public.data</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
<string>public.content</string>
</array>
</dict>
</array>
如果我现在在Safari中打开PDF并点击Safari的“共享”按钮,则不会提供我的应用程序。但是,如果我点击PDF本身,则会在顶部显示一个“打开于”按钮,并列出我的应用程序。
这不是一个真正的问题,但是它阻止用户将照片导入我的应用程序,因为“照片”应用程序中没有“打开方式”菜单。
我可以通过某种方式注册“共享”菜单吗?
不幸的是,这是不可能的,因为:
Safari中的共享屏幕UIActivityViewController
用于显示可以在页面上执行的许多活动。这些活动是在UIActivity.h
系统中定义的,通常是系统定义的活动,例如Post to Facebook,Post to Twitter,Message,Print等。
为了使非系统定义的活动出现在该屏幕中,必须创建一个自定义UIActivity
子类,然后UIActivityViewController
使用这些子类的数组对其进行初始化。
另一方面,“打开于...”屏幕看起来很相似,但是使用时,UIDocumentInteractionController
该屏幕显示可以打开给定URL / UTI的应用程序(不使用Google UTI ...)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句