Как я могу обойти "Xcode не может найти исходный файл" - PullRequest
0 голосов
/ 12 марта 2010

Я работаю с платформой 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");
    }
}

Ответы [ 2 ]

2 голосов
/ 13 марта 2010

Ошибка, которую вы получаете, заключается в том, что Xcode пытается найти ваш исходный файл id3V1Tag.m, чтобы показать его во время отладки. Никакой код, который вы пишете, не повлияет на это.

Если у вас нет исходного файла id3V1Tag.m в вашем дистрибутиве фреймворка, вы ничего не можете с этим поделать, и вам нечего делать, кроме как игнорировать его (кроме проверки, не можете ли вы заставить его запросить как не устанавливать в нем точку останова, не входить в нее и не врезаться в нее).

Если он у вас есть и вы его собираете, то, возможно, вы строите не с правильной отладочной информацией, поэтому вам придется рассказать нам больше о настройке сборки.

0 голосов
/ 12 марта 2010

Итак, проблема в том, что ваша программа падает при попытке компиляции id3V1Tag.m или при запуске программы. Я немного запутался в этом.

Если происходит сбой во время работы, возможно, это проблема с файлом кода, отсутствующим в библиотеке? Как вы читаете информацию тега ID3 точно? Это через ваш собственный код или через стороннюю библиотеку / класс.

...