我在Xcode中(!它现在已经消失了的网络的面貌 - 包括谷歌缓存)的ID3框架内工作。

我测试了进口的MP3功能,这使得他们能够为它们导入编辑的标签。一个测试用例是一个已损坏或无效的MP3没有适当的ID3头。我遇到的问题是,更新无效MP3(updateFile:)的标签时,该ID3框架尝试使用id3V1Tag.m(我假设它回落到这一点,如果它不能找到V2标签),这是我在哪里得到的Xcode错误(同时运行的程序,而不是建立):

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

即使在发布版本这个崩溃的程序,所以它不是我真的可以忽略不计。

我试图把它周围的try / catch块,但它不被视为一个例外,因此不被逮住。该功能为文件返回一个布尔值,但它似乎如果给定的文件不存在,这只是返回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");
    }
}
有帮助吗?

解决方案

你得到的错误是,Xcode是试图定位,以便在调试过程中表现出来的源文件id3V1Tag.m。不,你写的代码会影响到这一点。

如果你没有在你的框架发行的id3V1Tag.m源文件,没有什么可以做这个,而且比看到,如果你能避免造成它被要求几乎没有做,但忽略它(其它,不喜欢在它设置一个断点,没有踏了进去,并在它没有崩溃)。

如果你有它,和正在建设它,那么也许你不正确的调试信息建设,所以你必须要告诉我们更多关于您的构建设置。

其他提示

所以,你遇到的问题是,当你尝试编译id3V1Tag.m或运行程序时,程序发生崩溃。我上有点混乱。

如果在运行它的崩溃也许这是一个代码文件从库中缺少一个问题是什么?你是如何读取ID3标签信息的到底是什么?它是通过自己的代码,或通过第三方库/类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top