如何从iPhone邮件和Safari获取ppt文件?

时间:2012-06-19 04:11:43

标签: iphone objective-c ios info.plist

我想从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文件,那将会很有帮助。

2 个答案:

答案 0 :(得分:1)

要使用PPT文件,您必须声明您的意图是否符合其UTI,这意味着只需将com.adobe.pdf的位更改为com.microsoft.powerpoint.ppt即可。容易。

出于所有意图和目的,还要将CFBundleTypeName更改为Powerpoint

答案 1 :(得分:0)

这里的问题是,您不应该像CFBundleDocumentTypespdf那样重复整个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数组。