大多数iOS分析工具(flurry,new relics)使用标准的uiapplication委托方法批量,每分钟或在应用程序终止时上传事件.我还没有看到任何来自这些人的扩展(今天,照片......)的专用解决方案.您如何为ios8中的扩展分析做些什么?
我不确定这个问题是否属于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使事情再次起作用。从那以后,我可以在应用程序中自由播放更多声音效果。该问题仅在应用启动后播放的第一个声音上发生。
有谁知道如何防止此问题的发生?