无法识别的选择器发送到实例(iOS) - 自动WaitsToMinimiseStalling
Posted
技术标签:
【中文标题】无法识别的选择器发送到实例(iOS) - 自动WaitsToMinimiseStalling【英文标题】:Unrecognised selector sent to instance (iOS) - automaticallyWaitsToMinimiseStalling 【发布时间】:2017-07-12 17:51:16 【问题描述】:对目标 c 来说非常新鲜,我完全被下面的错误难住了。任何帮助或指导将不胜感激!
异常 '-[ReactPlayer setAutomaticallyWaitsToMinimizeStalling:]: unrecognized selector sent to instance 0x14e352500' 在使用参数调用目标 AudioPlayer 上的准备时抛出...
上下文:AVPlayer 的状态是不可靠的,所以播放器正在为实际的音频加载做准备。 player.automaticallyWaitsToMinimizeStalling 属性告诉 AVPlayer 立即播放,而不是等到它可以播放整个文件,所以我将其设置为 false 以尝试解决此问题。在模拟器上工作得很好,但是在 ios 设备上构建时我遇到了上面的错误。
涉及到如下代码:
if (player.currentItem.status == AVPlayerStatusReadyToPlay)
player.automaticallyWaitsToMinimizeStalling = NO;
callback(@[[NSNull null]]);
else
NSDictionary* dict = [Helpers errObjWithCode:@"preparefail"
withMessage:[NSString stringWithFormat:@"Preparing player failed"]];
if (player.autoDestroy)
[self destroyPlayerWithId:playerId];
callback(@[dict]);
【问题讨论】:
您的设备运行的是哪个 iOS 版本?该属性是在 iOS 10 中添加的。 是的,这就是问题所在,我在 iOS 9.3 上运行它。谢谢! 【参考方案1】:“无法识别的选择器”表示您正在调用不支持该方法的对象上的方法,在本例中为setAutomaticallyWaitsToMinimizeStalling
。你的player
对象是ReactPlayer
而不是AVPlayer
,我猜ReactPlayer
没有实现setAutomaticallyWaitsToMinimizeStalling
方法
【讨论】:
感谢您的回答彼得。事实证明,在 iOS 10 中添加了属性“AutomaticallyWaitsToMinimizeStalling”,而我运行的是 iOS 9.3,这导致了崩溃。以上是关于无法识别的选择器发送到实例(iOS) - 自动WaitsToMinimiseStalling的主要内容,如果未能解决你的问题,请参考以下文章
iOS Cocoa NSArrayI 长度]:发送到实例的无法识别的选择器
适用于 iOS 的 FBSDK:“发送到实例的无法识别的选择器”
ios [__NSCFNumber 长度]:发送到实例的无法识别的选择器