Я использую шаблон приложения на основе документа в Xcode 10.1 с Swift.Из коробки он не поддерживает много типов файлов, поэтому я добавил несколько типов документов, включая различные форматы Microsoft Office (doc, xls, ppt), которые работают нормально.Я также добавил открытые форматы xml для docx, xlsx и pptx.Они также отлично работают, за исключением pptx, который остается серым при запуске приложения.Я также попытался использовать импортированный раздел UTI безуспешно.Вот выдержка из Info.plist, показывающая записи docx и xlsx (которые работают) и эквивалентную запись pptx, которая не работает.
Эти работы:
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>wordx</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>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>excelx</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>org.openxmlformats.spreadsheetml.sheet</string>
</array>
</dict>
Хотяэто не так:
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>powerx</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHanderRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>org.openxmlformats.presentationml.presentation</string>
</array>
</dict>
Я также попытался импортировать UTI безуспешно:
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.content</string>
</array>
<key>UTTypeDescription</key>
<string>powerpoint pptx</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>org.openxmlformats.presentationml.presentation</string>
<key>UTTypeTagSpecification</key>
<array>
<string>pptx</string>
<string>application/vnd.openxmlformats-officedocument.presentationml.presentation</string>
</array>
</dict>
</array>
Любая помощь будет оценена, спасибо.