Ios 8.4 MPMediaPickerController 不再显示有声读物
Posted
技术标签:
【中文标题】Ios 8.4 MPMediaPickerController 不再显示有声读物【英文标题】:Ios 8.4 MPMediaPickerController no longer displays AudioBooks 【发布时间】:2015-09-16 16:42:35 【问题描述】:这个问题类似于关于 ios 8.4 播客的问题,我相信这可能是一个类似的问题,但会影响有声读物 - 因为有声读物在 8.4 中从音乐移至 iBooks,但它可能会有所不同。
在 iOS 8.4 之前,此代码允许我从手机中选择有声读物:
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAudioBook];
注意,这似乎也会影响播客。
在 8.4 和现在的 9.0 中,相同的代码现在会拉出一个空白页面。此外,还可以通过以下方式导入有声读物:
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAnyAudio];
但是,即使指定了 MPMediaTypeAnyAudio,也无法显示有声读物。我知道 Apple Music 是在 8.4 中发布的,而有声读物从核心音乐应用程序转移到了 iBooks 应用程序 - 所以我假设 Apple 完全重新设计了他们的 MPMediaPickerController。
不过,我在他们的变更日志中找不到任何关于此的内容。 MPMediaPickerController 的文档仍然指向一个媒体类型的枚举列表,其中明确包括有声读物 - https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMediaItem_ClassReference/index.html#//apple_ref/c/tdef/MPMediaType
是否不再可以使用 MPMediaPickerController 从手机中选择有声读物?
苹果在不更新文档的情况下删除了访问它的能力似乎很奇怪,我只是做错了什么吗,是否需要设置新的选项?
【问题讨论】:
【参考方案1】:是否不再可以使用 MPMediaPickerController 从手机中选择有声读物
是的,这已经不可能了。正如你所说的那样,从 iOS 8.4 开始,Apple 将有声读物的控制权转移到了 iBooks 应用程序。因此不再在音乐应用程序的范围内,因此它们不会出现在媒体选择器控制器中。
(这也破坏了我的应用程序。)
【讨论】:
很高兴能在苹果更改日志中看到一些内容来确认。但幸运的是 [MPMediaQuery audiobooksQuery] 仍然有效,而且创建自定义选择器并不太难。 “MPMediaQuery 有声读物查询” 更正-a-mundo。然而,这并不一定能解决你所有的问题;这取决于您的应用程序的功能。将有声读物从音乐播放器及其世界的范围中删除真的让我一团糟……以上是关于Ios 8.4 MPMediaPickerController 不再显示有声读物的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 8.4 中裁剪 UIImage 并发症 [重复]
MPMoviePlayerViewController 不为 IOS 8.4 播放视频
CLLocationManager startMonitoringForRegion 在 ios 8.4 上崩溃