Pergunta

Eu estou trabalhando com o quadro ID3 no Xcode (que desde então desapareceu da face da web - incluindo cache do Google).

Eu estou testando um recurso de mp3 de importação que lhes permite editar as tags como eles importá-los. Um dos casos de teste é um mp3 corrompido ou inválido sem cabeçalho ID3 adequada. O problema que estou tendo é que quando atualizar as tags do mp3 inválido (updateFile:), as tentativas de enquadramento ID3 para uso id3V1Tag.m (presumo ela cai de volta a este se não puder encontrar o tag v2) e é aí que eu obter o erro Xcode (durante o funcionamento do programa, não construir):

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

Mesmo em uma compilação de lançamento esta trava o programa, por isso não é algo que eu realmente pode ignorar.

Eu tentei colocar um bloco try / catch em torno dele, mas não é tratado como uma exceção para não pego. A função de carregar os dados da etiqueta para o arquivo retorna um BOOL, mas parece que este só retorna false se o arquivo dado não existe, de modo que este também não ajuda.

código atual:

[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");
    }
}
Foi útil?

Solução

O erro que você está recebendo é que Xcode está tentando localizar o seu id3V1Tag.m arquivo de origem, a fim de mostrá-lo durante a depuração. No código que você escreve vai afetar isso.

Se você não tem o arquivo de origem id3V1Tag.m em sua distro quadro, não há nada que você possa fazer sobre isso, e há pouco a fazer, mas ignorá-lo (diferente do que ver se você pode evitar fazendo com que seja solicitado, como não definir um ponto de interrupção no mesmo, não pisar nele, e não bater nele).

Se você tem isso, e está construindo-o, então talvez você não está construindo com as informações de depuração bem, então você vai ter que nos dizer mais sobre a sua configuração de compilação.

Outras dicas

Assim, o problema que você está tendo é que o programa está falhando quando você tenta compilar id3V1Tag.m ou durante a execução do programa. Estou um pouco confuso sobre isso.

Se o seu bater durante a execução talvez este é um problema com um arquivo de código falta de uma biblioteca? Como você está lendo as informações ID3 tag exatamente? É através de seu próprio código ou através de uma biblioteca parte 3 / classe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top