Я работаю с платформой ID3 в XCode (которая с тех пор исчезла с лица сети - включая кеш Google!).
Я тестирую функцию импорта mp3, которая позволяет им редактировать теги по мере их импорта. Один из тестовых примеров - поврежденный или недействительный mp3 без правильного заголовка id3. Проблема, с которой я сталкиваюсь, заключается в том, что при обновлении тегов недопустимого mp3 (updateFile:
) платформа ID3 пытается использовать id3V1Tag.m
(я полагаю, что это отступает, если не удается найти тег v2) и это где я получаю ошибку XCode (при запуске программы, а не сборке):
Xcode could not locate source file: id3V1Tag.m (line: 299)
Даже в релизной сборке происходит сбой программы, поэтому я не могу игнорировать это.
Я пытался поместить вокруг него блок try / catch, но он не рассматривается как исключение, поэтому его не поймали. Функция для загрузки данных тега для файла возвращает BOOL, но, по-видимому, возвращает false, только если данный файл не существует, поэтому это тоже не помогает.
Текущий код:
[tagData release];
tagData = [[TagAPI alloc] initWithGenreList:nil];
tagsLoaded = [tagData examineFile:exportPath];
if(tagsLoaded) {
[tagData setTitle:title];
[tagData setArtist:artist];
[tagData setComments:comments];
@try {
[tagData updateFile];
}
@catch (id e){
NSLog(@"h");
}
}