2014-10-17 2 views
0

Просто обновлена ​​до Yosemite и Xcode 6.0.01 и этот код больше не работает:Обновление до Йосемити оказывает негативное влияние на objectForKey mp3 изображение

- (NSImage *)songImage { 
    if (!_songImage) { 
     AVAsset *asset = [AVAsset assetWithURL:self.fileURL]; 
     for (AVMetadataItem *metadataItem in asset.commonMetadata) { 
      if ([metadataItem.commonKey isEqualToString:@"artwork"]){ 
       NSDictionary *imageDataDictionary = 
        (NSDictionary *)metadataItem.value; 
       NSData *imageData = [imageDataDictionary objectForKey:@"data"]; 
       _songImage =[[NSImage alloc] initWithData:imageData]; 
      } 
     } 
    } 
    if (!_songImage) { 
     return Nil; 
    } 

    return _songImage; 
} 

Я не уверен, если процесс был заменен или удален, но я теперь получаю сообщение:

2014-10-17 14:36:23.756 FSC Music[3317:122917] -[__NSCFData objectForKey:]: unrecognized 
    selector sent to instance 0x600000241cb0 2014-10-17 14:36:23.764 
FSC Music[3317:122917] -[__NSCFData objectForKey:]: unrecognized selector sent to instance 
    0x600000241cb0 

необходимо исследовать решение, но хотел спросить, есть ли у кого-нибудь еще это?

ответ

0

Я заменил следующий код, чтобы он снова работал.

-(NSImage *)songImage { 

    if (!_songImage) { 
     AVAsset *asset = [AVAsset assetWithURL:self.fileURL]; 
     NSArray *metadata = [asset commonMetadata]; 
     for (AVMetadataItem *item in metadata) { 
      if ([item.commonKey isEqualToString:@"artwork"]){ 

       NSData *thePix = (NSData *)item.value; 

       _songImage =[[NSImage alloc] initWithData:thePix]; 
      } 
     } 
    } 
    if (!_songImage) { 
     return Nil; 
    } 

    return _songImage; 
} 
+0

Испытано новый код на Индивидуалист OSX 10.9.5 SDK 6.0.1 (6A317), и он терпит неудачу: 2014-10-20 07: 49: 57,694 FSC-УРАФ [62467: 303] - [__ NSCFDictionary длина]: непризнанный селектор, отправленный в экземпляр 0x610000670c40 2014-10-20 07: 49: 57.695 FSC-adapt [62467: 303] - [__ NSCFDictionary length]: непризнанный селектор отправлен в экземпляр 0x610000670c40 2014-10-20 07:49: 57,698 FSC-УРАФ [62467: 303] ( \t 0 CoreFoundation 0x00007fff96a4125c __exceptionPreprocess + 172 \t 1 libobjc.A.dylib Я полагаю, я теперь должен проверить версии б прежде чем решить, какой путь принять. –

Смежные вопросы