在我的应用程序中打开(xlsx,ppt,pptx.docx)从 safari 或邮件不起作用

Posted

技术标签:

【中文标题】在我的应用程序中打开(xlsx,ppt,pptx.docx)从 safari 或邮件不起作用【英文标题】:Open in my app for (xlsx,ppt,pptx.docx) from the safari or mail not working 【发布时间】:2012-11-05 15:14:13 【问题描述】:

我正在使用 ios 5.1 sdk 开发我的应用程序,但“打开方式”不适用于 pptx、ppt、docx、xlsx。有人可以给我 info.plist 的设置吗?我正在使用 com.microsoft.word.doc、com.microsoft.excel.xls、com.microsoft.powerpoint.ppt 作为文档类型。

CFBundleTypeIconFiles CFBundleTypeName Microsoft PowerPoint 演示文稿 CFBundleTypeRole Viewer LSHandlerRank Alternate LSItemContentTypes com.microsoft.powerpoint.​ppt com.microsoft.powerpoint.​pptx CFBundleTypeIconFiles CFBundleTypeName Excel 文档 CFBundleTypeRole Viewer LSHandlerRank Alternate LSItemContentTypes com.microsoft.excel.xls com.microsoft.excel .xlsx

【问题讨论】:

从您的 Info.plist 中显示完整的 Document types 条目。 maddy 你可以参考上面我提到UTI类型的代码。 您能花点时间来格式化该文本以使其可读吗?一点缩进和换行将有很长的路要走。 【参考方案1】:
NSArray *extensionArray = [NSArray arrayWithObjects:@"doc", @"docx", @"ppt", @"pptx", @"xls", @"xlsx",@"mp3",@"mp4",@"rft",@"rtf",@"pages",@"key",@"numbers",nil];

   for (int i=0; i<[extensionArray count]; i++) 
       NSString *fileExtension = [extensionArray objectAtIndex:i];
       NSString *utiString = (__bridge NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,(__bridge CFStringRef)fileExtension,NULL);
       NSLog(@"Extension: %@ UTI:%@",fileExtension,utiString);
   

我们可以使用此代码打印正确的 UTI。

【讨论】:

对于其他读者:Pages 有一个额外的 UTI “com.apple.iwork.pages.sffpages”。详情:***.com/a/56429844/1691231

以上是关于在我的应用程序中打开(xlsx,ppt,pptx.docx)从 safari 或邮件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

嵌入 Office ,doc|docx|xls|xlsx|ppt|pptx|pdf|等

java读取txt/pdf/xls/xlsx/doc/docx/ppt/pptx

纯js判断文件流格式类型:pdf,doc,docx,xls,xlsx,ppt,pptx一次搞定!

关于使用Webbrowser打开PPT的问题

linux打开编辑ppt pptx doc文件

寻找用于从 ppt、pptx、doc、docx 文件中解析和提取对象的库 [关闭]