我正在使用“OpenIn”功能并将 Web 浏览器中的文件打开到我的应用程序中。所有文件类型都已注册并且工作正常。当尝试从网络浏览器打开 docx、pptx 或其他文件时,“打开方式”框没有显示我的应用程序名称。虽然我可以使用 UIDocumentInteractionController 在我的应用程序中查看 docx 或 pptx 文件。我不知道问题出在哪里,因为它工作得很好。
欢迎任何建议。提前感谢您的帮助
文档 UTI:com.microsoft.word.doc
docx UTI:org.openxmlformats.wordprocessingml.document
ppt UTI:com.microsoft.powerpoint.ppt
pptx UTI:org.openxmlformats.presentationml.presentation
xls UTI:com.microsoft.excel.xls
xlsx UTI:org.openxmlformats.spreadsheetml.sheet
样本:
<dict>
<key>CFBundleTypeName</key>
<string>Microsoft Word 2003 XML document</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>org.openxmlformats.wordprocessingml.document</string>
</array>
</dict>
在您的应用程序的 info.plist 中,您将添加类似于以下内容的内容,以允许您的应用程序打开,比如 PDF 文件,对吧?
只需将上面的替换为这个,
请注意,此处的Document Content Type UTIs
已更改为public.item
,这是 ppt、doc 等 UTI 所遵循的。
因此,现在,您应该能够获得 pdf、doc、docx、ppt、pptx、xls、xlsx 的“打开方式”选项。
UIWebView
由于文件架构的原因,不支持 MS Office 2007 及更高版本的文件格式,即 docx、pptx、xlsx。