1

ユーザーが [保存] パネルに入力したファイル拡張子がシステム上で有効/登録済みの拡張子/UTI であるかどうかを確認する簡単な方法 (または任意の方法) はありますか?

4

1 に答える 1

3

「Launch Services」機能LSGetApplicationForInfo() を使用して、指定された拡張子のアイテムを開くためのアプリケーションがあるかどうかを確認できます。例:

NSString *extension = @"txt";

BOOL extensionIsKnown;
CFURLRef app;
OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator,
                        (__bridge CFStringRef)(extension), kLSRolesAll,
                        NULL, &app);
if (status == noErr) {
    extensionIsKnown = YES;
    CFRelease(app);
} else {
    extensionIsKnown = NO;
}
于 2013-11-09T08:31:29.533 に答える