如何添加应用程序,以“打开方式”菜单中的iOS

问题描述:

我想我的应用程序添加到打开菜单中的大多数文件类型,但我不希望我的应用程序可以作为一个观众或编辑。我只是希望它可以作为类似于Dropbox的接收器。目前我已经添加了几个文件类型,并宣布他们为CFBundleTypeRole浏览器,并与PDF文件它的伟大工程,但是,与其他文件,如Word文档,它试图用我的应用程序来查看文档,绝不会交出的文件发给我的应用。任何和所有的想法/建议/任何帮助。 谢谢!如何添加应用程序,以“打开方式”菜单中的iOS

+0

可能重复[?我如何文件类型与iPhone应用程序相关联(http://*.com/questions/2774343/how-do-i-associate-file- types-with-an-iphone-application) – Ryan 2012-02-01 23:10:28

+0

“试图使用我的应用程序查看文档”是什么意思?在iOS上的所有情况下,它都应该简单地将文档复制到应用程序的沙箱中,并将URL传递给应用程序。 PDF和您正在尝试处理的其他文档之间会发生什么不同? – 2012-02-01 23:37:46

+0

在一个点上它试图用我的应用程序中我所相信的是快速查找框架预览,这是我的电子邮件中的Word文档。显然它坠毁了。 :P但是我的info.plist中的代码解决了它。 – TChadwick 2012-02-02 16:04:49

在MonoTouch中,你将要添加一个文件类型,命名CFBundleTypeName无论你想,在我的情况下,我把它叫做“所有文件”。然后我就LSHandlerRank设置为备用,最后我添加了名为LSItemContentTypes一个数组,并添加public.content(具体处理文件苹果文档),最后一个条目的字符串值CFBundleTypeRole作为浏览器。所有这些都输入到我的info.plist代码中:

<key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeName</key> 
      <string>All Docs</string> 
      <key>CFBundleTypeRole</key> 
      <string>Viewer</string> 
      <key>LSHandlerRank</key> 
      <string>Alternate</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>public.content</string> 
      </array> 
     </dict> 
    </array> 

希望这可以帮助别人!

参考: http://developer.apple.com/library/ios/#documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1