可以在 MPMediaPickerController 中禁用搜索吗?

Posted

技术标签:

【中文标题】可以在 MPMediaPickerController 中禁用搜索吗?【英文标题】:Possible to disable Search in MPMediaPickerController? 【发布时间】:2015-08-22 23:02:24 【问题描述】:

使用 MPMediaPickerController 的实例将歌曲作为背景音乐抓取到我正在制作的应用程序中。效果很好,但是每当使用 MediaPicker 中的搜索功能时,每次打开它都会导致其呈现滞后。 (延迟通过关闭/重新启动应用程序持续存在,只有重新启动手机才能将其删除)。每次显示 MediaPicker 时都会打印以下错误消息:

<MPRemoteMediaPickerController: 0x15c1fe00> timed out waiting for fence barrier from com.apple.MusicUIService

我可以滚动浏览/选择歌曲没问题,但是一旦输入搜索查询,演示期间的延迟就会开始。

呈现视图控制器的代码:

rootView?.presentViewController(picker, animated: true, completion:  () -> Void in
    picker = nil
)

rootView 是当前视图的(一个 SKScene)ViewController,我使用它来呈现 MPMediaPicker 并充当委托。无法绕过这个错误,所以很好奇是否可以完全删除搜索栏。

【问题讨论】:

【参考方案1】:

所以很好奇是否可以完全删除搜索栏

根本不可能自定义 MPMediaPickerController。如果它正在做一些麻烦的事情,请提交错误报告。

不过,我有两个积极的建议:

将选择器的showsCloudItems 设置为false

听起来您只使用了 一个 媒体选择器控制器实例。不要那样做。每次召唤时都将实例重新创建为新的媒体选择器控制器。

【讨论】:

这令人沮丧,是的,我刚刚提交了一份。并感谢您的建议!但是已经使这两个都生效了。不显示云项,每次调用触发演示的方法时,我都会实例化一个新的选取器控制器。

以上是关于可以在 MPMediaPickerController 中禁用搜索吗?的主要内容,如果未能解决你的问题,请参考以下文章

WMI证书在哪里可以查到

egret 在web中可以不可以把多余的js删了

我在哪里可以找到可以在 Powershell 中创建的所有 COM 对象?

什么是网页的HTML,在哪里可以看到?

我在哪里可以在 macOS 上运行 MDX 查询?

ASP在Scripting.Dictionary对象可以用来做啥