UTI iPhone支持依文件后缀名打开应用
2014-03-15 11:09
561 查看
本文转载至 http://blog.csdn.net/zaitianaoxiang/article/details/6658492
href="http://www.csdn.net/tag/iphone" target=_blank>iphoneapplicationprocessingfileurltypesFile type handling is new with iPhone OS 3.2, and is different than the already-existing custom URL schemes. You can register your application to handle particular document types, and any application that uses a document controller can hand off processing of these documents to your own application.
文件类型处理是iphone os 3.2新增的,与已经存在的自定义URL方案是不同的。你能注册你的应用程序来处理特定的文件类型并且任何应用程序 使用文档控制器能手动处理这些文档在你的应用程序中。
For example, my application Molecules (for which the source code is available) handles the .pdb and .pdb.gz file types, if received via email or in another supported application.
例如,我的molecules应用程序能处理 以 pdb , pdb.gz为后缀的文件类型 ,如果收到通过电子邮件或其他支持的应用程序。
To register support, you will need to have something like the following in your Info.plist:
注册支持,你需要在info.plist文件中增加像下面一样的内容。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>Document-molecules-320.png</string>
<string>Document-molecules-64.png</string>
</array>
<key>CFBundleTypeName</key>
<string>MoleculesStructureFile</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.sunsetlakesoftware.molecules.pdb</string>
<string>org.gnu.gnu-zip-archive</string>
</array>
</dict>
</array>
Two images are provided that will be used as icons for the supported types in Mail and other applications capable of showing documents. The LSItemContentTypes key lets you provide an array of Uniform Type Identifiers (UTIs) that your application can open. For a list of system-defined UTIs, see Apple's Uniform Type Identifiers Reference. Even more detail on UTIs can be found in Apple's Uniform Type Identifiers Overview. Those guides reside in the Mac developer center, because this capability has been ported across from the Mac.
两个图像将作为支持的邮件和其他应用程序能够显示文件类型的图标。LSItemContentTypes键可让您提供一个可以使您的应用程序打开的统一类型标识符(UTI)数组。对于一个系统定义的UTI的列表,请查看苹果的Uniform Type Identifiers Reference(统一类型标识符参考)。UTI更详细信息,可以在苹果公司的Uniform Type Identifiers Overview(统一类型标识符的概述)中找到。这些指南位于Mac开发中心,因为这种能力已经从Mac移植通过。
One of the UTIs used in the above example was system-defined, but the other was an application-specific UTI. The application-specific UTI will need to be exported so that other applications on the system can be made aware of it. To do this, you would add a section to your Info.plist like the following:
上面的例子中用到的UTI的一种是系统定义的,还有其他应用程序特定的UTI。应用程序特定的UTI 需要被导出,以使系统上的其他应用程序能知道它。要做到这一点,你需要像下面一样添加一部分内容到你的info.plist文件中。
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
<string>public.text</string>
</array>
<key>UTTypeDescription</key>
<string>MoleculesStructureFile</string>
<key>UTTypeIdentifier</key>
<string>com.sunsetlakesoftware.molecules.pdb</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>pdb</string>
<key>public.mime-type</key>
<string>chemical/x-pdb</string>
</dict>
</dict>
</array>
This particular example exports the com.sunsetlakesoftware.molecules.pdb UTI with the .pdb file extension, corresponding to the MIME type chemical/x-pdb.
这个特殊的例子导出com.sunsetlakesoftware.molecules.pdb UTI (以.pdb为文件扩展名,对应的MIME类型为 chemical/x-pdb)
With this in place, your application will be able to handle documents attached to emails or from other applications on the system. In Mail, you can tap-and-hold to bring up a list of applications that can open a particular attachment.
在此,您的应用程序将能够处理连接到电子邮件或系统上其他应用程序的文件。在邮箱中,你可以轻按和按住去弹出一个可以打开一个特定附件的应用程序列表。
When the attachment is opened, your application will be started and you will need to handle the processing of this file in your -application:didFinishLaunchingWithOptions: application delegate method. It appears that files loaded in this manner from Mail are copied into your application's Documents directory under a subdirectory corresponding to what email box they arrived in. You can get the URL for this file within the application delegate method using code like the following:
打开附件时,您的应用程序将被启动,您将需要在您的应用程序中处理这个文件通过didFinishLaunchingWithOptions:应用程序委托方法。看来,通过这种从相应收到的电子邮件中的文件复制到应用程序的文件目录下的子目录中的加载方式,通过应用程序中的委托方法,类似于下面的代码的方法,您可以得到此文件:
NSURL*url=(NSURL*)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
Note that this is the same approach we used for handling custom URL schemes. You can separate the file URLs from others by using code like the following:
请注意,这是我们处理自定义的URL计划使用相同的方法。通过使用类似于下面的代码,你可以区分其开其他的文件URL
if([url isFileURL])
{
// Handle file being passed in
}
else
{
// Handle custom URL scheme
}
相关文章推荐
- UTI iPhone支持依文件后缀名打开应用
- UTI iPhone支持依文件后缀名打开应用
- iOS开发人员必备App开发工具 ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例
- MFC文件打开格式,MFC默认打开文档后缀(支持打开多图像格式)
- 最近成果-透明加密文件系统SDK-支持透明加密解密-手动加密解密-目录加密解密-指定进程加密-指定后缀加密-指定非法进程-锁定驱动器-支持Office文件加密解密-打开文件时加密等
- IOS UTI(统一类型标识符) 根据文件后缀打开APP
- [IOS_UI控件]IPHONE应用开发 - 打开和关闭键盘
- Poi 生成的xls后缀的Excel文件,用Excel 2003打开乱码解决方案。
- Freemarker *.ftl后缀文件 在 eclipse IDE以HTML格式打开
- AIR 用系统默认应用打开文件 Open with default App
- 打开IPHONE的sms.db短信文件 方法
- 5月1日起不支持iPhone 5的应用不准上架或更新 彻底废除UDID技术
- Dreamweaver使用妙招:打开不支持的后缀并可识别
- 无法打开项目文件web.csproj,此安装不支持该项目类型
- 自定义url打开应用 iphone
- iPhone Xcode打包支持的SDK包文件
- 由文件的路径通过其他应用打开图片,PPT,Word,excel,PDF
- android 文件关联的方法 实现点击文件打开指定应用软件
- android/iPhone:如何从browser直接打开应用程序或者打开应用商店(如果没有应用程序)
- 安卓开发调用第三方应用(如WPS)打开文档(比如Word),如何设置文件只读,不能被修改?