【发布时间】:2010-03-12 09:11:41
【问题描述】:
我正在使用 Xcode 中的 ID3 框架(它已经从网络上消失了 - 包括谷歌缓存!)。
我正在测试一个导入 mp3 功能,该功能允许他们在导入标签时对其进行编辑。其中一个测试用例是没有正确 id3 标头的损坏或无效 mp3。我遇到的问题是,在更新无效 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");
}
}
【问题讨论】:
标签: objective-c cocoa xcode id3