gpt4 book ai didi

ios - NSOperationQueue Heisenbug?

转载 作者:行者123 更新时间:2023-11-29 12:51:01 27 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序从使用 performSelectorInBackground 启动的单独线程中的循环调用 AudioServicesPlayAlertSound(kSystemSoundID_Vibrate)。出于某种原因,只有当整个应用程序在后台运行时,该应用程序才会可靠地振动。我尝试从发送到主 NSOperationQueue 的 block 调用振动函数,但它仍然仅在后台时保持一致。当然,除非我在操作 block 中调用 NSLog():

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@"VIBRATING");
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
}];

通过 NSLog 调用,无论在何处运行,它都会按预期运行。

知道这是为什么吗?非常感谢所有建议

最佳答案

AudioServicesPlayAlertSound 的头文件说明

Play the provided SystemSoundID with AlertSound behavior.

我可以想象,当应用程序被认为处于事件状态且位于最前面时,它根本无法播放。也许尝试使用 AudioServicesPlaySystemSound 代替?

关于ios - NSOperationQueue Heisenbug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22427340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com