以前メールに添付された 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
関連する投稿