2010-12-03 13 views
5

मुझे लाइब्रेरी से छवि का मेटा डेटा प्राप्त करने की आवश्यकता है। मैं कोडलाइब्रेरी से छवि के लिए मेटाडाटा

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL]; 

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 

    [library assetForURL:assetURL resultBlock:^(ALAsset *asset) { 
     ALAssetRepresentation *representation = [asset defaultRepresentation]; 
     metadataDict = [representation metadata]; 
     NSLog(@"%@",metadataDict); 


     } failureBlock:^(NSError *error) { 
     NSLog(@"%@",[error description]); 
     }]; 
    [library release]; 
} 

मैं आईओएस 4.2 उपयोग कर रहा हूँ लेकिन मैं मेटा नहीं मिल रहा है का उपयोग कर रहा data.Can किसी भी एक मुझे इस के साथ मदद?

उत्तर

2

आपके द्वारा पोस्ट किए गए कोड के साथ कुछ भी गलत नहीं लगता है। मैंने सिम्युलेटर और डिवाइस पर इसे आजमाया है और यह काम करता है। metadata विधि के लिए ऐप्पल का दस्तावेज कहता है:

प्रतिनिधित्व करता है यदि प्रतिनिधित्व एक ऐसा है जिसे सिस्टम व्याख्या नहीं कर सकता है।

तो यह सबसे अधिक संभावना है कि आपके द्वारा चुनी गई छवि में कोई मेटाडेटा नहीं है या छवि एक रूप में है जो पुस्तकालय पहचान नहीं पाती है।

आपने अपनी विधि में metadataDict परिभाषित नहीं किया है, इसलिए यदि आप अपने ब्लॉक के बाहर उपयोग करना चाहते हैं तो आपको इसे बनाए रखना होगा।

metadataDict = [[representation metadata] retain]; 

संभवतः आप __block पहचानकर्ता के साथ यह घोषणा करने के साथ ही होता है।

__block NSDictionary *metaDataDict; 
+0

[प्रतिनिधित्व मेटाडाटा] के साथ केवल समस्या यह बहुत महंगी है और बहुत मेमोरी लेती है। जब मैं बहुत सारी फोटो लाइब्रेरी फ़ोटो के साथ परीक्षण करता हूं तो यह दुर्घटनाग्रस्त हो जाता है। – Puran

+0

@PuranSingh Sing Than इस समस्या का समाधान क्या है? मुझे इसी कारण से दुर्घटना का सामना करना पड़ रहा है – sohail059

संबंधित मुद्दे