2012-09-19 7 views
7

के लिए NSURL की जांच करें मैं एक ऐप बना रहा हूं जो उपयोगकर्ताओं को वीडियो छोड़ने की अनुमति देता है। एनएसआरएल * की गिरावट की एक सूची को देखते हुए मैं कैसे सुनिश्चित करूं कि प्रत्येक public.movie यूटीआई प्रकार के अनुरूप है?यूटीआई/फ़ाइल प्रकार

यदि मेरे पास NSOpenPanel था, तो मैं केवल openPanel.allowedFileTypes = @[@"public.movie"]; का उपयोग करूंगा और कोको मेरे लिए इसका ख्याल रखेगा।

अग्रिम धन्यवाद!

उत्तर

17

यह काम करना चाहिए:

NSWorkspace *workspace = [NSWorkspace sharedWorkspace]; 

for (NSURL *url in urls) { 
    NSString *type; 
    NSError *error; 
    if ([url getResourceValue:&type forKey:NSURLTypeIdentifierKey error:&error]) { 
     if ([workspace type:type conformsToType:@"public.movie"]) { 
      // the URL points to a movie; do stuff here 
     } 
    } else { 
     // handle error 
    } 
} 

(तुम भी UTTypeConformsTo()NSWorkspace विधि के बजाय का उपयोग कर सकते हैं।)

+0

आप इस iOS पर कर कैसे करते हैं? '' 'NSWorkspace '' '' 'AppKit''' की आवश्यकता है जो केवल' 'macOS''' पर उपलब्ध है। धन्यवाद। – Supertecnoboff

+0

आईओएस के लिए मेरे अपने प्रश्न का उत्तर मिला: https://stackoverflow.com/a/5815629/1598906 – Supertecnoboff

0

स्विफ्ट संस्करण:

do { 
    var value: AnyObject? 
    try url.getResourceValue(&value, forKey:NSURLTypeIdentifierKey) 
    if let type = value as? String { 
     if UTTypeConformsTo(type, kUTTypeMovie) { 
     ... 
     } 
    } 
} 
catch { 
} 
संबंधित मुद्दे