我想从iPhone邮件应用中读取.ppt
个文件。我已经使用此SO question读取了PDF文件。它工作正常,他们使用此代码在邮件应用程序中生成菜单:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>PDF Document</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
</dict>
</array>
<key>UIFileSharingEnabled</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Powerpoint</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.microsoft.powerpoint.ppt</string>
</array>
</dict>
</array>
工作正常。我搜索了问题,但如果有人可以指导我如何从邮件附件中检测.ppt
文件,那将会很有帮助。
答案 0 :(得分:1)
要使用PPT文件,您必须声明您的意图是否符合其UTI,这意味着只需将com.adobe.pdf
的位更改为com.microsoft.powerpoint.ppt
即可。容易。
出于所有意图和目的,还要将CFBundleTypeName
更改为Powerpoint
。
答案 1 :(得分:0)
这里的问题是,您不应该像CFBundleDocumentTypes
和pdf
那样重复整个ppt
条目。
相反,您只需要其中一个这样的块,而您只想在其中添加另一个CFBundleTypeName
。
所以,你的plist应该是这样的:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>PDF Document</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>Powerpoint</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.microsoft.powerpoint.ppt</string>
</array>
</dict>
</array>
<key>UIFileSharingEnabled</key>
<true/>
请注意,在我添加两个条目之前,我没有结束CFBundleDocumentTypes
数组。