2016-02-05 12 views
5

बाद विधेय केवल सभी स्क्रीनशॉट, जो सिर्फ अच्छा काम लाने चाहिए।PHFetchOptions mediaSubtype विधेय

options.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) != 0", PHAssetMediaSubtypePhotoScreenshot]; 

लेकिन अगर मैं केवल follwing विधेय का उपयोग करके स्क्रीनशॉट बाहर करने के लिए प्रयास करते हैं, सभी चित्रों को बाहर रखा गया है

options.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) = 0", PHAssetMediaSubtypePhotoScreenshot];  

सभी इम करने का प्रयास कर संपत्ति से Screeshots exlude को लाने है।

इस ज्ञात बग है या मैं कुछ याद आ रही है?

+1

संभावित डुप्लिकेट: [NSPredicate PHFetchResults से धीमी गति वीडियो बाहर करने के लिए] (http://stackoverflow.com/questions/31939082/) (एक ही सामान्य मुद्दा, बस एक अलग 'PHAssetMediaSubtype' मान)। कोशिश करो कि ठीक है? – rickster

+0

अपनी टिप्पणी के लिए धन्यवाद, दुर्भाग्य से भले ही इस सवाल का जवाब यह वास्तव में काम नहीं करता है के रूप में सही चिह्नित है। – stringCode

उत्तर

3

मैं एक त्वरित जांच किए गए और यह मेरे लिए काम करने के लिए लगता है:

PHFetchOptions *options = [[PHFetchOptions alloc] init]; 
options.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) == 0", PHAssetMediaSubtypePhotoScreenshot]; 

नोट विधेय में डबल बराबर बजाय एक एक की तुलना करने के लिए।

+0

आपके उत्तर के लिए धन्यवाद। मैंने इसे फिर से करने की कोशिश की। यह स्क्रीनशॉट को पट्टी कर देगा लेकिन नियमित रूप से अधिकतर फ़ोटो भी :-) उपप्रकार PHAssetMediaSubtypeNone के विशेष रूप से। – stringCode

+2

ऐसा नहीं होना चाहिए लेकिन वास्तव में करता है। मैंने कुछ प्रयोग किए हैं और ऐसा लगता है कि फ़िल्टरिंग थोड़ी छोटी छोटी है। अन्य उपप्रकारों के संयोजन की जांच करने के लिए भविष्यवाणियों का उपयोग करना भी काम नहीं करता है और यह उनके दस्तावेज़ों में ऐप्पल की सिफारिश की गई विधि भी है। एक बार ऐसा कहा जाता है कि मुझे लगता है कि इस समय से निपटने का सबसे अच्छा तरीका पूर्ण सेट प्राप्त करना और गणना के माध्यम से सरणी को मैन्युअल रूप से फ़िल्टर करना है, हालांकि यदि आपको fetch के लाइव अपडेट की आवश्यकता है तो आप उस मामले को देखेंगे। –

+0

हाँ इस बिंदु पर मैं एक ही निष्कर्ष पर आया, मैं उम्मीद कर रहा था कि मैं कुछ बेवकूफ कर रहा था लेकिन ऐसा लगता है कि यह ऐप्पल की बग है। रडार भर जाएगा। आपकी मदद और समय के लिए धन्यवाद – stringCode

1

कुछ ही घंटों के बाद मैं नहीं ऑपरेटर का उपयोग एक समाधान पाया:

NSPredicate(format: "NOT ((mediaSubtype & %d) != 0)", PHAssetMediaSubtype.PhotoScreenshot.rawValue) 
संबंधित मुद्दे