Frage

Ich arbeite mit dem ID3-Rahmen in Xcode (die seit weg von der Fläche der Bahn verschwunden ist - einschließlich Google-Cache).

Ich teste eine Import mp3-Funktion aus, die ihnen die Tags bearbeiten können, wie sie sie importieren. Eines der Testfälle ist ein beschädigtes oder ungültiges mp3 ohne richtigen id3-Header. Das Problem, das ich habe, ist, dass, wenn die Tags der ungültigen mp3 (updateFile:) aktualisiert, die ID3 Rahmen Versuche Verwendung id3V1Tag.m (ich nehme es so weit zurückfällt, wenn es nicht das v2-Tag finden), und das ist, wo ich holen Sie sich die Xcode-Fehler (während das Programm ausgeführt wird, nicht Gebäude):

Xcode could not locate source file: id3V1Tag.m (line: 299)

Auch in einem Release-Build dies das Programm abstürzt, so ist es nicht etwas, das ich wirklich ignorieren kann.

Ich habe versucht, einen try / catch-Block um ihn herum setzen, aber es behandelt nicht als eine Ausnahme so nicht verfängt. Die Funktion der Tag-Daten zu laden, für die Datei eines BOOL zurückgibt, aber es scheint dies nur falsch zurück, wenn die angegebene Datei nicht existiert, so tut dies nicht helfen, entweder.

Aktuelle Code:

[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");
    }
}
War es hilfreich?

Lösung

Der Fehler Sie bekommen, ist, dass Xcode versucht, die Quelldatei id3V1Tag.m, um zu finden, es zu zeigen während des Debuggens. Kein Code, den Sie schreiben, beeinflussen diese.

Wenn Sie nicht über die id3V1Tag.m Quelldatei in Ihrem Rahmen Distro haben, gibt es nichts, was man dagegen tun kann, und es gibt wenig zu tun, aber ignorieren sie (anders als zu sehen, wenn Sie vermeiden können, so dass es angefordert zu werden, wie kein Haltepunkt darin einstellen, nicht in sie tritt, und in ihm nicht abstürzt).

Wenn Sie es tun, und es bauen, dann vielleicht sind Sie nicht mit den richtigen Debug-Informationen Gebäude, so dass Sie uns sagen müssen, werden mehr über Ihren Build-Setup.

Andere Tipps

Also das Problem, das Sie haben, ist, dass Ihr Programm abstürzt, wenn Sie versuchen, id3V1Tag.m zu kompilieren oder während das Programm ausgeführt wird. Ich bin ein bisschen auf das verwirrt.

Wenn sein Krachen beim Laufen vielleicht ist dies ein Problem mit einer Code-Datei aus einer Bibliothek fehlt? Wie lesen Sie die ID3-Tag-Informationen genau? Ist es durch Ihren eigenen Code oder durch eine 3rd-Party-Bibliothek / Klasse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top