ios - फ़ाइल के लिए फ़ाइल यूटीआई कैसे खोजें, स्विफ्ट में एक पथ में, रास्ते से हटें



xcode swift (1)

आप फ़ाइल URL TypeIdentifierKey प्राप्त करने के लिए URL विधि resourceValues(forKeys:) का उपयोग कर सकते हैं जो फ़ाइल समान प्रकार पहचानकर्ता (UTI) को लौटाता है। आपको केवल यह जांचने की आवश्यकता है कि वीडियो के लिए लौटाया गया मूल्य "com.apple.m4v-video" है, छवियों के लिए "public.jpeg" या "public.png" इत्यादि। आप TypeIdentifierKey स्ट्रिंग मान का अनुसरण करने के लिए URL में टाइपआईडेंटिफायर प्रॉपर्टी एक्सटेंशन जोड़ सकते हैं:

Xcode 9 • स्विफ्ट 4 या Xcode 8.3.2 • स्विफ्ट 3.1

extension URL {
    var typeIdentifier: String? {
        return (try? resourceValues(forKeys: [.typeIdentifierKey]))?.typeIdentifier
    }
    var localizedName: String? {
        return (try? resourceValues(forKeys: [.localizedNameKey]))?.localizedName
    }
}

मैं इस कोड को बदलने की कोशिश कर रहा हूं जो मेरे पास इस example से था (उद्देश्य-सी में) बिना किसी भाग्य के।

    String *path; // contains the file path

    // Get the UTI from the file's extension:

    CFStringRef pathExtension = (__bridge_retained CFStringRef)[path pathExtension];
    CFStringRef type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL);
    CFRelease(pathExtension);

    // The UTI can be converted to a mime type:

    NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType);
    if (type != NULL)
        CFRelease(type);

मेरा कोड यह है

    import MobileCoreServices
    let path: String?
    let pathExt = path.pathExtension as CFStringRef
    let type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL);
    let mimeType = UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType)
    if type != Null
            CFRelease(type)

सभी मैं यह पता लगाना चाहता हूं कि क्या कोई फ़ाइल एक छवि या वीडियो फ़ाइल है





uti