小编Mar*_*man的帖子

如何跟踪扩展中的事件?

大多数iOS分析工具(flurry,new relics)使用标准的uiapplication委托方法批量,每分钟或在应用程序终止时上传事件.我还没有看到任何来自这些人的扩展(今天,照片......)的专用解决方案.您如何为ios8中的扩展分析做些什么?

ios8 apple-watch

10
推荐指数
1
解决办法
1761
查看次数

AVAudioPlayer和Simulator导致蓝牙耳机音频被占用

我不确定这个问题是否属于Ask Different或SO。两者都有。

最近,我带着工作用的耳机无线上网。我将Bose QC35连接到通过蓝牙运行macOS Sierra的MacBook Pro。在iTunes中听音乐的同时运行iOS Simulator时遇到一个奇怪的问题。启动我的应用程序后,它将使用AVAudioPlayer播放声音效果。播放声音的行为会导致iTunes停顿并开始播放当前曲目的不确定的0.5秒循环。我必须重新启动iTunes才能继续收听。您可以想象,在日常工作中会感到多么烦恼。

导致它的代码很简单:

import UIKit
import AVFoundation

var player : AVAudioPlayer! = nil

class ViewController: UIViewController, AVAudioPlayerDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
        let url = Bundle.main.url(forResource: "intro", withExtension: "m4a")
        do {
            player = try AVAudioPlayer.init(contentsOf: url!)
        }
        catch {
            return
        }

        player.prepareToPlay()
        player.delegate = self
        player.play() // This line causes the audio issue
    }
}
Run Code Online (Sandbox Code Playgroud)

重新启动iTunes使事情再次起作用。从那以后,我可以在应用程序中自由播放更多声音效果。该问题仅在应用启动后播放的第一个声音上发生。

有谁知道如何防止此问题的发生?

有关此问题的其他信息:

  • 它也在Objective-C中发生
  • 在iPhone和iPad模拟器中都是问题
  • Beats Studio Wireless也会发生这种情况,我认为所有其他的蓝牙耳机也是如此。
  • 在设备上运行应用程序不会触发问题
  • 如果在播放模拟器中的第一个音效时暂停iTunes,则可以继续收听而不会出现问题

objective-c avfoundation ios-simulator swift

5
推荐指数
0
解决办法
430
查看次数