在某些情况下,当在我的 iOS 设备上显示 MPMediaPickerController 时,我没有在控制台中显示和记录任何结果,我发现许多 SQLite 错误以及“无法打开数据库文件”错误。我以前在 SQLite 工作过,我知道这个错误通常意味着数据库文件当前正在另一个线程和/或进程中使用。
问题是,问题充其量是间歇性的。它不会一直发生,我不确定这是否会最终发生有一个共同的主题。我很熟悉 SQLite 来理解这个问题,但是实际的数据库查询是“黑盒的”,所以我几乎无法控制它,而且我是 CoreMedia 和 MediaPlayer 框架的新手。以前有没有人看到过这种情况,如果是这样,他们是否设法找到解决问题的方法?
编辑:我用来实例化控制器的代码是这样的:
MPMediaPickerController* pickCont = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];
pickCont.allowsPickingMultipleItems = YES;
pickCont.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
pickCont.modalPresentationStyle = UIModalPresentationFullScreen;
pickCont.delegate = self;
[self presentModalViewController:pickCont animated:YES];