我正在开发一个使用 iPod 库播放一些歌曲的 iPhone 应用程序。我用下面的代码加载歌曲。问题是,在设备与 iTunes 同步后立即运行此代码时,会出现问题。显然 iPod Library 需要更新,而且需要一些时间。如果我在同步后立即进入 iPod 应用程序,我会看到一条消息说“正在更新库..”。如果我在发生这种情况时从我的应用程序中调用“[query items]”,我会得到一个空数组,表明库中没有歌曲。更新结束后一切正常。有没有办法解决这个问题?也许是一种检测更新何时结束的方法。我试图听所有的 NSNotifications,但更新完成时没有调用任何内容。
MPMediaQuery *query = [MPMediaQuery songsQuery];
// convert all items to abstracted media item
NSArray *items = [query items];
NSMutableArray *convertedItems = [[NSMutableArray alloc] initWithCapacity:[items count]];
for (MPMediaItem *item in items) {
REMediaItem *mediaItem = [[REMediaItem alloc] initWithMediaItem:item];
[convertedItems addObject:mediaItem];
[mediaItem release];
}
我希望有人能帮帮忙。
彼得