特定の拡張子を持つ xml テキスト ファイルを開く必要があるドキュメント ベースのアプリを作成しました。NSDocument テンプレートを使用して Xcode でプロジェクトを作成したときに、必要な拡張機能を指定したところ、すべて正常に機能していました。
ドキュメント ベースのアプリの作成方法に関する Apple のガイドに従って、Info.plist ファイルを編集し、以前は欠けていた UTI の詳細を追加しました。突然、アプリが必要な拡張子のファイルを開くのをやめ、実際にファイルを開くのをやめました。また、ファイルを保存しようとすると、保存ダイアログに拡張子が表示されなくなりました。
ファイルを保存mdls
して端末からコマンドを実行すると、
kMDItemContentTypeTree = (
"public.data",
"public.item"
)
public.xml
Info.plistでUTIを設定する代わりに。私のアプリは、Info.plist に保存されている情報を認識しなくなったようです。これを機能させるために Xcode で接続する必要があるものはありますか?
これが私の Info.plist ファイルの関連部分です。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>xmds</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>AppIcon</string>
<key>CFBundleTypeName</key>
<string>XMDS Script</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>xmds</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>com.dedalus.degs</string>
</array>
<key>NSDocumentClass</key>
<string>Document</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
</array>
<key>UTTypeDescription</key>
<string>XMDS Script</string>
<key>UTTypeIconFile</key>
<string>AppIcon</string>
<key>UTTypeIdentifier</key>
<string>com.dedalus.degs</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<array>
<string>xmds</string>
</array>
<key>public.filename-extension</key>
<array>
<string>xmds</string>
</array>
</dict>
</dict>
</array>