문제

Xcode에서 ID3 프레임 워크로 작업하고 있습니다 (Google 캐시를 포함하여 웹의 얼굴에서 사라졌습니다!).

가져 오기 MP3 기능을 테스트하여 태그를 가져올 때 태그를 편집 할 수 있습니다. 테스트 사례 중 하나는 적절한 ID3 헤더가없는 손상되거나 유효하지 않은 MP3입니다. 내가 가진 문제는 유효하지 않은 mp3의 태그를 업데이트 할 때 (updateFile:), ID3 프레임 워크는 사용을 시도합니다 id3V1Tag.m (v2 태그를 찾을 수 없다면 이것으로 돌아온다 고 가정합니다.

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

릴리스 빌드 에서도이 프로그램이 충돌하므로 실제로 무시할 수있는 것이 아닙니다.

나는 그 주위에 시도/캐치 블록을 넣으려고 시도했지만 예외로 취급되지 않으므로 잡히지 않습니다. 파일에 대한 태그 데이터를로드하는 함수는 bool을 반환하지만 주어진 파일이 존재하지 않는 경우에만 거짓으로 반환되므로 도움이되지 않습니다.

현재 코드 :

[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");
    }
}
도움이 되었습니까?

해결책

오류는 Xcode가 디버깅 중에 표시하기 위해 소스 파일 ID3V1Tag.m을 찾으려고한다는 것입니다. 당신이 쓰는 코드는 이것에 영향을 미치지 않습니다.

프레임 워크 배포판에 id3v1tag.m 소스 파일이없는 경우, 이것에 대해 할 수있는 일이 거의 없으며, 그것을 무시할 수는 없지만 (설정하지 않는 것처럼 요청을 피할 수 있는지 보는 것 외에는 그것을 무시할 수는 없습니다. 그것의 중단 점은 그것에 들어서지 않고 충돌하지 않습니다).

당신이 그것을 가지고 있고 그것을 만들고 있다면, 당신은 아마도 올바른 디버그 정보로 빌드하지 않으므로 빌드 설정에 대해 자세히 알려 주어야합니다.

다른 팁

따라서 문제는 ID3v1tag.m을 컴파일하려고하거나 프로그램을 실행하는 동안 프로그램이 충돌하고 있다는 것입니다. 나는 그것에 대해 약간 혼란 스럽다.

실행 중에 충돌이 발생하면 이것이 라이브러리에서 누락 된 코드 파일에 문제가 있습니까? ID3 태그 정보를 정확히 어떻게 읽고 있습니까? 자신의 코드 또는 타사 도서관/클래스를 통해입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top