以前メールに添付された PDF ファイルをアプリで開けるようにするやり方を書きました。
[iPhone/iPad] メールの添付ファイルをアプリケーションで開けるようにする

今回は PowerPoint ファイルを開けるようにしたのですが、より実践的にどのファイルフォーマットでも指定できるようにやり方、調べ方を説明します。

パワーポイントファイルの指定方法

パワーポイントの拡張子は2種類あります。ppt と pptx です。具体的には LSItemContentTypes で UTI(Uniform Type Identifiers) を指定します。UTI とはアップルが定めたデータ識別子です。ここに ppt と pptx の UTI を指定することによりメール添付ファイルなどをアプリで扱えるようになります。

<key>CFBundleDocumentTypes</key>
<array>
  <dict>
    <key>CFBundleTypeName</key>
    <string>Microsoft Powerpoint</string>
    <key>LSHandlerRank</key>
    <string>Alternate</string>
    <key>LSItemContentTypes</key>
    <array>
      <string>com.microsoft.powerpoint.ppt</string>
      <string>org.openxmlformats.presentationml.presentation</string>
    </array>
  </dict>
</array>

UTI をどうやって調べるか

ppt の UTI はネットで検索してすぐに分かりました。しかし、pptx の方が情報がなくまったく分かりませんでした。そこで UTI を詳しく調べると メタデータを検索するコマンド mdls を使用することにより UTI を調べられます。

-name オプションを指定することにより、必要なメタデータのみ取り出せます。何もオプション指定しないと全てのメタデータが表示されます。

$ mdls -name kMDItemContentType /path/to/hoge.pptx
kMDItemContentType = "org.openxmlformats.presentationml.presentation"

参考サイト

Uniform Type Identifier – Wikipedia, the free encyclopedia
Uniform Type Identifierの概要
mdls

関連する投稿