के साथ वर्तमान गीत के लिए आईट्यून्स आर्टवर्क प्राप्त करें मैं स्क्रिप्टिंग ब्रिज के साथ वर्तमान में बजाने वाले गीत के लिए आईट्यून्स आर्टवर्क कैसे प्राप्त करना है, यह जानने का प्रयास कर रहा हूं। मैं एक ऐसे बिंदु पर पहुंच गया हूं जहां यह कुछ गानों के लिए काम करता है, लेकिन दूसरों के लिए, मुझे एक सिगबर्ट मिलता है। मुझे यकीन नहीं है कि समस्या क्या हो सकती है, इसलिए किसी भी मदद की सराहना की जाएगी। यहाँ मैं अब तक है:स्क्रिप्टिंग ब्रिज
iTunesApplication * iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSImage *songArtwork;
iTunesTrack *current = [iTunes currentTrack];
iTunesArtwork *artwork = (iTunesArtwork *)[[[current artworks] get] lastObject];
if(artwork != nil)
songArtwork = [artwork data];
else
songArtwork = [NSImage imageNamed:@"Image.tiff"];
NSMenuItem *artworkMenuItem = [[NSMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:@""];
[songArtwork setSize:NSMakeSize(128, 128)];
[artworkMenuItem setImage:songArtwork];
[Menu insertItem:artworkMenuItem atIndex:0];
मैं कुछ गीत यह काम करता है, और मेनू आइटम में अच्छी तरह से कलाकृति को प्रदर्शित करता है, लेकिन दूसरों के लिए मैं लाइन पर एक SIGABRT पाने के लिए
:
[songArtwork setSize:NSMakeSize(128, 128)];
कंसोल का आउटपुट निम्नानुसार है:
2011-08-12 23:13:20.094 SongViewer[2146:707] -[NSAppleEventDescriptor setSize:]: unrecognized selector sent to instance 0x102827f70
2011-08-12 23:13:20.095 SongViewer[2146:707] An uncaught exception was raised
2011-08-12 23:13:20.096 SongViewer[2146:707] -[NSAppleEventDescriptor setSize:]: unrecognized selector sent to instance 0x102827f70
2011-08-12 23:13:20.097 SongViewer[2146:707] (
0 CoreFoundation 0x00007fff86f11986 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff8b04cd5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff86f9d5ae -[NSObject doesNotRecognizeSelector:] + 190
3 CoreFoundation 0x00007fff86efe803 ___forwarding___ + 371
4 CoreFoundation 0x00007fff86efe618 _CF_forwarding_prep_0 + 232
5 SongViewer 0x0000000100002a83 -[IPMenulet awakeFromNib] + 4483
6 CoreFoundation 0x00007fff86f089e1 -[NSObject performSelector:] + 49
7 CoreFoundation 0x00007fff86f08962 -[NSSet makeObjectsPerformSelector:] + 274
8 AppKit 0x00007fff8d9d9c27 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1245
9 AppKit 0x00007fff8d9d01b9 loadNib + 322
10 AppKit 0x00007fff8d9cf6b6 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 217
11 AppKit 0x00007fff8d9cf5d1 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 141
12 AppKit 0x00007fff8d9cf514 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 364
13 AppKit 0x00007fff8dc42355 NSApplicationMain + 398
14 SongViewer 0x0000000100001882 main + 34
15 SongViewer 0x0000000100001854 start + 52
)
2011-08-12 23:13:20.098 SongViewer[2146:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSAppleEventDescriptor setSize:]: unrecognized selector sent to instance 0x102827f70'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff86f11986 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff8b04cd5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff86f9d5ae -[NSObject doesNotRecognizeSelector:] + 190
3 CoreFoundation 0x00007fff86efe803 ___forwarding___ + 371
4 CoreFoundation 0x00007fff86efe618 _CF_forwarding_prep_0 + 232
5 SongViewer 0x0000000100002a83 -[IPMenulet awakeFromNib] + 4483
6 CoreFoundation 0x00007fff86f089e1 -[NSObject performSelector:] + 49
7 CoreFoundation 0x00007fff86f08962 -[NSSet makeObjectsPerformSelector:] + 274
8 AppKit 0x00007fff8d9d9c27 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1245
9 AppKit 0x00007fff8d9d01b9 loadNib + 322
10 AppKit 0x00007fff8d9cf6b6 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 217
11 AppKit 0x00007fff8d9cf5d1 +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] + 141
12 AppKit 0x00007fff8d9cf514 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 364
13 AppKit 0x00007fff8dc42355 NSApplicationMain + 398
14 SongViewer 0x0000000100001882 main + 34
15 SongViewer 0x0000000100001854 start + 52
)
terminate called throwing an exception(gdb)
अगर किसी को पता है कि क्या गलत हो सकता है, तो कृपया मुझे बताएं !!
आप अन्य कंसोल आउटपुट क्या देखते हैं? – jtbandes
हाय jtbandes, आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने उपरोक्त प्रश्न में कंसोल आउटपुट जोड़ा है। ऐसा लगता है कि किसी कारण से एनएसआईमेज * आर्टवर्क शून्य (या नल?) है और यह सेगमेंटेशन गलती को समझाएगा। अजीब चीज यह है कि मैंने यह देखने के लिए चेक देखा कि क्या यह शून्य था, इसके लिए जांच होगी ... मुझे नहीं लगता ... मुझे सच में यकीन नहीं है कि कैसे जारी रखना है। आईट्यून्स परिप्रेक्ष्य से, मैं जो गीत गा रहा था वह कलाकृति के मामले में समान था। एक काम किया, और एक नहीं किया। किसी भी सहायता के लिए धन्यवाद जो आप मुझे दे सकते हैं! :) – alwaysapple
ठीक है इसलिए मैंने इसे वास्तविक iTunesArtwork * आर्टवर्क को अमान्य कर दिया है। लेकिन यह शून्य नहीं है। क्या यह कलाकृति वैध है या नहीं, यह जांचने का कोई तरीका है? – alwaysapple